diff options
author | Mitch Hayenga <mitch.hayenga@arm.com> | 2014-05-09 18:58:46 -0400 |
---|---|---|
committer | Mitch Hayenga <mitch.hayenga@arm.com> | 2014-05-09 18:58:46 -0400 |
commit | a15b713cba52d9d4d2c1204fef050fb3856ca33e (patch) | |
tree | 4bd5a1e3fda3aa33feb10cc475f8b8554f3d0958 /src/mem/packet.hh | |
parent | b9e6c260a01bab2b59d6eef4f45a642f57484275 (diff) | |
download | gem5-a15b713cba52d9d4d2c1204fef050fb3856ca33e.tar.xz |
mem: Squash prefetch requests from downstream caches
This patch squashes prefetch requests from downstream caches,
so that they do not steal cachelines away from caches closer
to the cpu. It was originally coded by Mitch Hayenga and
modified by Aasheesh Kolli.
Diffstat (limited to 'src/mem/packet.hh')
-rw-r--r-- | src/mem/packet.hh | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/mem/packet.hh b/src/mem/packet.hh index 4bdcc9a93..7b9e05945 100644 --- a/src/mem/packet.hh +++ b/src/mem/packet.hh @@ -260,6 +260,8 @@ class Packet : public Printable /// suppress the error if this packet encounters a functional /// access failure. static const FlagsType SUPPRESS_FUNC_ERROR = 0x00008000; + // Signal prefetch squash through express snoop flag + static const FlagsType PREFETCH_SNOOP_SQUASH = 0x00010000; Flags flags; @@ -522,6 +524,8 @@ class Packet : public Printable bool isSupplyExclusive() const { return flags.isSet(SUPPLY_EXCLUSIVE); } void setSuppressFuncError() { flags.set(SUPPRESS_FUNC_ERROR); } bool suppressFuncError() const { return flags.isSet(SUPPRESS_FUNC_ERROR); } + void setPrefetchSquashed() { flags.set(PREFETCH_SNOOP_SQUASH); } + bool prefetchSquashed() const { return flags.isSet(PREFETCH_SNOOP_SQUASH); } // Network error conditions... encapsulate them as methods since // their encoding keeps changing (from result field to command |