[m5-dev] LLSC

2010-07-15 Thread Ali Saidi
Can anyone remember why locked loads are tracked at a cache block granularity (in the CacheBlk) class in the cache? It seems like it they could be tracked by the cache object itself like it's done for physical memory. Thanks, Ali ___ m5-dev

Re: [m5-dev] LLSC

2010-07-15 Thread Steve Reinhardt
You're right that it could be done either way. I think the rationale is that this way you don't need to search a list to see if your address is on it. If the common case is that there are no locked blocks in the entire cache though then that's not a big deal since the list will be empty anyway.

Re: [m5-dev] LLSC

2010-07-15 Thread nathan binkert
You're right that it could be done either way.  I think the rationale is that this way you don't need to search a list to see if your address is on it.  If the common case is that there are no locked blocks in the entire cache though then that's not a big deal since the list will be empty

Re: [m5-dev] LLSC

2010-07-15 Thread Ali Saidi
ARM has an instruction that clears the lock flag (CLREX). To implement that in physical memory, it's easy enough, on the other hand with the cache it requires calling clearLoadLocks() on every block in the cache. Ali On Thu, 15 Jul 2010 16:01:09 -0700, nathan binkert n...@binkert.org wrote:

Re: [m5-dev] LLSC

2010-07-15 Thread Steve Reinhardt
Alpha has to do the same thing on interrupts... the way this is handled is that there's a per-thread lock flag in the CPU that gets cleared on interrupts, and if that flag is not set then we fail the SC without even sending it to the cache. (At least that's my recollection of how it works.)

Re: [m5-dev] LLSC

2010-07-15 Thread Ali Saidi
I think something like that could work, although I won't be advocating for the forwarding snoop thing, since it seems as though ARM can support LLSC on uncachable accesses. Ali On Thu, 15 Jul 2010 16:27:56 -0700, Steve Reinhardt begin_of_the_skype_highlighting end_of_the_skype_highlighting

Re: [m5-dev] LLSC

2010-07-15 Thread Steve Reinhardt
Really? Doesn't that imply that you're snooping on uncacheables in real life? On Thu, Jul 15, 2010 at 4:38 PM, Ali Saidi sa...@umich.edu wrote: I think something like that could work, although I won't be advocating for the forwarding snoop thing, since it seems as though ARM can support LLSC

Re: [m5-dev] LLSC

2010-07-15 Thread Ali Saidi
You can mark a section of main memory as not cachable so it's not like an I/O device. But, sort of, the description in the architecture reference manual says there is a global monitor that checks the accesses. Ali On Jul 15, 2010, at 7:10 PM, Steve Reinhardt wrote: Really? Doesn't that