Messages in this thread |  | | | Subject | Why is wmb() a no-op on x86_64? | | From | Bryan O'Sullivan <> | | Date | Wed, 18 Jan 2006 08:23:37 -0800 |
| |
Hi, Andi -
I notice that wmb() is a no-op on x86_64 kernels unless CONFIG_UNORDERED_IO is set. Is there any particular reason for this? It's not similarly conditional on other platforms, and as a consequence, in our driver (which requires a write barrier in some situations for correctness), I have to add the following piece of ugliness:
#if defined(CONFIG_X86_64) && !defined(CONFIG_UNORDERED_IO) #define ipath_wmb() asm volatile("sfence" ::: "memory") #else #define ipath_wmb() wmb() #endif
<b
- 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/
|  |