changeset 81332eb10367 in /z/repo/gem5
details: http://repo.gem5.org/gem5?cmd=changeset;node=81332eb10367
description:
        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 <[email protected]>

diffstat:

 src/arch/alpha/tlb.cc                                  |  2 ++
 src/arch/mips/tlb.cc                                   |  2 ++
 src/arch/power/tlb.cc                                  |  2 ++
 src/cpu/o3/probe/elastic_trace.cc                      |  2 ++
 src/cpu/pred/bpred_unit.cc                             |  2 ++
 src/cpu/testers/memtest/memtest.cc                     |  2 ++
 src/dev/arm/flash_device.cc                            |  2 ++
 src/dev/arm/hdlcd.cc                                   |  2 ++
 src/dev/arm/ufs_device.cc                              |  2 ++
 src/gpu-compute/compute_unit.cc                        |  2 ++
 src/gpu-compute/gpu_tlb.cc                             |  2 ++
 src/gpu-compute/lds_state.cc                           |  8 --------
 src/gpu-compute/lds_state.hh                           |  3 ---
 src/gpu-compute/tlb_coalescer.cc                       |  2 ++
 src/gpu-compute/wavefront.cc                           |  2 ++
 src/mem/probes/stack_dist.cc                           |  2 ++
 src/mem/ruby/network/garnet/BaseGarnetNetwork.cc       |  2 ++
 src/mem/ruby/network/garnet/fixed-pipeline/Router_d.cc |  2 ++
 src/mem/ruby/network/simple/SimpleNetwork.cc           |  2 ++
 src/mem/ruby/network/simple/Switch.cc                  |  2 ++
 src/mem/ruby/slicc_interface/AbstractController.cc     |  2 ++
 src/mem/ruby/structures/CacheMemory.cc                 |  2 ++
 src/mem/ruby/structures/Prefetcher.cc                  |  2 ++
 src/mem/ruby/system/GPUCoalescer.cc                    |  2 ++
 src/mem/ruby/system/RubySystem.hh                      |  5 ++++-
 src/mem/ruby/system/Sequencer.cc                       |  2 ++
 src/mem/snoop_filter.cc                                |  2 ++
 src/sim/clock_domain.cc                                |  2 ++
 src/sim/power/thermal_domain.cc                        |  2 ++
 src/sim/voltage_domain.cc                              |  2 ++
 30 files changed, 58 insertions(+), 12 deletions(-)

diffs (truncated from 367 to 300 lines):

