Messages in this thread | | | From | Keith Owens <> | Subject | Re: Semantics of smp_mb() [was : Re: [PATCH] Fix RCU race in access of nohz_cpu_mask ] | Date | Wed, 14 Dec 2005 09:27:41 +1100 |
| |
On Tue, 13 Dec 2005 08:20:27 -0800, "Paul E. McKenney" <paulmck@us.ibm.com> wrote: >If the variable p references MMIO rather than normal memory, then >wmb() and rmb() are needed instead of smp_wmb() and smp_rmb().
mmiowb(), not wmb(). IA64 has a different form of memory fence for I/O space compared to normal memory. MIPS also has a non-empty form of mmiowb().
>This is because the I/O device needs to see the accesses ordered >even in a UP system.
Why does mmiowb() map to empty on most systems, including Alpha? Should it not map to wmb() for everything except IA64 and MIPS?
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |