X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fmem%2Fqos%2Fmem_sink.cc;h=4034fb11547d85bd49f8cb94e492346d248d4520;hb=c720e26c854714d1005588f9dd836425c5668fc8;hp=9d57500b8b8076e38709aa06db3dfd3bec3b4276;hpb=d05a0a4ea121aa69715e5049997a64fa24cd94f4;p=gem5.git diff --git a/src/mem/qos/mem_sink.cc b/src/mem/qos/mem_sink.cc index 9d57500b8..4034fb115 100644 --- a/src/mem/qos/mem_sink.cc +++ b/src/mem/qos/mem_sink.cc @@ -52,7 +52,8 @@ MemSinkCtrl::MemSinkCtrl(const QoSMemSinkCtrlParams &p) readBufferSize(p.read_buffer_size), writeBufferSize(p.write_buffer_size), port(name() + ".port", *this), interface(p.interface), - retryRdReq(false), retryWrReq(false), nextRequest(0), nextReqEvent(this) + retryRdReq(false), retryWrReq(false), nextRequest(0), nextReqEvent(this), + stats(this) { // Resize read and write queue to allocate space // for configured QoS priorities @@ -155,7 +156,7 @@ MemSinkCtrl::recvTimingReq(PacketPtr pkt) "%s Read queue full, not accepting\n", __func__); // Remember that we have to retry this port retryRdReq = true; - numReadRetries++; + stats.numReadRetries++; req_accepted = false; } else { // Enqueue the incoming packet into corresponding @@ -169,7 +170,7 @@ MemSinkCtrl::recvTimingReq(PacketPtr pkt) "%s Write queue full, not accepting\n", __func__); // Remember that we have to retry this port retryWrReq = true; - numWriteRetries++; + stats.numWriteRetries++; req_accepted = false; } else { // Enqueue the incoming packet into corresponding QoS @@ -332,18 +333,11 @@ MemSinkCtrl::drain() } } -void -MemSinkCtrl::regStats() +MemSinkCtrl::MemSinkCtrlStats::MemSinkCtrlStats(Stats::Group *parent) + : Stats::Group(parent), + ADD_STAT(numReadRetries, UNIT_COUNT, "Number of read retries"), + ADD_STAT(numWriteRetries, UNIT_COUNT, "Number of write retries") { - MemCtrl::regStats(); - - // Initialize all the stats - using namespace Stats; - - numReadRetries.name(name() + ".numReadRetries") - .desc("Number of read retries"); - numWriteRetries.name(name() + ".numWriteRetries") - .desc("Number of write retries"); } MemSinkCtrl::MemoryPort::MemoryPort(const std::string& n,