diff -r 348411ec525a -r 81332eb10367 src/arch/alpha/tlb.cc
--- a/src/arch/alpha/tlb.cc     Mon Jun 06 17:16:43 2016 +0100
+++ b/src/arch/alpha/tlb.cc     Mon Jun 06 17:16:43 2016 +0100
@@ -76,6 +76,8 @@
 void
 TLB::regStats()
 {
+    BaseTLB::regStats();
+
     fetch_hits
         .name(name() + ".fetch_hits")
         .desc("ITB hits");
diff -r 348411ec525a -r 81332eb10367 src/arch/mips/tlb.cc
--- a/src/arch/mips/tlb.cc      Mon Jun 06 17:16:43 2016 +0100
+++ b/src/arch/mips/tlb.cc      Mon Jun 06 17:16:43 2016 +0100
@@ -226,6 +226,8 @@
 void
 TLB::regStats()
 {
+    BaseTLB::regStats();
+
     read_hits
         .name(name() + ".read_hits")
         .desc("DTB read hits")
diff -r 348411ec525a -r 81332eb10367 src/arch/power/tlb.cc
--- a/src/arch/power/tlb.cc     Mon Jun 06 17:16:43 2016 +0100
+++ b/src/arch/power/tlb.cc     Mon Jun 06 17:16:43 2016 +0100
@@ -223,6 +223,8 @@
 void
 TLB::regStats()
 {
+    BaseTLB::regStats();
+
     read_hits
         .name(name() + ".read_hits")
         .desc("DTB read hits")
diff -r 348411ec525a -r 81332eb10367 src/cpu/o3/probe/elastic_trace.cc
--- a/src/cpu/o3/probe/elastic_trace.cc Mon Jun 06 17:16:43 2016 +0100
+++ b/src/cpu/o3/probe/elastic_trace.cc Mon Jun 06 17:16:43 2016 +0100
@@ -870,6 +870,8 @@
 
 void
 ElasticTrace::regStats() {
+    ProbeListenerObject::regStats();
+
     using namespace Stats;
     numRegDep
         .name(name() + ".numRegDep")
diff -r 348411ec525a -r 81332eb10367 src/cpu/pred/bpred_unit.cc
--- a/src/cpu/pred/bpred_unit.cc        Mon Jun 06 17:16:43 2016 +0100
+++ b/src/cpu/pred/bpred_unit.cc        Mon Jun 06 17:16:43 2016 +0100
@@ -80,6 +80,8 @@
 void
 BPredUnit::regStats()
 {
+    SimObject::regStats();
+
     lookups
         .name(name() + ".lookups")
         .desc("Number of BP lookups")
diff -r 348411ec525a -r 81332eb10367 src/cpu/testers/memtest/memtest.cc
--- a/src/cpu/testers/memtest/memtest.cc        Mon Jun 06 17:16:43 2016 +0100
+++ b/src/cpu/testers/memtest/memtest.cc        Mon Jun 06 17:16:43 2016 +0100
@@ -197,6 +197,8 @@
 void
 MemTest::regStats()
 {
+    MemObject::regStats();
+
     using namespace Stats;
 
     numReadsStat
diff -r 348411ec525a -r 81332eb10367 src/dev/arm/flash_device.cc
--- a/src/dev/arm/flash_device.cc       Mon Jun 06 17:16:43 2016 +0100
+++ b/src/dev/arm/flash_device.cc       Mon Jun 06 17:16:43 2016 +0100
@@ -471,6 +471,8 @@
 void
 FlashDevice::regStats()
 {
+    AbstractNVM::regStats();
+
     using namespace Stats;
 
     std::string fd_name = name() + ".FlashDevice";
diff -r 348411ec525a -r 81332eb10367 src/dev/arm/hdlcd.cc
--- a/src/dev/arm/hdlcd.cc      Mon Jun 06 17:16:43 2016 +0100
+++ b/src/dev/arm/hdlcd.cc      Mon Jun 06 17:16:43 2016 +0100
@@ -97,6 +97,8 @@
 void
 HDLcd::regStats()
 {
+    AmbaDmaDevice::regStats();
+
     using namespace Stats;
 
     stats.underruns
diff -r 348411ec525a -r 81332eb10367 src/dev/arm/ufs_device.cc
--- a/src/dev/arm/ufs_device.cc Mon Jun 06 17:16:43 2016 +0100
+++ b/src/dev/arm/ufs_device.cc Mon Jun 06 17:16:43 2016 +0100
@@ -774,6 +774,8 @@
 void
 UFSHostDevice::regStats()
 {
+    DmaDevice::regStats();
+
     using namespace Stats;
 
     std::string UFSHost_name = name() + ".UFSDiskHost";
diff -r 348411ec525a -r 81332eb10367 src/gpu-compute/compute_unit.cc
--- a/src/gpu-compute/compute_unit.cc   Mon Jun 06 17:16:43 2016 +0100
+++ b/src/gpu-compute/compute_unit.cc   Mon Jun 06 17:16:43 2016 +0100
@@ -1447,6 +1447,8 @@
 void
 ComputeUnit::regStats()
 {
+    MemObject::regStats();
+
     tlbCycles
         .name(name() + ".tlb_cycles")
         .desc("total number of cycles for all uncoalesced requests")
diff -r 348411ec525a -r 81332eb10367 src/gpu-compute/gpu_tlb.cc
--- a/src/gpu-compute/gpu_tlb.cc        Mon Jun 06 17:16:43 2016 +0100
+++ b/src/gpu-compute/gpu_tlb.cc        Mon Jun 06 17:16:43 2016 +0100
@@ -958,6 +958,8 @@
     void
     GpuTLB::regStats()
     {
+        MemObject::regStats();
+
         localNumTLBAccesses
             .name(name() + ".local_TLB_accesses")
             .desc("Number of TLB accesses")
diff -r 348411ec525a -r 81332eb10367 src/gpu-compute/lds_state.cc
--- a/src/gpu-compute/lds_state.cc      Mon Jun 06 17:16:43 2016 +0100
+++ b/src/gpu-compute/lds_state.cc      Mon Jun 06 17:16:43 2016 +0100
@@ -331,11 +331,3 @@
 {
     ldsState->process();
 }
-
-/**
- *
- */
-void
-LdsState::regStats()
-{
-}
diff -r 348411ec525a -r 81332eb10367 src/gpu-compute/lds_state.hh
--- a/src/gpu-compute/lds_state.hh      Mon Jun 06 17:16:43 2016 +0100
+++ b/src/gpu-compute/lds_state.hh      Mon Jun 06 17:16:43 2016 +0100
@@ -390,9 +390,6 @@
     void
     setParent(ComputeUnit *x_parent);
 
-    void
-    regStats();
-
     // accessors
     ComputeUnit *
     getParent() const
diff -r 348411ec525a -r 81332eb10367 src/gpu-compute/tlb_coalescer.cc
--- a/src/gpu-compute/tlb_coalescer.cc  Mon Jun 06 17:16:43 2016 +0100
+++ b/src/gpu-compute/tlb_coalescer.cc  Mon Jun 06 17:16:43 2016 +0100
@@ -546,6 +546,8 @@
 void
 TLBCoalescer::regStats()
 {
+    MemObject::regStats();
+
     uncoalescedAccesses
         .name(name() + ".uncoalesced_accesses")
         .desc("Number of uncoalesced TLB accesses")
diff -r 348411ec525a -r 81332eb10367 src/gpu-compute/wavefront.cc
--- a/src/gpu-compute/wavefront.cc      Mon Jun 06 17:16:43 2016 +0100
+++ b/src/gpu-compute/wavefront.cc      Mon Jun 06 17:16:43 2016 +0100
@@ -88,6 +88,8 @@
 void
 Wavefront::regStats()
 {
+    SimObject::regStats();
+
     srcRegOpDist
         .init(0, 4, 2)
         .name(name() + ".src_reg_operand_dist")
diff -r 348411ec525a -r 81332eb10367 src/mem/probes/stack_dist.cc
--- a/src/mem/probes/stack_dist.cc      Mon Jun 06 17:16:43 2016 +0100
+++ b/src/mem/probes/stack_dist.cc      Mon Jun 06 17:16:43 2016 +0100
@@ -57,6 +57,8 @@
 void
 StackDistProbe::regStats()
 {
+    BaseMemProbe::regStats();
+
     const StackDistProbeParams *p(
         dynamic_cast<const StackDistProbeParams *>(params()));
     assert(p);
diff -r 348411ec525a -r 81332eb10367 
src/mem/ruby/network/garnet/BaseGarnetNetwork.cc
--- a/src/mem/ruby/network/garnet/BaseGarnetNetwork.cc  Mon Jun 06 17:16:43 
2016 +0100
+++ b/src/mem/ruby/network/garnet/BaseGarnetNetwork.cc  Mon Jun 06 17:16:43 
2016 +0100
@@ -69,6 +69,8 @@
 void
 BaseGarnetNetwork::regStats()
 {
+    Network::regStats();
+
     m_flits_received
         .init(m_virtual_networks)
         .name(name() + ".flits_received")
diff -r 348411ec525a -r 81332eb10367 
src/mem/ruby/network/garnet/fixed-pipeline/Router_d.cc
--- a/src/mem/ruby/network/garnet/fixed-pipeline/Router_d.cc    Mon Jun 06 
17:16:43 2016 +0100
+++ b/src/mem/ruby/network/garnet/fixed-pipeline/Router_d.cc    Mon Jun 06 
17:16:43 2016 +0100
@@ -158,6 +158,8 @@
 void
 Router_d::regStats()
 {
+    BasicRouter::regStats();
+
     m_buffer_reads
         .name(name() + ".buffer_reads")
         .flags(Stats::nozero)
diff -r 348411ec525a -r 81332eb10367 
src/mem/ruby/network/simple/SimpleNetwork.cc
--- a/src/mem/ruby/network/simple/SimpleNetwork.cc      Mon Jun 06 17:16:43 
2016 +0100
+++ b/src/mem/ruby/network/simple/SimpleNetwork.cc      Mon Jun 06 17:16:43 
2016 +0100
@@ -132,6 +132,8 @@
 void
 SimpleNetwork::regStats()
 {
+    Network::regStats();
+
     for (MessageSizeType type = MessageSizeType_FIRST;
          type < MessageSizeType_NUM; ++type) {
         m_msg_counts[(unsigned int) type]
diff -r 348411ec525a -r 81332eb10367 src/mem/ruby/network/simple/Switch.cc
--- a/src/mem/ruby/network/simple/Switch.cc     Mon Jun 06 17:16:43 2016 +0100
+++ b/src/mem/ruby/network/simple/Switch.cc     Mon Jun 06 17:16:43 2016 +0100
@@ -112,6 +112,8 @@
 void
 Switch::regStats()
 {
+    BasicRouter::regStats();
+
     for (int link = 0; link < m_throttles.size(); link++) {
         m_throttles[link]->regStats(name());
     }
diff -r 348411ec525a -r 81332eb10367 
src/mem/ruby/slicc_interface/AbstractController.cc
--- a/src/mem/ruby/slicc_interface/AbstractController.cc        Mon Jun 06 
17:16:43 2016 +0100
+++ b/src/mem/ruby/slicc_interface/AbstractController.cc        Mon Jun 06 
17:16:43 2016 +0100
@@ -76,6 +76,8 @@
 void
 AbstractController::regStats()
 {
+    MemObject::regStats();
+
     m_fully_busy_cycles
         .name(name() + ".fully_busy_cycles")
         .desc("cycles for which number of transistions == max transitions")
diff -r 348411ec525a -r 81332eb10367 src/mem/ruby/structures/CacheMemory.cc
--- a/src/mem/ruby/structures/CacheMemory.cc    Mon Jun 06 17:16:43 2016 +0100
+++ b/src/mem/ruby/structures/CacheMemory.cc    Mon Jun 06 17:16:43 2016 +0100
@@ -488,6 +488,8 @@
 void
 CacheMemory::regStats()
 {
+    SimObject::regStats();
+
     m_demand_hits
         .name(name() + ".demand_hits")
         .desc("Number of cache demand hits")
diff -r 348411ec525a -r 81332eb10367 src/mem/ruby/structures/Prefetcher.cc
--- a/src/mem/ruby/structures/Prefetcher.cc     Mon Jun 06 17:16:43 2016 +0100
+++ b/src/mem/ruby/structures/Prefetcher.cc     Mon Jun 06 17:16:43 2016 +0100
@@ -86,6 +86,8 @@
 void
 Prefetcher::regStats()
 {
+    SimObject::regStats();
+
     numMissObserved
         .name(name() + ".miss_observed")
         .desc("number of misses observed")
diff -r 348411ec525a -r 81332eb10367 src/mem/ruby/system/GPUCoalescer.cc
--- a/src/mem/ruby/system/GPUCoalescer.cc       Mon Jun 06 17:16:43 2016 +0100
+++ b/src/mem/ruby/system/GPUCoalescer.cc       Mon Jun 06 17:16:43 2016 +0100
@@ -1284,6 +1284,8 @@
 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 -r 348411ec525a -r 81332eb10367 src/mem/ruby/system/RubySystem.hh
--- a/src/mem/ruby/system/RubySystem.hh Mon Jun 06 17:16:43 2016 +0100
+++ b/src/mem/ruby/system/RubySystem.hh Mon Jun 06 17:16:43 2016 +0100
@@ -89,7 +89,10 @@
         return m_profiler;
     }
 
-    void regStats() override { m_profiler->regStats(name()); }
_______________________________________________
gem5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/gem5-dev

Reply via email to