Re: Cache coherency... and locking

From: Keith Owens (kaos@ocs.com.au)
Date: Fri Jul 21 2000 - 06:24:52 EST


On Fri, 21 Jul 2000 12:57:21 +0200,
Manfred Spraul <manfred@colorfullife.com> wrote:
>Keith Owens wrote:
>> Linux requires strong write ordering[*]. That is, write A followed by
>> write B will appear in memory in the order of A then B. So if any
>> write on processor 1 is committed to memory then all preceding writes
>> by processor 1 must already have been committed to memory.
>>
>Are you sure? Do you know a certain function that relies on strong write
>ordering?

I could not find an absolute statement of this requirement, just lots
of mail about spinlock optimisation that assume strong write ordering.
See http://www.uwsg.iu.edu/hypermail/linux/kernel/9911.3/0148.html
where Linus says "Basically, everybody agrees on ordering of writes".
It would be nice if the kernel gods made a definitive statement about
the need or otherwise for strong write ordering.

>Neither ia64 nor the other RISC processors guarantee strong write
>ordering.

IA64 load.acquire and store.release are available to do strong write
ordering, although the default option is weak order.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Sun Jul 23 2000 - 21:00:15 EST