Review Board 2.0.15

Cache: Provide a function to mark caches as ready from python.

Review Request #53 - Created July 9, 2010 and updated

Timothy Jones
Cache: Provide a function to mark caches as ready from python.

Posted (July 10, 2010, 1:57 a.m.)
I'm curious about the overall need for this... is there really a situation where it matters?  If there's some path that's not appropriately setting/checking/ignoring the whenReady field I'd rather fix that than add this feature.
  1. I added this in mainly because the SMARTS reference implementation has it - it's called after functional warming before starting warming of the O3CPU.  If the functional warming is long enough then it shouldn't be needed.  If it's quite short then the whenReady field of blocks accessed in the previous measurement phase could be later than the start tick of the next detailed warming period.  In that case, they would also be later than blocks accessed during functional warming, which would be wrong.  I can try to get an example of when this could happen if you like?
  2. No, I get this now... I think we ignore the latencies returned in TimingSimpleCPU, and I doubt whenReady is used much in timing mode, so perhaps some day we should just get rid of whenReady.  But for now your solution makes sense.
src/mem/cache/ (Diff revision 1)
I have a patch in my queue (thanks to Nate's suggestion) that adds some code to SimObject.__getattr__ to automatically check self._ccObject for attributes that aren't already defined on self.  Once I commit that, this function (and others like it in your other patches) won't be necessary.  I'll try and get that pushed so you can take advantage of it.