summaryrefslogtreecommitdiff
path: root/src/cpu/simple/atomic.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/cpu/simple/atomic.cc')
-rw-r--r--src/cpu/simple/atomic.cc6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/cpu/simple/atomic.cc b/src/cpu/simple/atomic.cc
index ffd1c4d43..d29903c2f 100644
--- a/src/cpu/simple/atomic.cc
+++ b/src/cpu/simple/atomic.cc
@@ -175,8 +175,10 @@ AtomicSimpleCPU::drainResume()
if (thread->status() == ThreadContext::Active) {
schedule(tickEvent, nextCycle());
_status = BaseSimpleCPU::Running;
+ notIdleFraction = 1;
} else {
_status = BaseSimpleCPU::Idle;
+ notIdleFraction = 0;
}
system->totalNumInsts = 0;
@@ -244,7 +246,7 @@ AtomicSimpleCPU::activateContext(ThreadID thread_num, Cycles delay)
assert(_status == Idle);
assert(!tickEvent.scheduled());
- notIdleFraction++;
+ notIdleFraction = 1;
numCycles += ticksToCycles(thread->lastActivate - thread->lastSuspend);
//Make sure ticks are still on multiples of cycles
@@ -271,7 +273,7 @@ AtomicSimpleCPU::suspendContext(ThreadID thread_num)
if (tickEvent.scheduled())
deschedule(tickEvent);
- notIdleFraction--;
+ notIdleFraction = 0;
_status = Idle;
}