changeset 7732bca47f60 in /z/repo/m5
details: http://repo.m5sim.org/m5?cmd=changeset;node=7732bca47f60
description:
        cache stats: account for writebacks and/or device occupancy in the 
cache.
        Plus, a minor bugfix that neglects to update blk->contextSrc in certain 
cases on a cache insert.

diffstat:

2 files changed, 8 insertions(+), 2 deletions(-)
src/mem/cache/tags/base.cc |    2 +-
src/mem/cache/tags/lru.cc  |    8 +++++++-

diffs (45 lines):

diff -r ab05e20dc4a7 -r 7732bca47f60 src/mem/cache/tags/base.cc
--- a/src/mem/cache/tags/base.cc        Tue Feb 23 09:34:22 2010 -0800
+++ b/src/mem/cache/tags/base.cc        Wed Feb 24 13:46:55 2010 -0800
@@ -88,7 +88,7 @@
         ;
 
     occupancies
-        .init(cache->numCpus())
+        .init(cache->numCpus() + 1)
         .name(name + ".occ_blocks")
         .desc("Average occupied blocks per context")
         .flags(nozero | nonan)
diff -r ab05e20dc4a7 -r 7732bca47f60 src/mem/cache/tags/lru.cc
--- a/src/mem/cache/tags/lru.cc Tue Feb 23 09:34:22 2010 -0800
+++ b/src/mem/cache/tags/lru.cc Wed Feb 24 13:46:55 2010 -0800
@@ -162,6 +162,8 @@
         if (blk->contextSrc != -1) {
             occupancies[blk->contextSrc % cache->numCpus()]--;
             blk->contextSrc = -1;
+        } else {
+            occupancies[cache->numCpus()]--;
         }
 
         DPRINTF(CacheRepl, "set %x: selecting blk %x for replacement\n",
@@ -188,8 +190,10 @@
     // deal with what we are bringing in
     if (context_src != -1) {
         occupancies[context_src % cache->numCpus()]++;
-        blk->contextSrc = context_src;
+    } else {
+        occupancies[cache->numCpus()]++;
     }
+    blk->contextSrc = context_src;
 
     unsigned set = extractSet(addr);
     sets[set].moveToHead(blk);
@@ -206,6 +210,8 @@
         if (blk->contextSrc != -1) {
             occupancies[blk->contextSrc % cache->numCpus()]--;
             blk->contextSrc = -1;
+        } else {
+            occupancies[cache->numCpus()]--;
         }
     }
 }
_______________________________________________
m5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/m5-dev

Reply via email to