Thanks for the reply, Paul. - Bhushan
On Wed, Oct 24, 2012 at 9:40 AM, Paul Rosenfeld <[email protected]>wrote: > Looking at the code, it looks like the CPU controller simply clears it's > own pending entries for that request (i.e., so that when it comes back from > the cache, it will see that it is no longer pending and will simply be > tossed). In other words, I don't think it searches through the cache > hierarchy to try to stop a request in progress. You are right that the CPU controller simply clears it's own entry and when the request comes back the controller just ignores it. > > When you say that CacheController::annul_request is never called, are you > sure you're looking at the right file? IIRC, there are a > few CacheController objects in different namespaces (Memory::CoherentCache > in coherentCache.cpp and plain Memory:: in cacheController.cpp). > > Yes, the only code that could call CacheController::annul_request is in CPUController::annul but it has been commented out. I tried walking through the pending entries of requests at each controller and invalidate such requests but it kinda doesnt work. Still figuring out why, but the main reason why I want to actively walk through the pending requests and annul them is that I am trying to minimize memory accesses that can be passed around the memory hierarchy. Please do let me know if I should be aware of any pitfalls if I actively annul requests in the controller. It's been a while since I've rummaged through the code so hopefully I'm not > telling you the wrong thing. > > -Paul > > On Sat, Oct 20, 2012 at 10:37 PM, Vidyabhushan Mohan < > [email protected]> wrote: > >> Hi, >> I am trying to understand how memory requests are being annuled. The code >> in MemoryHierarchy::annul_request is almost commented out except for >> annuling request in the cpu controller. So, if there is a load/store that >> needs to be annuled (the core issues a annul request) and if the request is >> currently being serviced by the L3 cache (say), then how does it get >> annuled? I see there is a CacheController::annul_request but it never gets >> called. So, could someone share the thoughts on how such requests are >> annuled? >> >> Thanks much, >> - Bhushan >> >> >> _______________________________________________ >> http://www.marss86.org >> Marss86-Devel mailing list >> [email protected] >> https://www.cs.binghamton.edu/mailman/listinfo/marss86-devel >> >> >
_______________________________________________ http://www.marss86.org Marss86-Devel mailing list [email protected] https://www.cs.binghamton.edu/mailman/listinfo/marss86-devel
