changeset 8149b36b8803 in /z/repo/gem5
details: http://repo.gem5.org/gem5?cmd=changeset;node=8149b36b8803
description:
config: Update memtest to stress test cache clusivity
This patch adds an new twist to the memtest cache hierarchy, in that
it switches from mostly inclusive to mostly exclusive at every level
in the tree. This has helped weed out plenty issues, and serves as a
good stress tests.
diffstat:
configs/example/memtest.py | 11 ++++++++++-
1 files changed, 10 insertions(+), 1 deletions(-)
diffs (28 lines):
diff -r f8fdd931e674 -r 8149b36b8803 configs/example/memtest.py
--- a/configs/example/memtest.py Fri Nov 06 03:26:41 2015 -0500
+++ b/configs/example/memtest.py Fri Nov 06 03:26:42 2015 -0500
@@ -177,7 +177,7 @@
# Define a prototype L1 cache that we scale for all successive levels
proto_l1 = Cache(size = '32kB', assoc = 4,
hit_latency = 1, response_latency = 1,
- tgts_per_mshr = 8)
+ tgts_per_mshr = 8, clusivity = 'mostly_incl')
if options.blocking:
proto_l1.mshrs = 1
@@ -197,6 +197,15 @@
next.response_latency = prev.response_latency * 10
next.assoc = prev.assoc * scale
next.mshrs = prev.mshrs * scale
+
+ # Swap the inclusivity/exclusivity at each level. L2 is mostly
+ # exclusive with respect to L1, L3 mostly inclusive, L4 mostly
+ # exclusive etc.
+ if (prev.clusivity.value == 'mostly_incl'):
+ next.clusivity = 'mostly_excl'
+ else:
+ next.clusivity = 'mostly_incl'
+
cache_proto.insert(0, next)
# Make a prototype for the tester to be used throughout
_______________________________________________
gem5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/gem5-dev