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