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