mem: Add Units to mem stats
[gem5.git] / src / mem / mem_ctrl.cc
index 717e96664d3c96dc80772cd9d8a22af440764520..63c62aea5b181c41b68a2b159fd94dde5b821ab3 100644 (file)
@@ -1185,68 +1185,87 @@ MemCtrl::CtrlStats::CtrlStats(MemCtrl &_ctrl)
     : Stats::Group(&_ctrl),
     ctrl(_ctrl),
 
-    ADD_STAT(readReqs, "Number of read requests accepted"),
-    ADD_STAT(writeReqs, "Number of write requests accepted"),
-
-    ADD_STAT(readBursts,
-             "Number of controller read bursts, "
-             "including those serviced by the write queue"),
-    ADD_STAT(writeBursts,
-             "Number of controller write bursts, "
-             "including those merged in the write queue"),
-    ADD_STAT(servicedByWrQ,
+    ADD_STAT(readReqs, UNIT_COUNT, "Number of read requests accepted"),
+    ADD_STAT(writeReqs, UNIT_COUNT, "Number of write requests accepted"),
+
+    ADD_STAT(readBursts, UNIT_COUNT,
+             "Number of controller read bursts, including those serviced by "
+             "the write queue"),
+    ADD_STAT(writeBursts, UNIT_COUNT,
+             "Number of controller write bursts, including those merged in "
+             "the write queue"),
+    ADD_STAT(servicedByWrQ, UNIT_COUNT,
              "Number of controller read bursts serviced by the write queue"),
-    ADD_STAT(mergedWrBursts,
+    ADD_STAT(mergedWrBursts, UNIT_COUNT,
              "Number of controller write bursts merged with an existing one"),
 
-    ADD_STAT(neitherReadNorWriteReqs,
+    ADD_STAT(neitherReadNorWriteReqs, UNIT_COUNT,
              "Number of requests that are neither read nor write"),
 
-    ADD_STAT(avgRdQLen, "Average read queue length when enqueuing"),
-    ADD_STAT(avgWrQLen, "Average write queue length when enqueuing"),
+    ADD_STAT(avgRdQLen,
+             UNIT_RATE(Stats::Units::Count, Stats::Units::Tick),
+             "Average read queue length when enqueuing"),
+    ADD_STAT(avgWrQLen,
+             UNIT_RATE(Stats::Units::Count, Stats::Units::Tick),
+             "Average write queue length when enqueuing"),
 
-    ADD_STAT(numRdRetry, "Number of times read queue was full causing retry"),
-    ADD_STAT(numWrRetry, "Number of times write queue was full causing retry"),
+    ADD_STAT(numRdRetry, UNIT_COUNT,
+             "Number of times read queue was full causing retry"),
+    ADD_STAT(numWrRetry, UNIT_COUNT,
+             "Number of times write queue was full causing retry"),
 
-    ADD_STAT(readPktSize, "Read request sizes (log2)"),
-    ADD_STAT(writePktSize, "Write request sizes (log2)"),
+    ADD_STAT(readPktSize, UNIT_COUNT, "Read request sizes (log2)"),
+    ADD_STAT(writePktSize, UNIT_COUNT, "Write request sizes (log2)"),
 
-    ADD_STAT(rdQLenPdf, "What read queue length does an incoming req see"),
-    ADD_STAT(wrQLenPdf, "What write queue length does an incoming req see"),
+    ADD_STAT(rdQLenPdf, UNIT_COUNT,
+             "What read queue length does an incoming req see"),
+    ADD_STAT(wrQLenPdf, UNIT_COUNT,
+             "What write queue length does an incoming req see"),
 
-    ADD_STAT(rdPerTurnAround,
+    ADD_STAT(rdPerTurnAround, UNIT_COUNT,
              "Reads before turning the bus around for writes"),
-    ADD_STAT(wrPerTurnAround,
+    ADD_STAT(wrPerTurnAround, UNIT_COUNT,
              "Writes before turning the bus around for reads"),
 
-    ADD_STAT(bytesReadWrQ, "Total number of bytes read from write queue"),
-    ADD_STAT(bytesReadSys, "Total read bytes from the system interface side"),
-    ADD_STAT(bytesWrittenSys,
+    ADD_STAT(bytesReadWrQ, UNIT_BYTE,
+             "Total number of bytes read from write queue"),
+    ADD_STAT(bytesReadSys, UNIT_BYTE,
+             "Total read bytes from the system interface side"),
+    ADD_STAT(bytesWrittenSys, UNIT_BYTE,
              "Total written bytes from the system interface side"),
 
-    ADD_STAT(avgRdBWSys, "Average system read bandwidth in Byte/s"),
-    ADD_STAT(avgWrBWSys, "Average system write bandwidth in Byte/s"),
+    ADD_STAT(avgRdBWSys, UNIT_RATE(Stats::Units::Byte, Stats::Units::Second),
+             "Average system read bandwidth in Byte/s"),
+    ADD_STAT(avgWrBWSys, UNIT_RATE(Stats::Units::Byte, Stats::Units::Second),
+             "Average system write bandwidth in Byte/s"),
 
-    ADD_STAT(totGap, "Total gap between requests"),
-    ADD_STAT(avgGap, "Average gap between requests"),
+    ADD_STAT(totGap, UNIT_TICK, "Total gap between requests"),
+    ADD_STAT(avgGap, UNIT_RATE(Stats::Units::Tick, Stats::Units::Count),
+             "Average gap between requests"),
 
-    ADD_STAT(requestorReadBytes, "Per-requestor bytes read from memory"),
-    ADD_STAT(requestorWriteBytes, "Per-requestor bytes write to memory"),
+    ADD_STAT(requestorReadBytes, UNIT_BYTE,
+             "Per-requestor bytes read from memory"),
+    ADD_STAT(requestorWriteBytes, UNIT_BYTE,
+             "Per-requestor bytes write to memory"),
     ADD_STAT(requestorReadRate,
+             UNIT_RATE(Stats::Units::Byte, Stats::Units::Second),
              "Per-requestor bytes read from memory rate (Bytes/sec)"),
     ADD_STAT(requestorWriteRate,
+             UNIT_RATE(Stats::Units::Byte, Stats::Units::Second),
              "Per-requestor bytes write to memory rate (Bytes/sec)"),
-    ADD_STAT(requestorReadAccesses,
+    ADD_STAT(requestorReadAccesses, UNIT_COUNT,
              "Per-requestor read serviced memory accesses"),
-    ADD_STAT(requestorWriteAccesses,
+    ADD_STAT(requestorWriteAccesses, UNIT_COUNT,
              "Per-requestor write serviced memory accesses"),
-    ADD_STAT(requestorReadTotalLat,
+    ADD_STAT(requestorReadTotalLat, UNIT_TICK,
              "Per-requestor read total memory access latency"),
-    ADD_STAT(requestorWriteTotalLat,
+    ADD_STAT(requestorWriteTotalLat, UNIT_TICK,
              "Per-requestor write total memory access latency"),
     ADD_STAT(requestorReadAvgLat,
+             UNIT_RATE(Stats::Units::Tick, Stats::Units::Count),
              "Per-requestor read average memory access latency"),
     ADD_STAT(requestorWriteAvgLat,
+             UNIT_RATE(Stats::Units::Tick, Stats::Units::Count),
              "Per-requestor write average memory access latency")
 
 {