Messages in this thread | | | Date | Thu, 2 Feb 2006 16:12:16 -0500 (EST) | From | Alan Stern <> | Subject | Question about memory barriers |
| |
The kernel's documentation about memory barriers is rather skimpy. I gather that rmb() guarantees that all preceding reads will have completed before any following reads are made, and wmb() guarantees that all preceding writes will have completed before any following writes are made. I also gather that mb() is essentially the same as rmb() and wmb() put together.
But suppose I need to prevent a read from being moved past a write? It doesn't look like either rmb() or wmb() will do this. And if mb() is the same as "rmb(); wmb();" then it won't either. So what's the right thing to do?
Alan Stern
- 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/
| |