diff -r 37fd40f8300f -r 5eafde60758e src/cpu/o3/cpu.cc --- a/src/cpu/o3/cpu.cc Mon Mar 23 16:14:19 2015 -0700 +++ b/src/cpu/o3/cpu.cc Wed Mar 25 16:41:27 2015 +0100 @@ -1440,16 +1440,16 @@ thread[tid]->numInst++; thread[tid]->numInsts++; committedInsts[tid]++; + system->totalNumInsts++; + + // Check for instruction-count-based events. + comInstEventQueue[tid]->serviceEvents(thread[tid]->numInst); + system->instEventQueue.serviceEvents(system->totalNumInsts); } thread[tid]->numOp++; thread[tid]->numOps++; committedOps[tid]++; - system->totalNumInsts++; - // Check for instruction-count-based events. - comInstEventQueue[tid]->serviceEvents(thread[tid]->numInst); - system->instEventQueue.serviceEvents(system->totalNumInsts); - probeInstCommit(inst->staticInst); } diff -r 37fd40f8300f -r 5eafde60758e src/cpu/simple/atomic.cc --- a/src/cpu/simple/atomic.cc Mon Mar 23 16:14:19 2015 -0700 +++ b/src/cpu/simple/atomic.cc Wed Mar 25 16:41:27 2015 +0100 @@ -168,8 +168,6 @@ _status = BaseSimpleCPU::Idle; notIdleFraction = 0; } - - system->totalNumInsts = 0; } bool diff -r 37fd40f8300f -r 5eafde60758e src/cpu/simple/timing.cc --- a/src/cpu/simple/timing.cc Mon Mar 23 16:14:19 2015 -0700 +++ b/src/cpu/simple/timing.cc Wed Mar 25 16:41:27 2015 +0100 @@ -94,8 +94,6 @@ fetchEvent(this), drainManager(NULL) { _status = Idle; - - system->totalNumInsts = 0; } diff -r 37fd40f8300f -r 5eafde60758e src/cpu/minor/execute.cc --- a/src/cpu/minor/execute.cc Mon Mar 23 16:14:19 2015 -0700 +++ b/src/cpu/minor/execute.cc Wed Mar 25 16:41:27 2015 +0100 @@ -840,15 +840,15 @@ thread->numInst++; thread->numInsts++; cpu.stats.numInsts++; + cpu.system->totalNumInsts++; + + /* Act on events related to instruction counts */ + cpu.comInstEventQueue[inst->id.threadId]->serviceEvents(thread->numInst); + cpu.system->instEventQueue.serviceEvents(cpu.system->totalNumInsts); } thread->numOp++; thread->numOps++; cpu.stats.numOps++; - cpu.system->totalNumInsts++; - - /* Act on events related to instruction counts */ - cpu.comInstEventQueue[inst->id.threadId]->serviceEvents(thread->numInst); - cpu.system->instEventQueue.serviceEvents(cpu.system->totalNumInsts); /* Set the CP SeqNum to the numOps commit number */ if (inst->traceData)