Re: LFENCE instruction (was: [rfc][patch 3/3] x86: optimise barriers)

Mikulas Patocka
2007-10-18T17:06:22Z

> > > > You already must not place any data structures into WC memory --- for
> > > > example, spinlocks wouldn't work there.
> > >
> > > What do you mean "already"?
> >
> > I mean "in current kernel" (I checked it in 2.6.22)
>
> Ahh, that's not "current kernel", though ;)
>
> 4071c718555d955a35e9651f77086096ad87d498
>
> > So drivers can't assume that wmb() works on write-combining memory.
>
> Drivers should be able to assume that wmb() orders _everything_ (except
> some whacky Altix thing, which I really want to fold under wmb at some
> point anyway).
>
> So I decided that old x86 semantics isn't right, and now it really is a
> lock op / sfence everywhere.

I see. I'm just curious --- is there any real usage for WC memory, except
graphics card memory?

Mikulas