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:
@@ -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
|
||||
|
||||
@@ -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.
|
||||
|
||||
Reference in New Issue
Block a user