Review Board 2.0.15


ruby: call setMRU from L1 controllers, not from sequencer

Review Request #2957 - Created July 10, 2015 and submitted

Information
Nilay Vaish
gem5
default
Reviewers
Default
Changeset 10937:3724230bfee5
---------------------------
ruby: call setMRU from L1 controllers, not from sequencer
Currently the sequencer calls the function setMRU that updates the replacement
policy structures with the first level caches.  While functionally this is
correct, the problem is that this requires calling findTagInSet() which is an
expensive function.  This patch removes the calls to setMRU from the sequencer.
All controllers should now update the replacement policy on their own.

The set and the way index for a given cache entry can be found within the
AbstractCacheEntry structure. Use these indicies to update the replacement
policy structures.

   

Issue Summary

2 1 1 0
Review request changed
Updated (July 20, 2015, 7:33 a.m.)

Status: Closed (submitted)

Posted (July 20, 2015, 9:10 a.m.)

This might be a silly question but I was wondering:

Some of the protocols have getCacheEntry without a way to pass whether to setMRU or not; they default to false. What is the reason for these automatically being false? Since the sequencer cannot set the recently used status, how do these caches update their entry information?