[PATCH] gianfar: Add I/O barriers when touching buffer descriptor ownership.
Segher Boessenkool
segher at kernel.crashing.org
Wed May 2 10:54:40 EST 2007
> The hardware must not see that is given ownership of a buffer until it
> is
> completely written, and when the driver receives ownership of a buffer,
> it must ensure that any other reads to the buffer reflect its final
> state. Thus, I/O barriers are added where required.
>
> Without this patch, I have observed GCC reordering the setting of
> bdp->length and bdp->status in gfar_new_skb.
The :::"memory" in the barriers you used prevent GCC
from reordering accesses around the barriers.
AFAICS you need stronger barriers though; {w,r,}mb(),
to prevent _any_ reordering of those memory accesses,
not just the compiler-generated ones.
Segher
More information about the Linuxppc-dev
mailing list