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.

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).

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

Reply via email to