[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 :)
>+==============================
>+IMPLIED KERNEL MEMORY BARRIERS
>+==============================
>+
>+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?
Thanks,
Nick
--
Send instant messages to your online friends http://au.messenger.yahoo.com
More information about the Linuxppc64-dev
mailing list