mem: Filter cache snoops based on address ranges
Review Request #2152 - Created Jan. 23, 2014 and submitted
| Information | |
|---|---|
| Andreas Hansson | |
| gem5 | |
| default | |
| Reviewers | |
| Default | |
Changeset 10022:760e983b77ee --------------------------- mem: Filter cache snoops based on address ranges This patch adds a filter to the cache to drop snoop requests that are not for a range covered by the cache. This fixes an issue observed when multiple caches are placed in parallel, covering different address ranges. Without this patch, all the caches will forward the snoop upwards, when only one should do so.
All regressions pass
Posted (Feb. 13, 2014, 6:39 a.m.)
I'll go ahead with this one unless someone minds (since it solves an actual user issue).
Posted (Feb. 13, 2014, 8:09 a.m.)
-
src/mem/cache/cache_impl.hh (Diff revision 1) -
I don't know if we do this anywhere else, but it might be useful to turn AddrRangeList into a full-blown class (not just a typedef) and then turn this loop into a contains() method on that class. I'm fine if you want to save that for another day though.
