On Thu, Apr 19, 2018 at 10:20 PM, Bryce Patel <bry...@andrew.cmu.edu> wrote: > Thanks for these links, I will look through them for help. The -r option > indicates the checkpoint number that I want to restore, right? I have been > using --restore=mtout/cpt.TICKNUMBER but I imagine -r will work similarly. > Also, I am not sure what you mean by the "m5 guest tool". My understanding > is the guest the simulated machine but what are the guest tools? >
There is a C program called m5 that can be cross compiled into an executable to be called inside the guest. The m5 tool then serves as a command line wrapper for the m5ops, which is a nice interactive way to play around with them. It could be considered a canonical m5ops example: https://github.com/gem5/gem5/blob/b11a6d508c618b33f8626afc6742773cbb293f66/util/m5/m5.c The tradeoff is that you lose precision, since it goes through a syscall. > Thanks. Bryce Patel > > On Thu, Apr 19, 2018 at 1:08 PM, Ciro Santilli <ciro.santi...@gmail.com> > wrote: >> >> On Thu, Apr 19, 2018 at 5:03 PM, Bryce Patel <bry...@andrew.cmu.edu> >> wrote: >> > Hello, >> > >> > I am very new to GEM5 and I am wondering how best to simulate thread >> > migration on an asymmetric multicore system. I was thinking I could take >> > a >> > checkpoint partway through execution using the checkpoint m5op, then use >> > the >> > switchcpu m5op, and then restore the checkpoints on another CPU. My >> > understanding is I would include these m5ops in the source code of the >> > application I'm using. Does this sound correct, or am I misunderstanding >> > how >> > to use m5ops? >> > >> > Also, do you know of any example code that uses m5ops that I could use >> > for >> > reference? >> > >> >> Parsec checkpoint example: >> >> https://github.com/arm-university/arm-gem5-rsk/blob/aa3b51b175a0f3b6e75c9c856092ae0c8f2a7cdc/parsec_patches/xcompile-patch.diff#L188 >> >> Some fs.py gotchas: >> >> https://stackoverflow.com/questions/49011096/how-to-switch-cpu-models-in-gem5-after-restoring-a-checkpoint-and-then-observe-t/49673265#49673265 >> >> I first recommend that you first play a bit with the "m5 checkpoint" >> on the m5 guest tool + the fs.py -r option, example: >> >> https://github.com/cirosantilli/linux-kernel-module-cheat/tree/2852fe1989a6f1ab546e9a4fa88724423b3949f5#gem5-checkpoint >> >> > Thanks, Bryce Patel >> > >> > _______________________________________________ >> > gem5-users mailing list >> > gem5-users@gem5.org >> > http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users >> _______________________________________________ >> gem5-users mailing list >> gem5-users@gem5.org >> http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users > > > > _______________________________________________ > gem5-users mailing list > gem5-users@gem5.org > http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users _______________________________________________ gem5-users mailing list gem5-users@gem5.org http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users