Hi Andreas S,

Does this reversion mean we re-introduce the "early termination" bug?

Best,
Rio Xiangyu

-----Original Message-----
From: [email protected] [mailto:[email protected]] On Behalf
Of Andreas Sandberg
Sent: Tuesday, June 11, 2013 12:33 AM
To: [email protected]
Subject: [gem5-dev] changeset in gem5: sim: Revert [34e3295b0e39] (sim: Fix
early te...

changeset 4e1f22617336 in /z/repo/gem5
details: http://repo.gem5.org/gem5?cmd=changeset;node=4e1f22617336
description:
        sim: Revert [34e3295b0e39] (sim: Fix early termination in mult...)

        HG changset 34e3295b0e39 introduced a check in the main simulation
        loop that discards exit events that happen at the same tick as
another
        exit event. This was supposed to fix a problem where a simulation
        script got confused by multiple exit events. This obviously breaks
the
        simulator since it can hide important simulation events, such as a
        simulation failure, that happen at the same time as a non-fatal
        simulation event.

diffstat:

 src/sim/simulate.cc |  14 --------------
 1 files changed, 0 insertions(+), 14 deletions(-)

diffs (31 lines):

diff -r cffb82b745cf -r 4e1f22617336 src/sim/simulate.cc
--- a/src/sim/simulate.cc       Tue Jun 11 09:18:25 2013 +0200
+++ b/src/sim/simulate.cc       Tue Jun 11 09:24:10 2013 +0200
@@ -44,10 +44,6 @@
  * terminate the loop.  Exported to Python via SWIG.
  * @return The SimLoopExitEvent that caused the loop to exit.
  */
-
-// record the clock cycle for last exit event -Tick lastExitTick = 0;
-
 SimLoopExitEvent *
 simulate(Tick num_cycles)
 {
@@ -71,16 +67,6 @@
 
         Event *exit_event = mainEventQueue.serviceOne();
         if (exit_event != NULL) {
-            /*
-             * if there are multiple exit events in the same cycle, drain
the
-             * following exit events since gem5 only allows one * exit
event in
-             * a cycle
-             */
-            if (lastExitTick == curTick())
-                continue;
-            else
-                lastExitTick = curTick();
-
             // hit some kind of exit event; return to Python
             // event must be subclass of SimLoopExitEvent...
             SimLoopExitEvent *se_event;
_______________________________________________
gem5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/gem5-dev

_______________________________________________
gem5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/gem5-dev

Reply via email to