[gem5-dev] Cron /z/m5/regression/do-regression quick
* build/ALPHA/tests/opt/quick/se/00.hello/alpha/linux/simple-timing-ruby: FAILED! * build/ALPHA/tests/opt/quick/fs/10.linux-boot/alpha/linux/tsunami-simple-timing-dual: FAILED! * build/ALPHA/tests/opt/quick/fs/80.netperf-stream/alpha/linux/twosys-tsunami-simple-atomic: FAILED! * build/ALPHA/tests/opt/quick/fs/10.linux-boot/alpha/linux/tsunami-simple-atomic: FAILED! * build/ALPHA/tests/opt/quick/se/03.learning-gem5/alpha/linux/learning-gem5-p1-two-level: FAILED! * build/ALPHA/tests/opt/quick/fs/10.linux-boot/alpha/linux/tsunami-simple-timing: FAILED! * build/ALPHA/tests/opt/quick/fs/10.linux-boot/alpha/linux/tsunami-simple-atomic-dual: FAILED! * build/ALPHA/tests/opt/quick/se/00.hello/alpha/linux/simple-timing: FAILED! * build/ALPHA/tests/opt/quick/se/01.hello-2T-smt/alpha/linux/o3-timing-mt: FAILED! * build/ALPHA/tests/opt/quick/se/00.hello/alpha/linux/simple-atomic: FAILED! * build/ALPHA/tests/opt/quick/se/03.learning-gem5/alpha/linux/learning-gem5-p1-simple: FAILED! * build/ALPHA/tests/opt/quick/se/00.hello/alpha/linux/minor-timing: FAILED! * build/ALPHA/tests/opt/quick/se/50.memtest/alpha/linux/memtest-ruby: FAILED! * build/ALPHA/tests/opt/quick/se/00.hello/alpha/linux/o3-timing: FAILED! * build/MIPS/tests/opt/quick/se/00.hello/mips/linux/simple-timing: FAILED! * build/MIPS/tests/opt/quick/se/00.hello/mips/linux/o3-timing: FAILED! * build/MIPS/tests/opt/quick/se/00.hello/mips/linux/simple-timing-ruby: FAILED! * build/MIPS/tests/opt/quick/se/03.learning-gem5/mips/linux/learning-gem5-p1-two-level: FAILED! * build/MIPS/tests/opt/quick/se/00.hello/mips/linux/simple-atomic: FAILED! * build/MIPS/tests/opt/quick/se/03.learning-gem5/mips/linux/learning-gem5-p1-simple: FAILED! * build/NULL/tests/opt/quick/se/50.memtest/null/none/memtest: FAILED! * build/NULL/tests/opt/quick/se/51.memcheck/null/none/memcheck: FAILED! * build/NULL/tests/opt/quick/se/70.tgen/null/none/tgen-dram-ctrl: FAILED! * build/NULL/tests/opt/quick/se/80.dram-openpage/null/none/dram-lowp: FAILED! * build/NULL/tests/opt/quick/se/60.rubytest/null/none/rubytest-ruby: FAILED! * build/NULL/tests/opt/quick/se/80.dram-closepage/null/none/dram-lowp: FAILED! * build/NULL/tests/opt/quick/se/50.memtest/null/none/memtest-filter: FAILED! * build/NULL/tests/opt/quick/se/70.tgen/null/none/tgen-simple-mem: FAILED! * build/NULL_MOESI_hammer/tests/opt/quick/se/60.rubytest/null/none/rubytest-ruby-MOESI_hammer: FAILED! * build/NULL_MESI_Two_Level/tests/opt/quick/se/60.rubytest/null/none/rubytest-ruby-MESI_Two_Level: FAILED! * build/NULL_MOESI_CMP_directory/tests/opt/quick/se/60.rubytest/null/none/rubytest-ruby-MOESI_CMP_directory: FAILED! * build/NULL_MOESI_CMP_token/tests/opt/quick/se/60.rubytest/null/none/rubytest-ruby-MOESI_CMP_token: FAILED! * build/POWER/tests/opt/quick/se/00.hello/power/linux/simple-atomic: FAILED! * build/POWER/tests/opt/quick/se/00.hello/power/linux/o3-timing: FAILED! * build/SPARC/tests/opt/quick/se/70.twolf/sparc/linux/simple-timing: FAILED! * build/SPARC/tests/opt/quick/se/02.insttest/sparc/linux/simple-timing: FAILED! * build/SPARC/tests/opt/quick/se/50.vortex/sparc/linux/simple-atomic: FAILED! * build/SPARC/tests/opt/quick/se/70.twolf/sparc/linux/simple-atomic: FAILED! * build/SPARC/tests/opt/quick/se/50.vortex/sparc/linux/simple-timing: FAILED! * build/SPARC/tests/opt/quick/se/00.hello/sparc/linux/simple-timing-ruby: FAILED! * build/SPARC/tests/opt/quick/se/40.m5threads-test-atomic/sparc/linux/o3-timing-mp: FAILED! * build/SPARC/tests/opt/quick/se/03.learning-gem5/sparc/linux/learning-gem5-p1-two-level: FAILED! * build/SPARC/tests/opt/quick/se/40.m5threads-test-atomic/sparc/linux/simple-atomic-mp: FAILED! * build/SPARC/tests/opt/quick/se/10.mcf/sparc/linux/simple-atomic: FAILED! * build/SPARC/tests/opt/quick/se/40.m5threads-test-atomic/sparc/linux/simple-timing-mp: FAILED! * build/SPARC/tests/opt/quick/se/02.insttest/sparc/linux/simple-atomic: FAILED! * build/SPARC/tests/opt/quick/se/02.insttest/sparc/linux/o3-timing: FAILED! * build/SPARC/tests/opt/quick/se/00.hello/sparc/linux/simple-atomic: FAILED! * build/SPARC/tests/opt/quick/se/03.learning-gem5/sparc/linux/learning-gem5-p1-simple: FAILED! * build/SPARC/tests/opt/quick/se/00.hello/sparc/linux/simple-timing: FAILED! * build/X86/tests/opt/quick/fs/10.linux-boot/x86/linux/pc-simple-atomic: FAILED! * build/X86/tests/opt/quick/fs/10.linux-boot/x86/linux/pc-simple-timing: FAILED! * build/X86/tests/opt/quick/se/00.hello/x86/linux/o3-timing: FAILED! * build/X86/tests/opt/quick/se/00.hello/x86/linux/simple-timing: FAILED! * build/X86/tests/opt/quick/se/03.learning-gem5/x86/linux/learning-gem5-p1-two-level: FAILED! * build/X86/tests/opt/quick/se/70.twolf/x86/linux/simple-timing: FAILED! *
Re: [gem5-dev] assert and verification errors for: SVE STREAM with DerivO3 + Ruby (MOESI_hammer)
Hi Ciro, and thanks again for the help. This patch (https://gem5-review.googlesource.com/c/public/gem5/+/19173) indeed fixes the assert error. (gem5.opt: build/ARM/mem/packet.hh:1093: T* Packet::getPtr() [with T = unsigned char]: Assertion `!isMaskedWrite()' failed.). Unfortunately it does not seem to resolve B) SVE+OMP+atomicity problem. Best Regards, Polydoros On 11/20/19 7:33 PM, Polydoros Petrakis wrote: Hi Siro, and thank you for all the help. Yes, this also happens without Ruby (it was written further down in my e-mail), but I have tested few non-Ruby systems so far (so wasn't 100% sure). I will try to apply this patch as soon as possible, and will let you know of the results. Best Regards, Polydoros On 11/20/19 5:09 PM, Ciro Santilli wrote: Hi Polydoros, There is a pending SVE O3 fix at: https://gem5-review.googlesource.com/c/public/gem5/+/19173 could you try with that fix to see if it works? I believe that the fix is not Ruby specific, but maybe the problem only happens in Ruby by coincidence. We need to make some improvements to the patch before merging, but it could already help. On 11/18/19 6:00 PM, Polydoros Petrakis wrote: Hi all, I would like to report the following two findings in regard to ARM SVE + Ruby + FS/SE: A) When trying to run C STREAM benchmark v5.10 (https://www.cs.virginia.edu/stream/FTP/Code/stream.c), compiled for ARM SVE, I get the following assert error: *gem5.opt: build/ARM/mem/packet.hh:1093: T* Packet::getPtr() [with T = unsigned char]: Assertion `!isMaskedWrite()' failed.* I have tried with both gcc/armclang: a) aarch64-linux-gnu-gcc (GNU Toolchain for the A-profile Architecture 8.2-2019.01 (arm-rel-8.28)) 8.2.1 20180802 e.g.: aarch64-linux-gnu-gcc -Ofast --static *-march=armv8.2-a+sve*-DNTIMES=5 -DSTREAM_ARRAY_SIZE=20 -I../gem5/include/ -I../gem5/include/gem5 stream.c -L./ -o sve_stream.exe -lm5 b) armclang (arm-hpc-compiler/19.3) Stream runs OK, in the following 3 cases: a) build without SVE flags b) When I comment out the assert(But this could lead to errors ?) c) Without Ruby/NoC (But we are currently interested in Ruby-NoC Systems). The complete output is the following: command line: ./build/ARM/gem5.opt --outdir=m5out/batch502_0001 configs/example/se.py --cpu-type=DerivO3CPU --caches --num-cpus=4 --num-dirs=4 --l2cache --mem-type=DDR4_2400_8x8 --num-l2caches=4 --mem-size=2GB --ruby --topology=Mesh_XY --mesh-rows=2 --network=garnet2.0 -c sve_stream.exe Global frequency set at 1 ticks per second warn: DRAM device capacity (16384 Mbytes) does not match the address range assigned (512 Mbytes) warn: DRAM device capacity (16384 Mbytes) does not match the address range assigned (512 Mbytes) warn: DRAM device capacity (16384 Mbytes) does not match the address range assigned (512 Mbytes) warn: DRAM device capacity (16384 Mbytes) does not match the address range assigned (512 Mbytes) 0: system.remote_gdb: listening for remote gdb on port 7004 0: system.remote_gdb: listening for remote gdb on port 7005 0: system.remote_gdb: listening for remote gdb on port 7006 0: system.remote_gdb: listening for remote gdb on port 7007 REAL SIMULATION info: Entering event queue @ 0. Starting simulation... warn: Replacement policy updates recently became the responsibility of SLICC state machines. Make sure to setMRU() near callbacks in .sm files! info: Increasing stack size by one page. gem5.opt: build/ARM/mem/packet.hh:1093: T* Packet::getPtr() [with T = unsigned char]: Assertion `!isMaskedWrite()' failed. Program aborted at tick 24589000 --- BEGIN LIBC BACKTRACE --- ./build/ARM/gem5.opt(_Z15print_backtracev+0x19)[0x55976cece499] ./build/ARM/gem5.opt(_Z12abortHandleri+0x3d)[0x55976cee013d] /lib/x86_64-linux-gnu/libpthread.so.0(+0x12730)[0x7f12b2d18730] /lib/x86_64-linux-gnu/libc.so.6(gsignal+0x10b)[0x7f12b1b0a7bb] /lib/x86_64-linux-gnu/libc.so.6(abort+0x121)[0x7f12b1af5535] /lib/x86_64-linux-gnu/libc.so.6(+0x2240f)[0x7f12b1af540f] /lib/x86_64-linux-gnu/libc.so.6(+0x30102)[0x7f12b1b03102] ./build/ARM/gem5.opt(_ZN9Sequencer12issueRequestEP6Packet15RubyRequestType+0x5e9)[0x55976c2c2119] ./build/ARM/gem5.opt(_ZN9Sequencer11makeRequestEP6Packet+0x203)[0x55976c2c2513] ./build/ARM/gem5.opt(_ZN8RubyPort12MemSlavePort13recvTimingReqEP6Packet+0x37f)[0x55976c2b299f] ./build/ARM/gem5.opt(_ZN7LSQUnitI9O3CPUImplE13trySendPacketEbP6Packet+0xd8)[0x55976d3e0c58] ./build/ARM/gem5.opt(_ZN3LSQI9O3CPUImplE16SplitDataRequest17sendPacketToCacheEv+0x6c)[0x55976d3d7f3c] ./build/ARM/gem5.opt(_ZN7LSQUnitI9O3CPUImplE15writebackStoresEv+0x862)[0x55976d3e7992] ./build/ARM/gem5.opt(_ZN3LSQI9O3CPUImplE15writebackStoresEv+0x84)[0x55976d3de564] ./build/ARM/gem5.opt(_ZN10DefaultIEWI9O3CPUImplE4tickEv+0x144)[0x55976d3ca994] ./build/ARM/gem5.opt(_ZN9FullO3CPUI9O3CPUImplE4tickEv+0x137)[0x55976d39f0b7] ./build/ARM/gem5.opt(_ZN10EventQueue10serviceOneEv+0xd9)[0x55976ced62e9]
[gem5-dev] Change in gem5/gem5[master]: arch-riscv: Fix bug in serialize and unserialize of Interrutps
Ian Jiang has submitted this change. ( https://gem5-review.googlesource.com/c/public/gem5/+/22643 ) Change subject: arch-riscv: Fix bug in serialize and unserialize of Interrutps .. arch-riscv: Fix bug in serialize and unserialize of Interrutps When serialize and unserialize an variable, the parameters passed to SERIALIZE_SCALAR() and UNSERIALIZE_SCALAR() must be the same and should be a general variable name. If not, the expected item would not be found with UNSERIALIZE_SCALAR() and a fatal error would be introduced. This patch fix the bug in class Interrupts of RISCV. Change-Id: I7dd7ab6805651149304959bdf7ee9f3be9d9eaff Signed-off-by: Ian Jiang Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/22643 Tested-by: kokoro Reviewed-by: Alec Roelke Maintainer: Alec Roelke --- M src/arch/riscv/interrupts.hh 1 file changed, 10 insertions(+), 7 deletions(-) Approvals: Alec Roelke: Looks good to me, approved; Looks good to me, approved kokoro: Regressions pass diff --git a/src/arch/riscv/interrupts.hh b/src/arch/riscv/interrupts.hh index 509b483..77079e1 100644 --- a/src/arch/riscv/interrupts.hh +++ b/src/arch/riscv/interrupts.hh @@ -134,18 +134,21 @@ void serialize(CheckpointOut ) const { -SERIALIZE_SCALAR(ip.to_ulong()); -SERIALIZE_SCALAR(ie.to_ulong()); +unsigned long ip_ulong = ip.to_ulong(); +unsigned long ie_ulong = ie.to_ulong(); +SERIALIZE_SCALAR(ip_ulong); +SERIALIZE_SCALAR(ie_ulong); } void unserialize(CheckpointIn ) { -long reg; -UNSERIALIZE_SCALAR(reg); -ip = reg; -UNSERIALIZE_SCALAR(reg); -ie = reg; +unsigned long ip_ulong; +unsigned long ie_ulong; +UNSERIALIZE_SCALAR(ip_ulong); +ip = ip_ulong; +UNSERIALIZE_SCALAR(ie_ulong); +ie = ie_ulong; } }; -- To view, visit https://gem5-review.googlesource.com/c/public/gem5/+/22643 To unsubscribe, or for help writing mail filters, visit https://gem5-review.googlesource.com/settings Gerrit-Project: public/gem5 Gerrit-Branch: master Gerrit-Change-Id: I7dd7ab6805651149304959bdf7ee9f3be9d9eaff Gerrit-Change-Number: 22643 Gerrit-PatchSet: 5 Gerrit-Owner: Ian Jiang Gerrit-Reviewer: Alec Roelke Gerrit-Reviewer: Gabe Black Gerrit-Reviewer: Ian Jiang Gerrit-Reviewer: kokoro Gerrit-MessageType: merged ___ gem5-dev mailing list gem5-dev@gem5.org http://m5sim.org/mailman/listinfo/gem5-dev