From 70798b1ba0a5b9a7242b48bf9598957476f8168b Mon Sep 17 00:00:00 2001 From: David Guillen Fandos Date: Mon, 6 Jun 2016 17:16:43 +0100 Subject: stats: Fixing regStats function for some SimObjects Fixing an issue with regStats not calling the parent class method for most SimObjects in Gem5. This causes issues if one adds new stats in the base class (since they are never initialized properly!). Change-Id: Iebc5aa66f58816ef4295dc8e48a357558d76a77c Reviewed-by: Andreas Sandberg --- src/mem/ruby/system/GPUCoalescer.cc | 2 ++ src/mem/ruby/system/RubySystem.hh | 5 ++++- src/mem/ruby/system/Sequencer.cc | 2 ++ 3 files changed, 8 insertions(+), 1 deletion(-) (limited to 'src/mem/ruby/system') diff --git a/src/mem/ruby/system/GPUCoalescer.cc b/src/mem/ruby/system/GPUCoalescer.cc index 69f79187a..1c57f6c4d 100644 --- a/src/mem/ruby/system/GPUCoalescer.cc +++ b/src/mem/ruby/system/GPUCoalescer.cc @@ -1284,6 +1284,8 @@ GPUCoalescer::recordMissLatency(GPUCoalescerRequest* srequest, void GPUCoalescer::regStats() { + RubyPort::regStats(); + // These statistical variables are not for display. // The profiler will collate these across different // coalescers and display those collated statistics. diff --git a/src/mem/ruby/system/RubySystem.hh b/src/mem/ruby/system/RubySystem.hh index 62330e19d..8ebd3494a 100644 --- a/src/mem/ruby/system/RubySystem.hh +++ b/src/mem/ruby/system/RubySystem.hh @@ -89,7 +89,10 @@ class RubySystem : public ClockedObject return m_profiler; } - void regStats() override { m_profiler->regStats(name()); } + void regStats() override { + ClockedObject::regStats(); + m_profiler->regStats(name()); + } void collateStats() { m_profiler->collateStats(); } void resetStats() override; diff --git a/src/mem/ruby/system/Sequencer.cc b/src/mem/ruby/system/Sequencer.cc index f1f6ddadb..cf3edb904 100644 --- a/src/mem/ruby/system/Sequencer.cc +++ b/src/mem/ruby/system/Sequencer.cc @@ -721,6 +721,8 @@ Sequencer::evictionCallback(Addr address) void Sequencer::regStats() { + RubyPort::regStats(); + m_store_waiting_on_load .name(name() + ".store_waiting_on_load") .desc("Number of times a store aliased with a pending load") -- cgit v1.2.3