First of all, thanks for the help! as I mentioned before, this is a starting point for me for linux,python and gem5 combined so even the most trivial things might take me some time to figure out, I know this isnt optimal for problem solving so I apologize in advance.
As for the command line I used, I tried to run it this way: build/RISCV/gem5.opt configs/example/se2.py --num-cpus=2 --cpu-type=TimingSimpleCPU --caches --cmd='tests/test-progs/hello/bin/riscv/linux/hello';'tests/test-progs/hello/bin/riscv/linux/hello' but it seems this line did not assign workloads to all the cpus correctly as I was only getting one "hello world" output and can be confirmed by looking at the stats.txt output file to see that cpu1 did not execute any instructions. So until I get a better understanding of the optparse python module and the Options.py script I made a little change in se.py to assign the workloads the way I expected it to, basically instead of using the "get_processes" method, I am using these line: numThreads = 1 multiprocesses=[Process(cmd = 'tests/test-progs/hello/bin/riscv/linux/hello', pid = 100 + i) for i in xrange(options.num_cpus)] and with this modified script, this is the command line im using: build/RISCV/gem5.opt configs/example/se.py --num-cpus=8 --cpu-type=TimingSimpleCPU --caches It seems this is where my problem is originating like Jason suspects since I tried running a different binary on each core, using a simple test.c code that I compiled using a risc-v cross compiler instead of using multiple copies of the hello binary and it initially seems like that solved the issue though I still did not test this completely. I will try to follow Jason's suggestions to track down to problem and will keep you posted if I find anything. Thanks, Amir. בתאריך יום ה׳, 6 בדצמ׳ 2018 ב-4:11 מאת Alec Roelke <[email protected] >: > Would you mind posting the exact command you used to run se.py? I should > have some time in the next couple of days to look into this. > > Also, you may want to try applying this patch series, which changes the > behavior of LR/SC and the AMO instructions to work better: > https://gem5-review.googlesource.com/c/public/gem5/+/8188/7. I think > you'll only need that one and the three above it. I don't think they've > been updated in a while, so they may not apply cleanly, but they may fix > your problem. > > On Wed, Dec 5, 2018 at 10:39 AM Jason Lowe-Power <[email protected]> > wrote: > >> Hi Amir, >> >> The warning is coming from here: >> https://gem5.googlesource.com/public/gem5/+/master/src/arch/riscv/locked_mem.hh#118 >> (BTW, it's always helpful to grep for the warning or panic in the code to >> see what generates it.) >> >> I think this is a bug in RISC-V SE mode, but I'm not sure exactly what >> the problem is. You're running multiple copies of the hello binary. I could >> be that they are all using the same physical address for some reason >> (though, this shouldn't be the case). I would try running with the Exec >> flag to see what instruction is causing this problem (and stop running >> after 186707000 ticks, too, so the log doesn't get too long). >> >> Let us know if you track down the issue. >> >> Cheers, >> Jason >> >> On Tue, Dec 4, 2018 at 8:19 AM Amir Lampel <[email protected]> wrote: >> >>> Hello everyone, >>> >>> I have already posted this question on stack overflow here: >>> >>> https://stackoverflow.com/questions/53591189/consecutive-sc-failures-on-gem5-simple-config-script >>> and I'm following a suggestion I got there to send my issue here. >>> >>> I just started working with gem5 a few weeks ago and I tried to expand >>> on the "two-level.py" and "simple.py" scripts found in the learning-gem5 >>> book by Jason in a way that will add more cores to the system to make it a >>> simple multi-core classic memory configuration with riscv cores. >>> >>> I am running into a problem when I run a se simulation where a looping >>> warning message stating: >>> "warn: 186707000: context 0: 10000 consecutive SC failures." is >>> incremented by 10000 each iteration is preventing my simulation from >>> running. I tried to search the web and the wiki site for an explanation on >>> this warning but I could not find anything helpful. >>> >>> I tried looking in the default configuration script "se.py" to see how >>> it is implemented there and I could not see what I am doing differently in >>> my script (apart from being a very dumbed down version) moreover I noticed >>> the same problem occurs when I raise the number of cpu's above 8 even when >>> running with the default gem5 se.py configuration script. >>> *note: all of the configuration scripts are running using the "hello >>> world" binary >>> >>> What is causing this warning message and how do I avoid it? >>> >>> this is my code: >>> https://pastebin.com/NgZXk1Py >>> >>> running using this command line: >>> build/RISCV/gem5.opt configs/testing_configs/riscv_multicore.py >>> >>> Help will be appreciated. >>> Thanks, >>> Amir. >>> _______________________________________________ >>> gem5-users mailing list >>> [email protected] >>> http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users >> >> _______________________________________________ >> gem5-users mailing list >> [email protected] >> http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users > > _______________________________________________ > gem5-users mailing list > [email protected] > http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
_______________________________________________ gem5-users mailing list [email protected] http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
