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