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

Change subject: arch-arm,arch-riscv,arch-x86: Add units to stats
......................................................................

arch-arm,arch-riscv,arch-x86: Add units to stats

Change-Id: I6bf506c223207306d71511491e024546b209030f
Signed-off-by: Hoa Nguyen <hoangu...@ucdavis.edu>
---
M src/arch/arm/table_walker.cc
M src/arch/arm/tlb.cc
M src/arch/riscv/tlb.cc
M src/arch/x86/tlb.cc
4 files changed, 84 insertions(+), 62 deletions(-)



diff --git a/src/arch/arm/table_walker.cc b/src/arch/arm/table_walker.cc
index e658b02..1daab68 100644
--- a/src/arch/arm/table_walker.cc
+++ b/src/arch/arm/table_walker.cc
@@ -2317,25 +2317,31 @@

 TableWalker::TableWalkerStats::TableWalkerStats(Stats::Group *parent)
     : Stats::Group(parent),
-    ADD_STAT(walks, "Table walker walks requested"),
-    ADD_STAT(walksShortDescriptor, "Table walker walks initiated with"
-        " short descriptors"),
-    ADD_STAT(walksLongDescriptor, "Table walker walks initiated with"
-        " long descriptors"),
-    ADD_STAT(walksShortTerminatedAtLevel, "Level at which table walker"
-        " walks with short descriptors terminate"),
-    ADD_STAT(walksLongTerminatedAtLevel, "Level at which table walker"
-        " walks with long descriptors terminate"),
-    ADD_STAT(squashedBefore, "Table walks squashed before starting"),
-    ADD_STAT(squashedAfter, "Table walks squashed after completion"),
-    ADD_STAT(walkWaitTime, "Table walker wait (enqueue to first request)"
-        " latency"),
- ADD_STAT(walkServiceTime, "Table walker service (enqueue to completion)"
-        " latency"),
-    ADD_STAT(pendingWalks, "Table walker pending requests distribution"),
-    ADD_STAT(pageSizes, "Table walker page sizes translated"),
-    ADD_STAT(requestOrigin, "Table walker requests started/completed,"
-        " data/inst")
+    ADD_STAT_WITH_UNIT(walks, UNIT_COUNT, "Table walker walks requested"),
+    ADD_STAT_WITH_UNIT(walksShortDescriptor, UNIT_COUNT,
+ "Table walker walks initiated with short descriptors"),
+    ADD_STAT_WITH_UNIT(walksLongDescriptor, UNIT_COUNT,
+ "Table walker walks initiated with long descriptors"),
+    ADD_STAT_WITH_UNIT(walksShortTerminatedAtLevel, UNIT_COUNT,
+                       "Level at which table walker walks with short "
+                       "descriptors terminate"),
+    ADD_STAT_WITH_UNIT(walksLongTerminatedAtLevel, UNIT_COUNT,
+                       "Level at which table walker walks with long "
+                       "descriptors terminate"),
+    ADD_STAT_WITH_UNIT(squashedBefore, UNIT_COUNT,
+                       "Table walks squashed before starting"),
+    ADD_STAT_WITH_UNIT(squashedAfter, UNIT_COUNT,
+                       "Table walks squashed after completion"),
+    ADD_STAT_WITH_UNIT(walkWaitTime, UNIT_TICK,
+ "Table walker wait (enqueue to first request) latency"),
+    ADD_STAT_WITH_UNIT(walkServiceTime, UNIT_TICK,
+ "Table walker service (enqueue to completion) latency"),
+    ADD_STAT_WITH_UNIT(pendingWalks, UNIT_TICK,
+                       "Table walker pending requests distribution"),
+    ADD_STAT_WITH_UNIT(pageSizes, UNIT_COUNT,
+                       "Table walker page sizes translated"),
+    ADD_STAT_WITH_UNIT(requestOrigin, UNIT_COUNT,
+ "Table walker requests started/completed, data/inst")
 {
     walksShortDescriptor
         .flags(Stats::nozero);
diff --git a/src/arch/arm/tlb.cc b/src/arch/arm/tlb.cc
index 5d2ed90..3866688 100644
--- a/src/arch/arm/tlb.cc
+++ b/src/arch/arm/tlb.cc
@@ -502,34 +502,45 @@

 TLB::TlbStats::TlbStats(Stats::Group *parent)
   : Stats::Group(parent),
-    ADD_STAT(instHits,"ITB inst hits"),
-    ADD_STAT(instMisses, "ITB inst misses"),
-    ADD_STAT(readHits, "DTB read hits"),
-    ADD_STAT(readMisses, "DTB read misses"),
-    ADD_STAT(writeHits, "DTB write hits"),
-    ADD_STAT(writeMisses, "DTB write misses"),
-    ADD_STAT(inserts, "Number of times an entry is inserted into the TLB"),
-    ADD_STAT(flushTlb, "Number of times complete TLB was flushed"),
-    ADD_STAT(flushTlbMva, "Number of times TLB was flushed by MVA"),
- ADD_STAT(flushTlbMvaAsid, "Number of times TLB was flushed by MVA & ASID"),
-    ADD_STAT(flushTlbAsid, "Number of times TLB was flushed by ASID"),
-    ADD_STAT(flushedEntries, "Number of entries that have been flushed"
-        " from TLB"),
-    ADD_STAT(alignFaults, "Number of TLB faults due to alignment"
-        " restrictions"),
-    ADD_STAT(prefetchFaults, "Number of TLB faults due to prefetch"),
- ADD_STAT(domainFaults, "Number of TLB faults due to domain restrictions"),
-    ADD_STAT(permsFaults, "Number of TLB faults due to permissions"
-        " restrictions"),
-    ADD_STAT(readAccesses, "DTB read accesses", readHits + readMisses),
-    ADD_STAT(writeAccesses, "DTB write accesses", writeHits + writeMisses),
-    ADD_STAT(instAccesses, "ITB inst accesses", instHits + instMisses),
-    ADD_STAT(hits, "Total TLB (inst and data) hits",
-        readHits + writeHits + instHits),
-    ADD_STAT(misses, "Total TLB (inst and data) misses",
-        readMisses + writeMisses + instMisses),
-    ADD_STAT(accesses, "Total TLB (inst and data) accesses",
-        readAccesses + writeAccesses + instAccesses)
+    ADD_STAT_WITH_UNIT(instHits, UNIT_COUNT, "ITB inst hits"),
+    ADD_STAT_WITH_UNIT(instMisses, UNIT_COUNT, "ITB inst misses"),
+    ADD_STAT_WITH_UNIT(readHits, UNIT_COUNT, "DTB read hits"),
+    ADD_STAT_WITH_UNIT(readMisses, UNIT_COUNT,  "DTB read misses"),
+    ADD_STAT_WITH_UNIT(writeHits, UNIT_COUNT, "DTB write hits"),
+    ADD_STAT_WITH_UNIT(writeMisses, UNIT_COUNT, "DTB write misses"),
+    ADD_STAT_WITH_UNIT(inserts, UNIT_COUNT,
+ "Number of times an entry is inserted into the TLB"),
+    ADD_STAT_WITH_UNIT(flushTlb, UNIT_COUNT,
+                       "Number of times complete TLB was flushed"),
+    ADD_STAT_WITH_UNIT(flushTlbMva, UNIT_COUNT,
+                       "Number of times TLB was flushed by MVA"),
+    ADD_STAT_WITH_UNIT(flushTlbMvaAsid, UNIT_COUNT,
+                       "Number of times TLB was flushed by MVA & ASID"),
+    ADD_STAT_WITH_UNIT(flushTlbAsid, UNIT_COUNT,
+                       "Number of times TLB was flushed by ASID"),
+    ADD_STAT_WITH_UNIT(flushedEntries, UNIT_COUNT,
+ "Number of entries that have been flushed from TLB"),
+    ADD_STAT_WITH_UNIT(alignFaults, UNIT_COUNT,
+ "Number of TLB faults due to alignment restrictions"),
+    ADD_STAT_WITH_UNIT(prefetchFaults, UNIT_COUNT,
+                       "Number of TLB faults due to prefetch"),
+    ADD_STAT_WITH_UNIT(domainFaults, UNIT_COUNT,
+                       "Number of TLB faults due to domain restrictions"),
+    ADD_STAT_WITH_UNIT(permsFaults, UNIT_COUNT,
+ "Number of TLB faults due to permissions restrictions"),
+    ADD_STAT_WITH_UNIT(readAccesses, UNIT_COUNT, "DTB read accesses",
+                       readHits + readMisses),
+    ADD_STAT_WITH_UNIT(writeAccesses, UNIT_COUNT, "DTB write accesses",
+                       writeHits + writeMisses),
+    ADD_STAT_WITH_UNIT(instAccesses, UNIT_COUNT, "ITB inst accesses",
+                       instHits + instMisses),
+    ADD_STAT_WITH_UNIT(hits, UNIT_COUNT, "Total TLB (inst and data) hits",
+                       readHits + writeHits + instHits),
+ ADD_STAT_WITH_UNIT(misses, UNIT_COUNT, "Total TLB (inst and data) misses",
+                       readMisses + writeMisses + instMisses),
+    ADD_STAT_WITH_UNIT(accesses, UNIT_COUNT,
+                       "Total TLB (inst and data) accesses",
+                       readAccesses + writeAccesses + instAccesses)
 {
 }

diff --git a/src/arch/riscv/tlb.cc b/src/arch/riscv/tlb.cc
index c1ed30e..ead2bd3 100644
--- a/src/arch/riscv/tlb.cc
+++ b/src/arch/riscv/tlb.cc
@@ -499,16 +499,19 @@

 TLB::TlbStats::TlbStats(Stats::Group *parent)
   : Stats::Group(parent),
-    ADD_STAT(read_hits, "read hits"),
-    ADD_STAT(read_misses, "read misses"),
-    ADD_STAT(read_accesses, "read accesses"),
-    ADD_STAT(write_hits, "write hits"),
-    ADD_STAT(write_misses, "write misses"),
-    ADD_STAT(write_accesses, "write accesses"),
- ADD_STAT(hits, "Total TLB (read and write) hits", read_hits + write_hits),
-    ADD_STAT(misses, "Total TLB (read and write) misses",
-        read_misses + write_misses),
-    ADD_STAT(accesses, "Total TLB (read and write) accesses",
-        read_accesses + write_accesses)
+    ADD_STAT_WITH_UNIT(read_hits, UNIT_COUNT, "read hits"),
+    ADD_STAT_WITH_UNIT(read_misses, UNIT_COUNT, "read misses"),
+    ADD_STAT_WITH_UNIT(read_accesses, UNIT_COUNT, "read accesses"),
+    ADD_STAT_WITH_UNIT(write_hits, UNIT_COUNT, "write hits"),
+    ADD_STAT_WITH_UNIT(write_misses, UNIT_COUNT, "write misses"),
+    ADD_STAT_WITH_UNIT(write_accesses, UNIT_COUNT, "write accesses"),
+    ADD_STAT_WITH_UNIT(hits, UNIT_COUNT, "Total TLB (read and write) hits",
+                       read_hits + write_hits),
+    ADD_STAT_WITH_UNIT(misses, UNIT_COUNT,
+                       "Total TLB (read and write) misses",
+                       read_misses + write_misses),
+    ADD_STAT_WITH_UNIT(accesses, UNIT_COUNT,
+                       "Total TLB (read and write) accesses",
+                       read_accesses + write_accesses)
 {
 }
diff --git a/src/arch/x86/tlb.cc b/src/arch/x86/tlb.cc
index 045015f..984552f 100644
--- a/src/arch/x86/tlb.cc
+++ b/src/arch/x86/tlb.cc
@@ -520,10 +520,12 @@

 TLB::TlbStats::TlbStats(Stats::Group *parent)
   : Stats::Group(parent),
-    ADD_STAT(rdAccesses, "TLB accesses on read requests"),
-    ADD_STAT(wrAccesses, "TLB accesses on write requests"),
-    ADD_STAT(rdMisses, "TLB misses on read requests"),
-    ADD_STAT(wrMisses, "TLB misses on write requests")
+    ADD_STAT_WITH_UNIT(rdAccesses, UNIT_COUNT,
+                       "TLB accesses on read requests"),
+    ADD_STAT_WITH_UNIT(wrAccesses, UNIT_COUNT,
+                       "TLB accesses on write requests"),
+ ADD_STAT_WITH_UNIT(rdMisses, UNIT_COUNT, "TLB misses on read requests"), + ADD_STAT_WITH_UNIT(wrMisses, UNIT_COUNT, "TLB misses on write requests")
 {
 }


--
To view, visit https://gem5-review.googlesource.com/c/public/gem5/+/39416
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: I6bf506c223207306d71511491e024546b209030f
Gerrit-Change-Number: 39416
Gerrit-PatchSet: 1
Gerrit-Owner: Hoa Nguyen <hoangu...@ucdavis.edu>
Gerrit-MessageType: newchange
_______________________________________________
gem5-dev mailing list -- gem5-dev@gem5.org
To unsubscribe send an email to gem5-dev-le...@gem5.org
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s

Reply via email to