MMIO and gcc re-ordering issue
Benjamin Herrenschmidt
benh at kernel.crashing.org
Wed May 28 07:10:21 EST 2008
On Tue, 2008-05-27 at 08:35 -0700, Linus Torvalds wrote:
>
> On Tue, 27 May 2008, Benjamin Herrenschmidt wrote:
> >
> > Yes. As it is today, tg3 for example is potentially broken on all archs
> > with newer gcc unless we either add "memory" clobber to readl/writel or
> > stick some wmb's in there (just a random driver I picked).
> >
> > So Linus, what is your take on that matter ?
>
> Let's just serialize the damn things, and add a memory clobber to them.
>
> Expecting people to fix up all drivers is simply not going to happen. And
> serializing things shouldn't be *that* expensive. People who cannot take
> the expense can continue to use the magic __raw_writel() etc stuff.
Ok.
Do we also remove wmb/rmb/... from drivers then ? :-) I think ia64 would
need to be fixed to make their writel serializing...
Regarding __raw_* their semantics are dodgy ... we might want to provide
something better but it's a different subject.
Cheers,
Ben.
More information about the Linuxppc-dev
mailing list