diff options
Diffstat (limited to 'src/mem/dram_ctrl.cc')
-rw-r--r-- | src/mem/dram_ctrl.cc | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/src/mem/dram_ctrl.cc b/src/mem/dram_ctrl.cc index e13c2af02..2866925c3 100644 --- a/src/mem/dram_ctrl.cc +++ b/src/mem/dram_ctrl.cc @@ -1857,6 +1857,24 @@ DRAMCtrl::Rank::updatePowerStats() } void +DRAMCtrl::Rank::computeStats() +{ + DPRINTF(DRAM,"Computing final stats\n"); + + // Force DRAM power to update counters based on time spent in + // current state up to curTick() + cmdList.push_back(Command(MemCommand::NOP, 0, curTick())); + + // Update the stats + updatePowerStats(); + + // final update of power state times + pwrStateTime[pwrState] += (curTick() - pwrStateTick); + pwrStateTick = curTick(); + +} + +void DRAMCtrl::Rank::regStats() { using namespace Stats; @@ -1906,6 +1924,8 @@ DRAMCtrl::Rank::regStats() averagePower .name(name() + ".averagePower") .desc("Core power per rank (mW)"); + + registerDumpCallback(new RankDumpCallback(this)); } void DRAMCtrl::regStats() |