changeset 4f54b0f229b5 in /z/repo/gem5
details: http://repo.gem5.org/gem5?cmd=changeset;node=4f54b0f229b5
description:
        Standard Switch: Drain the system before switching CPUs
        When switching from an atomic CPU to any of the timing CPUs, a drain is
        unnecessary since no events are scheduled in atomic mode. However, when
        trying to switch CPUs starting with a timing CPU, there may be events
        scheduled. This change ensures that all events are drained from the 
system
        by calling m5.drain before switching CPUs.

diffstat:

 configs/common/Simulation.py |  3 ++-
 src/python/m5/simulate.py    |  1 -
 2 files changed, 2 insertions(+), 2 deletions(-)

diffs (31 lines):

diff -r 37e6eb40cf91 -r 4f54b0f229b5 configs/common/Simulation.py
--- a/configs/common/Simulation.py      Wed Sep 12 21:40:28 2012 -0500
+++ b/configs/common/Simulation.py      Wed Sep 12 21:41:37 2012 -0500
@@ -453,6 +453,7 @@
         # manually.  You DON'T need to resume after just switching
         # CPUs if you haven't changed anything on the system level.
 
+        m5.doDrain(testsys)
         m5.changeToTiming(testsys)
         m5.switchCpus(switch_cpu_list)
         m5.resume(testsys)
@@ -469,7 +470,7 @@
             print "Switching CPUS @ tick %s" % (m5.curTick())
             print "Simulation ends instruction count:%d" % \
                     (testsys.switch_cpus_1[0].max_insts_any_thread)
-            m5.drain(testsys)
+            m5.doDrain(testsys)
             m5.switchCpus(switch_cpu_list1)
             m5.resume(testsys)
 
diff -r 37e6eb40cf91 -r 4f54b0f229b5 src/python/m5/simulate.py
--- a/src/python/m5/simulate.py Wed Sep 12 21:40:28 2012 -0500
+++ b/src/python/m5/simulate.py Wed Sep 12 21:41:37 2012 -0500
@@ -203,7 +203,6 @@
               (type(system), objects.Root, objects.System)
 
     if system.getMemoryMode() != objects.params.timing:
-        doDrain(system)
         print "Changing memory mode to timing"
         for obj in system.descendants():
             obj.changeTiming(objects.params.timing)
_______________________________________________
gem5-dev mailing list
gem5-dev@gem5.org
http://m5sim.org/mailman/listinfo/gem5-dev

Reply via email to