Nick Piggin <npiggin@xxxxxxx> wrote: > While considering the impact of read_barrier_depends, it occurred to > me that it should really be really a noop for the compiler. If you're defining it so, then you need to adjust memory-barriers.txt too. ======================== EXPLICIT KERNEL BARRIERS ======================== ... CPU MEMORY BARRIERS ------------------- The Linux kernel has eight basic CPU memory barriers: TYPE MANDATORY SMP CONDITIONAL =============== ======================= =========================== GENERAL mb() smp_mb() WRITE wmb() smp_wmb() READ rmb() smp_rmb() DATA DEPENDENCY read_barrier_depends() smp_read_barrier_depends() All CPU memory barriers unconditionally imply compiler barriers. That last line needs modification, perhaps to say: General, read and write memory barriers unconditionally imply general compiler barriers; data dependency barriers, however, imply a barrier only for the specific access being performed due to the fact that the instructions must be performed in a specific order. David -- To unsubscribe from this list: send the line "unsubscribe linux-arch" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html