Hoa Nguyen has uploaded this change for review. ( https://gem5-review.googlesource.com/c/public/gem5/+/39415 )

Change subject: dev,dev-arm: Add units to stats in /src/dev
......................................................................

dev,dev-arm: Add units to stats in /src/dev

Change-Id: I9d2449ef173f2f467717a9d233aef8d9a2f43f26
Signed-off-by: Hoa Nguyen <[email protected]>
---
M src/dev/arm/flash_device.cc
M src/dev/arm/hdlcd.cc
M src/dev/arm/smmu_v3.cc
M src/dev/arm/smmu_v3_caches.cc
M src/dev/arm/ufs_device.cc
M src/dev/net/etherdevice.cc
M src/dev/net/sinic.cc
M src/dev/pci/copy_engine.cc
M src/dev/storage/ide_disk.cc
9 files changed, 226 insertions(+), 128 deletions(-)



diff --git a/src/dev/arm/flash_device.cc b/src/dev/arm/flash_device.cc
index 533b3ed..138bdc2 100644
--- a/src/dev/arm/flash_device.cc
+++ b/src/dev/arm/flash_device.cc
@@ -458,12 +458,16 @@
 FlashDevice::
 FlashDeviceStats::FlashDeviceStats(Stats::Group *parent)
     : Stats::Group(parent, "FlashDevice"),
- ADD_STAT(totalGCActivations, "Number of Garbage collector activations"),
-    ADD_STAT(writeAccess, "Histogram of write addresses"),
-    ADD_STAT(readAccess, "Histogram of read addresses"),
-    ADD_STAT(fileSystemAccess, "Histogram of file system accesses"),
-    ADD_STAT(writeLatency, "Histogram of write latency"),
-    ADD_STAT(readLatency, "Histogram of read latency")
+    ADD_STAT_WITH_UNIT(totalGCActivations, UNIT_COUNT,
+                       "Number of Garbage collector activations"),
+    ADD_STAT_WITH_UNIT(writeAccess, UNIT_COUNT,
+                       "Histogram of write addresses"),
+    ADD_STAT_WITH_UNIT(readAccess, UNIT_COUNT,
+                       "Histogram of read addresses"),
+    ADD_STAT_WITH_UNIT(fileSystemAccess, UNIT_COUNT,
+                       "Histogram of file system accesses"),
+ ADD_STAT_WITH_UNIT(writeLatency, UNIT_TICK, "Histogram of write latency"),
+    ADD_STAT_WITH_UNIT(readLatency, UNIT_TICK, "Histogram of read latency")
 {
     using namespace Stats;

diff --git a/src/dev/arm/hdlcd.cc b/src/dev/arm/hdlcd.cc
index c6ff6db..f3959ec 100644
--- a/src/dev/arm/hdlcd.cc
+++ b/src/dev/arm/hdlcd.cc
@@ -81,7 +81,7 @@
 HDLcd::
 HDLcdStats::HDLcdStats(Stats::Group *parent)
     : Stats::Group(parent, "HDLcd"),
-      ADD_STAT(underruns, "Number of buffer underruns")
+ ADD_STAT_WITH_UNIT(underruns, UNIT_COUNT, "Number of buffer underruns")
 {
     using namespace Stats;

diff --git a/src/dev/arm/smmu_v3.cc b/src/dev/arm/smmu_v3.cc
index 3076f5e..01a45ef 100644
--- a/src/dev/arm/smmu_v3.cc
+++ b/src/dev/arm/smmu_v3.cc
@@ -746,12 +746,13 @@

 SMMUv3::SMMUv3Stats::SMMUv3Stats(Stats::Group *parent)
     : Stats::Group(parent),
-      ADD_STAT(steL1Fetches, "STE L1 fetches"),
-      ADD_STAT(steFetches, "STE fetches"),
-      ADD_STAT(cdL1Fetches, "CD L1 fetches"),
-      ADD_STAT(cdFetches, "CD fetches"),
-      ADD_STAT(translationTimeDist, "Time to translate address"),
-      ADD_STAT(ptwTimeDist, "Time to walk page tables")
+      ADD_STAT_WITH_UNIT(steL1Fetches, UNIT_COUNT, "STE L1 fetches"),
+      ADD_STAT_WITH_UNIT(steFetches, UNIT_COUNT, "STE fetches"),
+      ADD_STAT_WITH_UNIT(cdL1Fetches, UNIT_COUNT, "CD L1 fetches"),
+      ADD_STAT_WITH_UNIT(cdFetches, UNIT_COUNT, "CD fetches"),
+      ADD_STAT_WITH_UNIT(translationTimeDist, UNIT_TICK,
+                         "Time to translate address"),
+ ADD_STAT_WITH_UNIT(ptwTimeDist, UNIT_TICK, "Time to walk page tables")
 {
     using namespace Stats;

diff --git a/src/dev/arm/smmu_v3_caches.cc b/src/dev/arm/smmu_v3_caches.cc
index b8f284d..747171e 100644
--- a/src/dev/arm/smmu_v3_caches.cc
+++ b/src/dev/arm/smmu_v3_caches.cc
@@ -84,14 +84,22 @@
 SMMUv3BaseCache::
 SMMUv3BaseCacheStats::SMMUv3BaseCacheStats(Stats::Group *parent)
     : Stats::Group(parent),
-      ADD_STAT(averageLookups, "Average number lookups per second"),
-      ADD_STAT(totalLookups, "Total number of lookups"),
-      ADD_STAT(averageMisses, "Average number misses per second"),
-      ADD_STAT(totalMisses, "Total number of misses"),
-      ADD_STAT(averageUpdates, "Average number updates per second"),
-      ADD_STAT(totalUpdates, "Total number of updates"),
-      ADD_STAT(averageHitRate, "Average hit rate"),
-      ADD_STAT(insertions, "Number of insertions (not replacements)")
+      ADD_STAT_WITH_UNIT(averageLookups,
+ UNIT_RATE(Stats::Units::Count, Stats::Units::Second),
+                         "Average number lookups per second"),
+      ADD_STAT_WITH_UNIT(totalLookups, UNIT_COUNT,
+                         "Total number of lookups"),
+      ADD_STAT_WITH_UNIT(averageMisses,
+ UNIT_RATE(Stats::Units::Count, Stats::Units::Second),
+                         "Average number misses per second"),
+ ADD_STAT_WITH_UNIT(totalMisses, UNIT_COUNT, "Total number of misses"),
+      ADD_STAT_WITH_UNIT(averageUpdates,
+ UNIT_RATE(Stats::Units::Count, Stats::Units::Second),
+                         "Average number updates per second"),
+ ADD_STAT_WITH_UNIT(totalUpdates, UNIT_COUNT, "Total number of updates"),
+      ADD_STAT_WITH_UNIT(averageHitRate, UNIT_RATIO, "Average hit rate"),
+      ADD_STAT_WITH_UNIT(insertions, UNIT_COUNT,
+                         "Number of insertions (not replacements)")
 {
     using namespace Stats;

diff --git a/src/dev/arm/ufs_device.cc b/src/dev/arm/ufs_device.cc
index 1406e4a..672d81f 100644
--- a/src/dev/arm/ufs_device.cc
+++ b/src/dev/arm/ufs_device.cc
@@ -756,35 +756,56 @@
 UFSHostDevice::
 UFSHostDeviceStats::UFSHostDeviceStats(UFSHostDevice *parent)
     : Stats::Group(parent, "UFSDiskHost"),
-      ADD_STAT(currentSCSIQueue,
+      ADD_STAT_WITH_UNIT(currentSCSIQueue, UNIT_COUNT,
                "Most up to date length of the command queue"),
-      ADD_STAT(currentReadSSDQueue,
+      ADD_STAT_WITH_UNIT(currentReadSSDQueue, UNIT_COUNT,
                "Most up to date length of the read SSD queue"),
-      ADD_STAT(currentWriteSSDQueue,
+      ADD_STAT_WITH_UNIT(currentWriteSSDQueue, UNIT_COUNT,
                "Most up to date length of the write SSD queue"),
       /** Amount of data read/written */
-      ADD_STAT(totalReadSSD, "Number of bytes read from SSD"),
-      ADD_STAT(totalWrittenSSD, "Number of bytes written to SSD"),
- ADD_STAT(totalReadDiskTransactions,"Number of transactions from disk"), - ADD_STAT(totalWriteDiskTransactions, "Number of transactions to disk"), - ADD_STAT(totalReadUFSTransactions, "Number of transactions from device"), - ADD_STAT(totalWriteUFSTransactions, "Number of transactions to device"),
+      ADD_STAT_WITH_UNIT(totalReadSSD, UNIT_BYTE,
+                         "Number of bytes read from SSD"),
+      ADD_STAT_WITH_UNIT(totalWrittenSSD, UNIT_BYTE,
+                         "Number of bytes written to SSD"),
+      ADD_STAT_WITH_UNIT(totalReadDiskTransactions, UNIT_COUNT,
+                         "Number of transactions from disk"),
+      ADD_STAT_WITH_UNIT(totalWriteDiskTransactions, UNIT_COUNT,
+                         "Number of transactions to disk"),
+      ADD_STAT_WITH_UNIT(totalReadUFSTransactions, UNIT_COUNT,
+                         "Number of transactions from device"),
+      ADD_STAT_WITH_UNIT(totalWriteUFSTransactions, UNIT_COUNT,
+                         "Number of transactions to device"),
       /** Average bandwidth for reads and writes */
-      ADD_STAT(averageReadSSDBW, "Average read bandwidth (bytes/s)",
-               totalReadSSD / simSeconds),
-      ADD_STAT(averageWriteSSDBW, "Average write bandwidth (bytes/s)",
-               totalWrittenSSD / simSeconds),
-      ADD_STAT(averageSCSIQueue, "Average command queue length"),
-      ADD_STAT(averageReadSSDQueue, "Average read queue length"),
-      ADD_STAT(averageWriteSSDQueue, "Average write queue length"),
+      ADD_STAT_WITH_UNIT(averageReadSSDBW,
+ UNIT_RATE(Stats::Units::Byte, Stats::Units::Second),
+                         "Average read bandwidth (bytes/s)",
+                         totalReadSSD / simSeconds),
+      ADD_STAT_WITH_UNIT(averageWriteSSDBW,
+ UNIT_RATE(Stats::Units::Byte, Stats::Units::Second),
+                         "Average write bandwidth (bytes/s)",
+                         totalWrittenSSD / simSeconds),
+      ADD_STAT_WITH_UNIT(averageSCSIQueue,
+ UNIT_RATE(Stats::Units::Count, Stats::Units::Tick),
+                         "Average command queue length"),
+      ADD_STAT_WITH_UNIT(averageReadSSDQueue,
+ UNIT_RATE(Stats::Units::Count, Stats::Units::Tick),
+                         "Average read queue length"),
+      ADD_STAT_WITH_UNIT(averageWriteSSDQueue,
+ UNIT_RATE(Stats::Units::Count, Stats::Units::Tick),
+                         "Average write queue length"),
       /** Number of doorbells rung*/
-      ADD_STAT(curDoorbell, "Most up to date number of doorbells used",
-               parent->activeDoorbells),
-      ADD_STAT(maxDoorbell, "Maximum number of doorbells utilized"),
-      ADD_STAT(averageDoorbell, "Average number of Doorbells used"),
+      ADD_STAT_WITH_UNIT(curDoorbell, UNIT_COUNT,
+                         "Most up to date number of doorbells used",
+                         parent->activeDoorbells),
+      ADD_STAT_WITH_UNIT(maxDoorbell, UNIT_COUNT,
+                         "Maximum number of doorbells utilized"),
+      ADD_STAT_WITH_UNIT(averageDoorbell,
+ UNIT_RATE(Stats::Units::Count, Stats::Units::Tick),
+                         "Average number of Doorbells used"),
       /** Latency*/
-      ADD_STAT(transactionLatency, "Histogram of transaction times"),
-      ADD_STAT(idleTimes, "Histogram of idle times")
+      ADD_STAT_WITH_UNIT(transactionLatency, UNIT_TICK,
+                         "Histogram of transaction times"),
+      ADD_STAT_WITH_UNIT(idleTimes, UNIT_TICK, "Histogram of idle times")
 {
     using namespace Stats;

diff --git a/src/dev/net/etherdevice.cc b/src/dev/net/etherdevice.cc
index 64ab438..3170f03 100644
--- a/src/dev/net/etherdevice.cc
+++ b/src/dev/net/etherdevice.cc
@@ -32,78 +32,131 @@

 EtherDevice::EtherDeviceStats::EtherDeviceStats(Stats::Group *parent)
     : Stats::Group(parent, "EtherDevice"),
-      ADD_STAT(postedInterrupts, "Number of posts to CPU"),
-      ADD_STAT(txBytes, "Bytes Transmitted"),
-      ADD_STAT(rxBytes, "Bytes Received"),
-      ADD_STAT(txPackets, "Number of Packets Transmitted"),
-      ADD_STAT(rxPackets, "Number of Packets Received"),
-      ADD_STAT(txIpChecksums, "Number of tx IP Checksums done by device"),
-      ADD_STAT(rxIpChecksums, "Number of rx IP Checksums done by device"),
- ADD_STAT(txTcpChecksums, "Number of tx TCP Checksums done by device"), - ADD_STAT(rxTcpChecksums, "Number of rx TCP Checksums done by device"), - ADD_STAT(txUdpChecksums, "Number of tx UDP Checksums done by device"), - ADD_STAT(rxUdpChecksums, "Number of rx UDP Checksums done by device"), - ADD_STAT(descDmaReads, "Number of descriptors the device read w/ DMA"), - ADD_STAT(descDmaWrites, "Number of descriptors the device wrote w/ DMA"),
-      ADD_STAT(descDmaRdBytes, "Number of descriptor bytes read w/ DMA"),
-      ADD_STAT(descDmaWrBytes, "Number of descriptor bytes write w/ DMA"),
-      ADD_STAT(totBandwidth, "Total Bandwidth (bits/s)",
-               txBandwidth + rxBandwidth),
-      ADD_STAT(totPackets, "Total Packets", txPackets + rxPackets),
-      ADD_STAT(totBytes, "Total Bytes", txBytes + rxBytes),
-      ADD_STAT(totPacketRate, "Total Tranmission Rate (packets/s)",
-               totPackets / simSeconds),
-      ADD_STAT(txBandwidth, "Transmit Bandwidth (bits/s)",
-               txBytes * Stats::constant(8) / simSeconds),
-      ADD_STAT(rxBandwidth, "Receive Bandwidth (bits/s)",
-               rxBytes * Stats::constant(8) / simSeconds),
-      ADD_STAT(txPacketRate, "Packet Tranmission Rate (packets/s)",
-               txPackets / simSeconds),
-      ADD_STAT(rxPacketRate, "Packet Reception Rate (packets/s)",
-               rxPackets / simSeconds),
-      ADD_STAT(postedSwi, "Number of software interrupts posted to CPU"),
-      ADD_STAT(totalSwi, "Total number of Swi written to ISR"),
-      ADD_STAT(coalescedSwi,
-               "Average number of Swi's coalesced into each post",
-               totalSwi / postedInterrupts),
-      ADD_STAT(postedRxIdle,"Number of rxIdle interrupts posted to CPU"),
-      ADD_STAT(totalRxIdle, "Total number of RxIdle written to ISR"),
-      ADD_STAT(coalescedRxIdle,
-               "Average number of RxIdle's coalesced into each post",
-               totalRxIdle / postedInterrupts),
-      ADD_STAT(postedRxOk, "Number of RxOk interrupts posted to CPU"),
-      ADD_STAT(totalRxOk, "Total number of RxOk written to ISR"),
-      ADD_STAT(coalescedRxOk,
-               "Average number of RxOk's coalesced into each post",
-               totalRxOk / postedInterrupts),
-      ADD_STAT(postedRxDesc, "Number of RxDesc interrupts posted to CPU"),
-      ADD_STAT(totalRxDesc, "Total number of RxDesc written to ISR"),
-      ADD_STAT(coalescedRxDesc,
-               "Average number of RxDesc's coalesced into each post",
-               totalRxDesc / postedInterrupts),
-      ADD_STAT(postedTxOk, "Number of TxOk interrupts posted to CPU"),
-      ADD_STAT(totalTxOk, "Total number of TxOk written to ISR"),
-      ADD_STAT(coalescedTxOk,
-               "Average number of TxOk's coalesced into each post",
-               totalTxOk / postedInterrupts),
-      ADD_STAT(postedTxIdle, "Number of TxIdle interrupts posted to CPU"),
-      ADD_STAT(totalTxIdle, "Total number of TxIdle written to ISR"),
-      ADD_STAT(coalescedTxIdle,
-               "Average number of TxIdle's coalesced into each post",
-               totalTxIdle / postedInterrupts),
-      ADD_STAT(postedTxDesc, "Number of TxDesc interrupts posted to CPU"),
-      ADD_STAT(totalTxDesc, "Total number of TxDesc written to ISR"),
-      ADD_STAT(coalescedTxDesc,
-               "Average number of TxDesc's coalesced into each post",
-               totalTxDesc / postedInterrupts),
-      ADD_STAT(postedRxOrn, "Number of RxOrn posted to CPU"),
-      ADD_STAT(totalRxOrn, "Total number of RxOrn written to ISR"),
-      ADD_STAT(coalescedRxOrn,
-               "Average number of RxOrn's coalesced into each post",
-               totalRxOrn / postedInterrupts),
-      ADD_STAT(coalescedTotal,
-               "Average number of interrupts coalesced into each post"),
-      ADD_STAT(droppedPackets, "Number of packets dropped")
+      ADD_STAT_WITH_UNIT(postedInterrupts, UNIT_COUNT,
+                         "Number of posts to CPU"),
+      ADD_STAT_WITH_UNIT(txBytes, UNIT_BYTE, "Bytes Transmitted"),
+      ADD_STAT_WITH_UNIT(rxBytes, UNIT_BYTE, "Bytes Received"),
+      ADD_STAT_WITH_UNIT(txPackets, UNIT_COUNT,
+                         "Number of Packets Transmitted"),
+ ADD_STAT_WITH_UNIT(rxPackets, UNIT_COUNT, "Number of Packets Received"),
+      ADD_STAT_WITH_UNIT(txIpChecksums, UNIT_COUNT,
+                         "Number of tx IP Checksums done by device"),
+      ADD_STAT_WITH_UNIT(rxIpChecksums, UNIT_COUNT,
+                         "Number of rx IP Checksums done by device"),
+      ADD_STAT_WITH_UNIT(txTcpChecksums, UNIT_COUNT,
+                         "Number of tx TCP Checksums done by device"),
+      ADD_STAT_WITH_UNIT(rxTcpChecksums, UNIT_COUNT,
+                         "Number of rx TCP Checksums done by device"),
+      ADD_STAT_WITH_UNIT(txUdpChecksums, UNIT_COUNT,
+                         "Number of tx UDP Checksums done by device"),
+      ADD_STAT_WITH_UNIT(rxUdpChecksums, UNIT_COUNT,
+                         "Number of rx UDP Checksums done by device"),
+      ADD_STAT_WITH_UNIT(descDmaReads, UNIT_COUNT,
+                         "Number of descriptors the device read w/ DMA"),
+      ADD_STAT_WITH_UNIT(descDmaWrites, UNIT_COUNT,
+                         "Number of descriptors the device wrote w/ DMA"),
+      ADD_STAT_WITH_UNIT(descDmaRdBytes, UNIT_BYTE,
+                         "Number of descriptor bytes read w/ DMA"),
+      ADD_STAT_WITH_UNIT(descDmaWrBytes, UNIT_BYTE,
+                         "Number of descriptor bytes write w/ DMA"),
+      ADD_STAT_WITH_UNIT(totBandwidth,
+ UNIT_RATE(Stats::Units::Bit, Stats::Units::Second),
+                         "Total Bandwidth (bits/s)",
+                         txBandwidth + rxBandwidth),
+      ADD_STAT_WITH_UNIT(totPackets, UNIT_COUNT, "Total Packets",
+                         txPackets + rxPackets),
+      ADD_STAT_WITH_UNIT(totBytes, UNIT_BYTE, "Total Bytes",
+                         txBytes + rxBytes),
+      ADD_STAT_WITH_UNIT(totPacketRate,
+ UNIT_RATE(Stats::Units::Count, Stats::Units::Second),
+                         "Total Tranmission Rate (packets/s)",
+                         totPackets / simSeconds),
+      ADD_STAT_WITH_UNIT(txBandwidth,
+ UNIT_RATE(Stats::Units::Bit, Stats::Units::Second),
+                         "Transmit Bandwidth (bits/s)",
+                         txBytes * Stats::constant(8) / simSeconds),
+      ADD_STAT_WITH_UNIT(rxBandwidth,
+ UNIT_RATE(Stats::Units::Bit, Stats::Units::Second),
+                         "Receive Bandwidth (bits/s)",
+                         rxBytes * Stats::constant(8) / simSeconds),
+      ADD_STAT_WITH_UNIT(txPacketRate,
+ UNIT_RATE(Stats::Units::Count, Stats::Units::Second),
+                         "Packet Tranmission Rate (packets/s)",
+                         txPackets / simSeconds),
+      ADD_STAT_WITH_UNIT(rxPacketRate,
+ UNIT_RATE(Stats::Units::Count, Stats::Units::Second),
+                         "Packet Reception Rate (packets/s)",
+                         rxPackets / simSeconds),
+      ADD_STAT_WITH_UNIT(postedSwi, UNIT_COUNT,
+                         "Number of software interrupts posted to CPU"),
+      ADD_STAT_WITH_UNIT(totalSwi, UNIT_COUNT,
+                         "Total number of Swi written to ISR"),
+      ADD_STAT_WITH_UNIT(coalescedSwi,
+ UNIT_RATE(Stats::Units::Count, Stats::Units::Count), + "Average number of Swi's coalesced into each post",
+                         totalSwi / postedInterrupts),
+      ADD_STAT_WITH_UNIT(postedRxIdle, UNIT_COUNT,
+                         "Number of rxIdle interrupts posted to CPU"),
+      ADD_STAT_WITH_UNIT(totalRxIdle, UNIT_COUNT,
+                         "Total number of RxIdle written to ISR"),
+      ADD_STAT_WITH_UNIT(coalescedRxIdle,
+ UNIT_RATE(Stats::Units::Count, Stats::Units::Count), + "Average number of RxIdle's coalesced into each post",
+                         totalRxIdle / postedInterrupts),
+      ADD_STAT_WITH_UNIT(postedRxOk, UNIT_COUNT,
+                         "Number of RxOk interrupts posted to CPU"),
+      ADD_STAT_WITH_UNIT(totalRxOk, UNIT_COUNT,
+                         "Total number of RxOk written to ISR"),
+      ADD_STAT_WITH_UNIT(coalescedRxOk,
+ UNIT_RATE(Stats::Units::Count, Stats::Units::Count), + "Average number of RxOk's coalesced into each post",
+                         totalRxOk / postedInterrupts),
+      ADD_STAT_WITH_UNIT(postedRxDesc, UNIT_COUNT,
+                         "Number of RxDesc interrupts posted to CPU"),
+      ADD_STAT_WITH_UNIT(totalRxDesc, UNIT_COUNT,
+                         "Total number of RxDesc written to ISR"),
+      ADD_STAT_WITH_UNIT(coalescedRxDesc,
+ UNIT_RATE(Stats::Units::Count, Stats::Units::Count), + "Average number of RxDesc's coalesced into each post",
+                         totalRxDesc / postedInterrupts),
+      ADD_STAT_WITH_UNIT(postedTxOk, UNIT_COUNT,
+                         "Number of TxOk interrupts posted to CPU"),
+      ADD_STAT_WITH_UNIT(totalTxOk, UNIT_COUNT,
+                         "Total number of TxOk written to ISR"),
+      ADD_STAT_WITH_UNIT(coalescedTxOk,
+ UNIT_RATE(Stats::Units::Count, Stats::Units::Count), + "Average number of TxOk's coalesced into each post",
+                         totalTxOk / postedInterrupts),
+      ADD_STAT_WITH_UNIT(postedTxIdle, UNIT_COUNT,
+                         "Number of TxIdle interrupts posted to CPU"),
+      ADD_STAT_WITH_UNIT(totalTxIdle, UNIT_COUNT,
+                         "Total number of TxIdle written to ISR"),
+      ADD_STAT_WITH_UNIT(coalescedTxIdle,
+ UNIT_RATE(Stats::Units::Count, Stats::Units::Count), + "Average number of TxIdle's coalesced into each post",
+                         totalTxIdle / postedInterrupts),
+      ADD_STAT_WITH_UNIT(postedTxDesc, UNIT_COUNT,
+                         "Number of TxDesc interrupts posted to CPU"),
+      ADD_STAT_WITH_UNIT(totalTxDesc, UNIT_COUNT,
+                         "Total number of TxDesc written to ISR"),
+      ADD_STAT_WITH_UNIT(coalescedTxDesc,
+ UNIT_RATE(Stats::Units::Count, Stats::Units::Count), + "Average number of TxDesc's coalesced into each post",
+                         totalTxDesc / postedInterrupts),
+      ADD_STAT_WITH_UNIT(postedRxOrn, UNIT_COUNT,
+                         "Number of RxOrn posted to CPU"),
+      ADD_STAT_WITH_UNIT(totalRxOrn, UNIT_COUNT,
+                         "Total number of RxOrn written to ISR"),
+      ADD_STAT_WITH_UNIT(coalescedRxOrn,
+ UNIT_RATE(Stats::Units::Count, Stats::Units::Count), + "Average number of RxOrn's coalesced into each post",
+                         totalRxOrn / postedInterrupts),
+      ADD_STAT_WITH_UNIT(coalescedTotal,
+ UNIT_RATE(Stats::Units::Count, Stats::Units::Count), + "Average number of interrupts coalesced into each "
+                         "post"),
+      ADD_STAT_WITH_UNIT(droppedPackets, UNIT_COUNT,
+                         "Number of packets dropped")
 {

     postedInterrupts
diff --git a/src/dev/net/sinic.cc b/src/dev/net/sinic.cc
index ffec996..3b832ba 100644
--- a/src/dev/net/sinic.cc
+++ b/src/dev/net/sinic.cc
@@ -99,11 +99,16 @@

 Device::DeviceStats::DeviceStats(Stats::Group *parent)
     : Stats::Group(parent, "SinicDevice"),
-      ADD_STAT(totalVnicDistance, "Total vnic distance"),
-      ADD_STAT(numVnicDistance, "Number of vnic distance measurements"),
-      ADD_STAT(maxVnicDistance, "Maximum vnic distance"),
-      ADD_STAT(avgVnicDistance, "Average vnic distance",
-               totalVnicDistance / numVnicDistance),
+      ADD_STAT_WITH_UNIT(totalVnicDistance, UNIT_COUNT,
+                         "Total vnic distance"),
+      ADD_STAT_WITH_UNIT(numVnicDistance, UNIT_COUNT,
+                         "Number of vnic distance measurements"),
+      ADD_STAT_WITH_UNIT(maxVnicDistance, UNIT_COUNT,
+                         "Maximum vnic distance"),
+      ADD_STAT_WITH_UNIT(avgVnicDistance,
+ UNIT_RATE(Stats::Units::Count, Stats::Units::Count),
+                         "Average vnic distance",
+                         totalVnicDistance / numVnicDistance),
       _maxVnicDistance(0)
 {
 }
diff --git a/src/dev/pci/copy_engine.cc b/src/dev/pci/copy_engine.cc
index 02d3d86..fe9afac 100644
--- a/src/dev/pci/copy_engine.cc
+++ b/src/dev/pci/copy_engine.cc
@@ -430,8 +430,10 @@
 CopyEngineStats::CopyEngineStats(Stats::Group *parent,
                                  const uint8_t &channel_count)
     : Stats::Group(parent, "CopyEngine"),
-      ADD_STAT(bytesCopied, "Number of bytes copied by each engine"),
- ADD_STAT(copiesProcessed, "Number of copies processed by each engine")
+      ADD_STAT_WITH_UNIT(bytesCopied, UNIT_BYTE,
+                         "Number of bytes copied by each engine"),
+      ADD_STAT_WITH_UNIT(copiesProcessed, UNIT_COUNT,
+                         "Number of copies processed by each engine")
 {
     bytesCopied
         .init(channel_count)
diff --git a/src/dev/storage/ide_disk.cc b/src/dev/storage/ide_disk.cc
index 808c705..7657318 100644
--- a/src/dev/storage/ide_disk.cc
+++ b/src/dev/storage/ide_disk.cc
@@ -390,14 +390,18 @@
 IdeDisk::
 IdeDiskStats::IdeDiskStats(Stats::Group *parent)
     : Stats::Group(parent, "IdeDisk"),
-      ADD_STAT(dmaReadFullPages,
+      ADD_STAT_WITH_UNIT(dmaReadFullPages, UNIT_COUNT,
                "Number of full page size DMA reads (not PRD)."),
-      ADD_STAT(dmaReadBytes,
+      ADD_STAT_WITH_UNIT(dmaReadBytes, UNIT_BYTE,
                "Number of bytes transfered via DMA reads (not PRD)."),
-      ADD_STAT(dmaReadTxs, "Number of DMA read transactions (not PRD)."),
-      ADD_STAT(dmaWriteFullPages, "Number of full page size DMA writes."),
- ADD_STAT(dmaWriteBytes, "Number of bytes transfered via DMA writes."),
-      ADD_STAT(dmaWriteTxs, "Number of DMA write transactions.")
+      ADD_STAT_WITH_UNIT(dmaReadTxs, UNIT_COUNT,
+                         "Number of DMA read transactions (not PRD)."),
+      ADD_STAT_WITH_UNIT(dmaWriteFullPages, UNIT_COUNT,
+                         "Number of full page size DMA writes."),
+      ADD_STAT_WITH_UNIT(dmaWriteBytes, UNIT_BYTE,
+                         "Number of bytes transfered via DMA writes."),
+      ADD_STAT_WITH_UNIT(dmaWriteTxs, UNIT_COUNT,
+                         "Number of DMA write transactions.")
 {
 }


--
To view, visit https://gem5-review.googlesource.com/c/public/gem5/+/39415
To unsubscribe, or for help writing mail filters, visit https://gem5-review.googlesource.com/settings

Gerrit-Project: public/gem5
Gerrit-Branch: develop
Gerrit-Change-Id: I9d2449ef173f2f467717a9d233aef8d9a2f43f26
Gerrit-Change-Number: 39415
Gerrit-PatchSet: 1
Gerrit-Owner: Hoa Nguyen <[email protected]>
Gerrit-MessageType: newchange
_______________________________________________
gem5-dev mailing list -- [email protected]
To unsubscribe send an email to [email protected]
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s

Reply via email to