From 589033c94c0381fe4e67cebe08352b6e1fbcde2e Mon Sep 17 00:00:00 2001 From: Stephan Diestelhorst Date: Mon, 6 Jun 2016 17:16:43 +0100 Subject: [PATCH] sim: Call regStats of base-class as well We want to extend the stats of objects hierarchically and thus it is necessary to register the statistics of the base-class(es), as well. For now, these are empty, but generic stats will be added there. Patch originally provided by Akash Bagdia at ARM Ltd. --- src/arch/arm/table_walker.cc | 2 ++ src/arch/arm/tlb.cc | 1 + src/cpu/base.cc | 2 ++ src/cpu/testers/traffic_gen/traffic_gen.cc | 2 ++ src/dev/net/etherdevice.cc | 2 ++ src/dev/pci/copy_engine.cc | 2 ++ src/dev/storage/ide_disk.cc | 2 ++ src/mem/abstract_mem.cc | 2 ++ src/mem/cache/base.cc | 2 ++ src/mem/cache/prefetch/base.cc | 2 ++ src/mem/cache/tags/base.cc | 3 +++ src/mem/comm_monitor.cc | 2 ++ src/mem/xbar.cc | 2 ++ src/sim/process.cc | 2 ++ src/sim/system.cc | 2 ++ 15 files changed, 30 insertions(+) diff --git a/src/arch/arm/table_walker.cc b/src/arch/arm/table_walker.cc index 82bec2547..91b13e251 100644 --- a/src/arch/arm/table_walker.cc +++ b/src/arch/arm/table_walker.cc @@ -2122,6 +2122,8 @@ TableWalker::pageSizeNtoStatBin(uint8_t N) void TableWalker::regStats() { + ClockedObject::regStats(); + statWalks .name(name() + ".walks") .desc("Table walker walks requested") diff --git a/src/arch/arm/tlb.cc b/src/arch/arm/tlb.cc index db132e2d6..f4d51546c 100644 --- a/src/arch/arm/tlb.cc +++ b/src/arch/arm/tlb.cc @@ -417,6 +417,7 @@ TLB::unserialize(CheckpointIn &cp) void TLB::regStats() { + BaseTLB::regStats(); instHits .name(name() + ".inst_hits") .desc("ITB inst hits") diff --git a/src/cpu/base.cc b/src/cpu/base.cc index 624843f42..fbd8af99a 100644 --- a/src/cpu/base.cc +++ b/src/cpu/base.cc @@ -397,6 +397,8 @@ BaseCPU::probeInstCommit(const StaticInstPtr &inst) void BaseCPU::regStats() { + MemObject::regStats(); + using namespace Stats; numCycles diff --git a/src/cpu/testers/traffic_gen/traffic_gen.cc b/src/cpu/testers/traffic_gen/traffic_gen.cc index fbb26baa8..af1976784 100644 --- a/src/cpu/testers/traffic_gen/traffic_gen.cc +++ b/src/cpu/testers/traffic_gen/traffic_gen.cc @@ -526,6 +526,8 @@ TrafficGen::noProgress() void TrafficGen::regStats() { + ClockedObject::regStats(); + // Initialise all the stats using namespace Stats; diff --git a/src/dev/net/etherdevice.cc b/src/dev/net/etherdevice.cc index 59849502c..aeaedf795 100644 --- a/src/dev/net/etherdevice.cc +++ b/src/dev/net/etherdevice.cc @@ -36,6 +36,8 @@ void EtherDevice::regStats() { + PciDevice::regStats(); + txBytes .name(name() + ".txBytes") .desc("Bytes Transmitted") diff --git a/src/dev/pci/copy_engine.cc b/src/dev/pci/copy_engine.cc index fba96a110..326c51d11 100644 --- a/src/dev/pci/copy_engine.cc +++ b/src/dev/pci/copy_engine.cc @@ -425,6 +425,8 @@ CopyEngine::CopyEngineChannel::channelWrite(Packet *pkt, Addr daddr, int size) void CopyEngine::regStats() { + PciDevice::regStats(); + using namespace Stats; bytesCopied .init(regs.chanCount) diff --git a/src/dev/storage/ide_disk.cc b/src/dev/storage/ide_disk.cc index 4eefdbbd7..e4b4e625a 100644 --- a/src/dev/storage/ide_disk.cc +++ b/src/dev/storage/ide_disk.cc @@ -392,6 +392,8 @@ IdeDisk::doDmaDataRead() void IdeDisk::regStats() { + SimObject::regStats(); + using namespace Stats; dmaReadFullPages .name(name() + ".dma_read_full_pages") diff --git a/src/mem/abstract_mem.cc b/src/mem/abstract_mem.cc index cbe360779..04e4b0057 100644 --- a/src/mem/abstract_mem.cc +++ b/src/mem/abstract_mem.cc @@ -79,6 +79,8 @@ AbstractMemory::setBackingStore(uint8_t* pmem_addr) void AbstractMemory::regStats() { + MemObject::regStats(); + using namespace Stats; assert(system()); diff --git a/src/mem/cache/base.cc b/src/mem/cache/base.cc index b6b3b1481..814159fc9 100644 --- a/src/mem/cache/base.cc +++ b/src/mem/cache/base.cc @@ -176,6 +176,8 @@ BaseCache::inRange(Addr addr) const void BaseCache::regStats() { + MemObject::regStats(); + using namespace Stats; // Hit statistics diff --git a/src/mem/cache/prefetch/base.cc b/src/mem/cache/prefetch/base.cc index 0b296144c..3d22dcce6 100644 --- a/src/mem/cache/prefetch/base.cc +++ b/src/mem/cache/prefetch/base.cc @@ -74,6 +74,8 @@ BasePrefetcher::setCache(BaseCache *_cache) void BasePrefetcher::regStats() { + ClockedObject::regStats(); + pfIssued .name(name() + ".num_hwpf_issued") .desc("number of hwpf issued") diff --git a/src/mem/cache/tags/base.cc b/src/mem/cache/tags/base.cc index c413fbc5d..6a926c0d8 100644 --- a/src/mem/cache/tags/base.cc +++ b/src/mem/cache/tags/base.cc @@ -71,7 +71,10 @@ BaseTags::setCache(BaseCache *_cache) void BaseTags::regStats() { + ClockedObject::regStats(); + using namespace Stats; + replacements .init(maxThreadsPerCPU) .name(name() + ".replacements") diff --git a/src/mem/comm_monitor.cc b/src/mem/comm_monitor.cc index 6077d2951..05549fd1c 100644 --- a/src/mem/comm_monitor.cc +++ b/src/mem/comm_monitor.cc @@ -384,6 +384,8 @@ CommMonitor::recvRangeChange() void CommMonitor::regStats() { + MemObject::regStats(); + // Initialise all the monitor stats using namespace Stats; diff --git a/src/mem/xbar.cc b/src/mem/xbar.cc index 7316fbc21..416b02931 100644 --- a/src/mem/xbar.cc +++ b/src/mem/xbar.cc @@ -541,6 +541,8 @@ BaseXBar::getAddrRanges() const void BaseXBar::regStats() { + ClockedObject::regStats(); + using namespace Stats; transDist diff --git a/src/sim/process.cc b/src/sim/process.cc index d0dd3d92b..7c64dad22 100644 --- a/src/sim/process.cc +++ b/src/sim/process.cc @@ -191,6 +191,8 @@ Process::Process(ProcessParams * params) void Process::regStats() { + SimObject::regStats(); + using namespace Stats; num_syscalls diff --git a/src/sim/system.cc b/src/sim/system.cc index 3f7ea9286..9f240c9bc 100644 --- a/src/sim/system.cc +++ b/src/sim/system.cc @@ -393,6 +393,8 @@ System::unserialize(CheckpointIn &cp) void System::regStats() { + MemObject::regStats(); + for (uint32_t j = 0; j < numWorkIds ; j++) { workItemStats[j] = new Stats::Histogram(); stringstream namestr;