gem5/src/mem/cache
Andreas Hansson 94f94fbc55 mem: Update mostly exclusive cache policy to cover more cases
This patch changes how the mostly exclusive policy is enforced to
ensure that we drop blocks when we should. As part of this change, the
actual invalidation due to the clusivity enforcement is moved outside
the hit handling, to a separate method maintainClusivity. For the
timing mode that means we can deal with all MSHR targets before taking
any action and possibly dropping the block. The method
satisfyCpuSideRequest is also renamed satisfyRequest as part of this
change (since we only ever see requests from the cpu-side port).

Change-Id: If6f3d1e0c3e7be9a67b72a55e4fc2ec4a90fd3d2
Reviewed-by: Nikos Nikoleris <nikos.nikoleris@arm.com>
Reviewed-by: Tony Gutierrez <anthony.gutierrez@amd.com>
2016-08-12 14:11:45 +01:00
..
prefetch sim: Call regStats of base-class as well 2016-06-06 17:16:43 +01:00
tags sim: Call regStats of base-class as well 2016-06-06 17:16:43 +01:00
base.cc sim: Call regStats of base-class as well 2016-06-06 17:16:43 +01:00
base.hh mem: fix the line length in the cache related classes 2016-05-26 11:56:24 +01:00
blk.cc mem: fix headers include order in the cache related classes 2016-05-26 11:56:24 +01:00
blk.hh mem, cpu: Add assertions to snoop invalidation logic 2015-08-10 11:25:52 +01:00
cache.cc mem: Update mostly exclusive cache policy to cover more cases 2016-08-12 14:11:45 +01:00
cache.hh mem: Update mostly exclusive cache policy to cover more cases 2016-08-12 14:11:45 +01:00
Cache.py mem: Deduce if cache should forward snoops 2016-02-10 04:08:24 -05:00
mshr.cc mem: Do not set cacheResponding on MSHR snoop if not responding 2016-05-26 11:56:24 +01:00
mshr.hh mem: Create a separate class for the cache write buffer 2016-03-17 09:51:18 -04:00
mshr_queue.cc mem: Create a separate class for the cache write buffer 2016-03-17 09:51:18 -04:00
mshr_queue.hh mem: Adjust cache queue reserve to more conservative values 2016-03-17 09:51:22 -04:00
queue.hh mem: change NULL to nullptr in the cache related classes 2016-05-26 11:56:24 +01:00
queue_entry.hh mem: Create a separate class for the cache write buffer 2016-03-17 09:51:18 -04:00
SConscript mem: Create a separate class for the cache write buffer 2016-03-17 09:51:18 -04:00
write_queue.cc mem: Deallocate all write-queue entries when sent 2016-04-21 04:48:07 -04:00
write_queue.hh mem: Create a separate class for the cache write buffer 2016-03-17 09:51:18 -04:00
write_queue_entry.cc mem: change NULL to nullptr in the cache related classes 2016-05-26 11:56:24 +01:00
write_queue_entry.hh mem: Deallocate all write-queue entries when sent 2016-04-21 04:48:07 -04:00