Hi,

I wanted to ask if there is a way to make full-system runs deterministic. I 
tried running with faketime set at a fixed date and time (to possibly trick any 
rng seeds) but that doesn't help.

The reason I'm asking is because of the following situation I run into. I have 
a modified gem5 and when I run the memtest.py config with gem5.opt, I get a 
write/read mismatch at a certain point. When I rerun with debug flags on, the 
mismatch doesn't occur (or occurs earlier/later). I also tried the following:

Let's say the mismatch is caught at tick 1000 (for demonstrative purposes). If 
I run...

./build/X86/gem5.opt -re --silent-redirect -d "test" configs/example/memtest.py 
-f 0 -c 2:1:1:1 -t 2:1:1:1:3

...or...

./build/X86/gem5.opt -re --silent-redirect -d "test" 
--debug-flags=CacheAll,MemTest --debug-file=dbg --debug-start=5000 
configs/example/memtest.py -f 0 -c 2:1:1:1 -t 2:1:1:1:3

...I get a mismatch at tick 1000 (before tracing starts in the second case). If 
I run...

./build/X86/gem5.opt -re --silent-redirect -d "test" 
--debug-flags=CacheAll,MemTest --debug-file=dbg --debug-start=600 
configs/example/memtest.py -f 0 -c 2:1:1:1 -t 2:1:1:1:3

...I don't get a mismatch at tick 1000 and the simulation continues past that 
point (and might find a different mismatch afterwards).

So is there any way to make a run completely deterministic so these differences 
don't occur? That way I can run gem5 quickly without tracing until I hit a 
mismatch, then rerun with tracing enabled right before that point. Thanks a lot 
for your help.

Best,
Hossam
_______________________________________________
gem5-users mailing list -- gem5-users@gem5.org
To unsubscribe send an email to gem5-users-le...@gem5.org

Reply via email to