[PATCH] Document Linux's memory barriers

Nick Piggin nickpiggin at yahoo.com.au
Wed Mar 8 13:07:37 EST 2006

David Howells wrote:

>The attached patch documents the Linux kernel's memory barriers.
>Signed-Off-By: David Howells <dhowells at redhat.com>

Good :)

>+Some of the other functions in the linux kernel imply memory barriers. For
>+instance all the following (pseudo-)locking functions imply barriers.
>+ (*) interrupt disablement and/or interrupts

Is this really the case? I mean interrupt disablement only synchronises with
the local CPU, so it probably should not _have_ to imply barriers (eg. some
architectures are playing around with "virtual" interrupt disablement).


>+Either interrupt disablement (LOCK) and enablement (UNLOCK) will barrier
>+memory and I/O accesses individually, or interrupt handling will barrier
>+memory and I/O accesses on entry and on exit. This prevents an interrupt
>+routine interfering with accesses made in a disabled-interrupt section of code
>+and vice versa.

But CPUs should always be consistent WRT themselves, so I'm not sure that
it is needed?


Send instant messages to your online friends http://au.messenger.yahoo.com 

More information about the Linuxppc64-dev mailing list