----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: http://reviews.gem5.org/r/1607/#review3883 -----------------------------------------------------------
Ship it! Finally got a chance to test this out with the latest gem5 and our internal patches at UW. I verified that this fixes CPU switchover (by always calling drain within switchCpus) in the event that the memory mode doesn't change (e.g. the prior Ruby checkpoint restore method). Also supported in the latest gem5 is checkpoint restore directly from a TimingSimpleCPU into DerivO3CPUs. Thanks guys! - Joel Hestness On Jan. 7, 2013, 11:31 a.m., Ali Saidi wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > http://reviews.gem5.org/r/1607/ > ----------------------------------------------------------- > > (Updated Jan. 7, 2013, 11:31 a.m.) > > > Review request for Default. > > > Description > ------- > > Changeset 9456:49f2f54ed9ba > --------------------------- > config: Move CPU handover logic to m5.switchCpus() > > CPU switching consists of the following steps: > 1. Drain the system > 2. Switch out old CPUs (cpu.switchOut()) > 3. Change the system timing mode to the mode the new CPUs require > 4. Flush caches if switching to hardware virtualization > 5. Inform new CPUs of the handover (cpu.takeOverFrom()) > 6. Resume the system > > m5.switchCpus() previously only did step 2 & 5. Since information > about the new processors' memory system requirements is now exposed, > do all of the steps above. > > This patch adds automatic memory system switching and flush (if > needed) to switchCpus(). Additionally, it adds optional draining to > switchCpus(). This has the following implications: > > * changeToTiming and changeToAtomic are no longer needed, so they have > been removed. > > * changeMemoryMode is only used internally, so it is has been renamed > to be private. > > * switchCpus requires a reference to the system containing the CPUs as > its first parameter. > > WARNING: This changeset breaks compatibility with existing > configuration scripts since it changes the signature of > m5.switchCpus(). > > > Diffs > ----- > > configs/common/Simulation.py 56610ab73040 > src/python/m5/simulate.py 56610ab73040 > tests/configs/switcheroo.py 56610ab73040 > > Diff: http://reviews.gem5.org/r/1607/diff/ > > > Testing > ------- > > > Thanks, > > Ali Saidi > > _______________________________________________ gem5-dev mailing list [email protected] http://m5sim.org/mailman/listinfo/gem5-dev
