Zachary Amsden wrote:
Nick Piggin wrote:
wmb() means that it also orders IO memory. It is no difference for
i386, but smp_wmb() actually has the right semantics of the abstract
Linux memory model.
The name is pretty confused. smp_wmb seems to imply an SMP-only
barrier, whereas we want here a write barrier on regular memory.
That is just a compiler barrier (barrier()). A CPU should always be
consistent with
itself so memory ordering doesn't really apply there (hence smp_ prefix,
which also
are compiler barriers, of course).
Both smp_wmb and wmb() are identical in that they both reduce to
barrier today, but I confess not to know which one semantically is
correct.
Well you're only looking at i386. True it is i386 specific code, but
sticking
to the Linux memory model is more clear and consistent I think.
Your call on this patch - it is unecessary, I thought it was more
semantically correct, but you probably know that better than me. So,
drop part 2 of this patch?
Yes, and make part 1 use smp_wmb.
--
Send instant messages to your online friends http://au.messenger.yahoo.com
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]