Giacomo Travaglini has uploaded this change for review. ( https://gem5-review.googlesource.com/c/public/gem5/+/37955 )

Change subject: arch-arm: Make TLB misses from a sw prefetch visible
......................................................................

arch-arm: Make TLB misses from a sw prefetch visible

While a TLB hit caused by a prefetching operation is visible in terms
of TLB stats update, this is not the case for a TLB miss, which is
invisible to the stats as it is now.

This patch is realigning the behaviour to be more consistent: we will
always update the stats regardless of whether the access caused a
TLB hit/miss

Change-Id: I161e04fc09a0dbba7468a52848aa7710d1476e19
Signed-off-by: Giacomo Travaglini <giacomo.travagl...@arm.com>
---
M src/arch/arm/tlb.cc
1 file changed, 8 insertions(+), 7 deletions(-)



diff --git a/src/arch/arm/tlb.cc b/src/arch/arm/tlb.cc
index 5d2ed90..7564ca4 100644
--- a/src/arch/arm/tlb.cc
+++ b/src/arch/arm/tlb.cc
@@ -1570,6 +1570,14 @@
*te = lookup(vaddr, asid, vmid, isHyp, is_secure, false, false, target_el,
                  false);
     if (*te == NULL) {
+ // Note, we are updating the stats for sw prefetching misses as well
+        if (is_fetch)
+            stats.instMisses++;
+        else if (is_write)
+            stats.writeMisses++;
+        else
+            stats.readMisses++;
+
         if (req->isPrefetch()) {
// if the request is a prefetch don't attempt to fill the TLB or go // any further with the memory access (here we can safely use the
@@ -1579,13 +1587,6 @@
                vaddr_tainted, ArmFault::PrefetchTLBMiss, isStage2);
         }

-        if (is_fetch)
-            stats.instMisses++;
-        else if (is_write)
-            stats.writeMisses++;
-        else
-            stats.readMisses++;
-
         // start translation table walk, pass variables rather than
         // re-retreaving in table walker for speed
DPRINTF(TLB, "TLB Miss: Starting hardware table walker for %#x(%d:%d)\n",

--
To view, visit https://gem5-review.googlesource.com/c/public/gem5/+/37955
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: I161e04fc09a0dbba7468a52848aa7710d1476e19
Gerrit-Change-Number: 37955
Gerrit-PatchSet: 1
Gerrit-Owner: Giacomo Travaglini <giacomo.travagl...@arm.com>
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