ruby: handle llsc accesses through CacheEntry, not CacheMemory
Review Request #2953 - Created July 10, 2015 and submitted
| Information | |
|---|---|
| Nilay Vaish | |
| gem5 | |
| default | |
| Reviewers | |
| Default | |
Changeset 10995:3e7942da8ea3 --------------------------- ruby: handle llsc accesses through CacheEntry, not CacheMemory The sequencer takes care of llsc accesses by calling upon functions from the CacheMemory. This is unnecessary once the required CacheEntry object is available. Thus some of the calls to findTagInSet() are avoided.
This looks alright to me. Just a couple small things below.
-
src/mem/ruby/system/Sequencer.cc (Diff revision 1) -
Should this be "if (e && ..."?
-
src/mem/ruby/system/Sequencer.cc (Diff revision 1) -
To keep things clean, could we also remove the clearLocked, isLocked, and setLocked functions from the CacheMemory, since they are only used where you've changed code?
Posted (Aug. 3, 2015, 8:09 a.m.)
One more small thing, but other than that it looks good to me.
-
src/mem/ruby/slicc_interface/AbstractCacheEntry.hh (Diff revision 1) -
One issue with moving the implementation to the AbstractEntry is we lose the DPRINTF which was in the CacheMemory implementation. Could you move that DPRINTF to here?
Review request changed
Updated (Aug. 3, 2015, 8:23 a.m.)
Description: |
|
||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Diff: |
Revision 2 (+52 -19) |
Thanks for the updates!
