cpu: convert memtest to new style stats

Change-Id: I91b17dd46fd0f70816159ea14c1c8f498048c696
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/34137
Reviewed-by: Jason Lowe-Power <power.jg@gmail.com>
Maintainer: Jason Lowe-Power <power.jg@gmail.com>
Tested-by: kokoro <noreply+kokoro@google.com>
This commit is contained in:
eavivi
2020-09-04 14:54:14 -07:00
committed by Jason Lowe-Power
parent 7a28c82c6e
commit 5bce6dc526
2 changed files with 14 additions and 22 deletions

View File

@@ -99,7 +99,7 @@ MemTest::MemTest(const Params *p)
nextProgressMessage(p->progress_interval),
maxLoads(p->max_loads),
atomic(p->system->isAtomicMode()),
suppressFuncErrors(p->suppress_func_errors)
suppressFuncErrors(p->suppress_func_errors), stats(this)
{
id = TESTER_ALLOCATOR++;
fatal_if(id >= blockSize, "Too many testers, only %d allowed\n",
@@ -160,7 +160,7 @@ MemTest::completeRequest(PacketPtr pkt, bool functional)
}
numReads++;
numReadsStat++;
stats.numReads++;
if (numReads == (uint64_t)nextProgressMessage) {
ccprintf(cerr, "%s: completed %d read, %d write accesses @%d\n",
@@ -176,7 +176,7 @@ MemTest::completeRequest(PacketPtr pkt, bool functional)
// update the reference data
referenceData[req->getPaddr()] = pkt_data[0];
numWrites++;
numWritesStat++;
stats.numWrites++;
}
}
@@ -190,23 +190,12 @@ MemTest::completeRequest(PacketPtr pkt, bool functional)
else if (noResponseEvent.scheduled())
deschedule(noResponseEvent);
}
void
MemTest::regStats()
MemTest::MemTestStats::MemTestStats(Stats::Group *parent)
: Stats::Group(parent),
ADD_STAT(numReads, "number of read accesses completed"),
ADD_STAT(numWrites, "number of write accesses completed")
{
ClockedObject::regStats();
using namespace Stats;
numReadsStat
.name(name() + ".num_reads")
.desc("number of read accesses completed")
;
numWritesStat
.name(name() + ".num_writes")
.desc("number of write accesses completed")
;
}
void

View File

@@ -72,7 +72,6 @@ class MemTest : public ClockedObject
typedef MemTestParams Params;
MemTest(const Params *p);
void regStats() override;
Port &getPort(const std::string &if_name,
PortID idx=InvalidPortID) override;
@@ -166,9 +165,13 @@ class MemTest : public ClockedObject
const bool atomic;
const bool suppressFuncErrors;
Stats::Scalar numReadsStat;
Stats::Scalar numWritesStat;
protected:
struct MemTestStats : public Stats::Group
{
MemTestStats(Stats::Group *parent);
Stats::Scalar numReads;
Stats::Scalar numWrites;
} stats;
/**
* Complete a request by checking the response.