diff options
author | Nikos Nikoleris <nikos.nikoleris@gmail.com> | 2015-04-03 11:42:10 -0500 |
---|---|---|
committer | Nikos Nikoleris <nikos.nikoleris@gmail.com> | 2015-04-03 11:42:10 -0500 |
commit | 305e29b98ef369bcf5574a0a462f43c0bbc7ba5b (patch) | |
tree | e2699c1127421c8b8c86b7ebd37706919daa881e /src/cpu/o3 | |
parent | 333988a73e06cb4067f113b7043ab68dd0e86c9d (diff) | |
download | gem5-305e29b98ef369bcf5574a0a462f43c0bbc7ba5b.tar.xz |
cpu: fix system total instructions accounting
The totalInstructions counter is only incremented when the whole instruction is
commited and not on every microop. It was incorrectly reset in atomic and
timing cpus.
Committed by: Nilay Vaish <nilay@cs.wisc.edu>"
Diffstat (limited to 'src/cpu/o3')
-rw-r--r-- | src/cpu/o3/cpu.cc | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/cpu/o3/cpu.cc b/src/cpu/o3/cpu.cc index fc7643be2..715a530d7 100644 --- a/src/cpu/o3/cpu.cc +++ b/src/cpu/o3/cpu.cc @@ -1440,16 +1440,16 @@ FullO3CPU<Impl>::instDone(ThreadID tid, DynInstPtr &inst) 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); } |