On Sat, Jun 25, 2011 at 6:02 AM, Mark Atwood <email address hidden> wrote:
> Yes. It is the nature of the beast. Every time any thread hits any
> mutex or other lock-like thing, every processor in the shared memory
> space has to drain it's pipeline and sync all it's caches with memory.
> They all have to do this, even if the lock isn't engaged. Just
> checking it will do this. And, to make it even worse, the more
> processors you have, more expensive this is to do.
AFAIK that's not true. Cache coherence mechanisms allow you to only
'sync' a tiny bit of address space.
On Sat, Jun 25, 2011 at 6:02 AM, Mark Atwood <email address hidden> wrote:
> Yes. It is the nature of the beast. Every time any thread hits any
> mutex or other lock-like thing, every processor in the shared memory
> space has to drain it's pipeline and sync all it's caches with memory.
> They all have to do this, even if the lock isn't engaged. Just
> checking it will do this. And, to make it even worse, the more
> processors you have, more expensive this is to do.
AFAIK that's not true. Cache coherence mechanisms allow you to only
'sync' a tiny bit of address space.
Olaf