AFAICS you need stronger barriers though; {w,r,}mb(), to prevent _any_ reordering of those memory accesses, not just the compiler-generated ones.My impression was that the eieio used by iobarrier would be sufficient for that, as we're not trying to synchronize between accesses to different types of memory. Is sync really required here?
For accesses to main system memory, eieio only orders writes, not reads, so iobarrier_r() doesn't do what you want; and iobarrier_w() isn't meant to be used for main memory access ordering either. Also, it is better to not use powerpc-specific interfaces in a device driver if you don't have a strong reason to. Segher - To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
