RFC on writel and writel_relaxed
    Jason Gunthorpe 
    jgg at ziepe.ca
       
    Tue Mar 27 09:50:46 AEDT 2018
    
    
  
On Tue, Mar 27, 2018 at 09:36:11AM +1100, Benjamin Herrenschmidt wrote:
> On Mon, 2018-03-26 at 16:27 -0600, Jason Gunthorpe wrote:
> > > Otherwise almost all drivers out there are broken which I very much
> > > doubt :-)
> > 
> > But.. Sinan is right, you look anywhere in the driver tree and you
> > find stuff like this:
> > 
> > drivers/net/ethernet/intel/i40e/i40e_txrx.c
> > 
> >         /* Force memory writes to complete before letting h/w
> >          * know there are new descriptors to fetch.
> >          */
> >         wmb();
> > 
> > 
> > It is *systemic*
> 
> Yes, because they all copied e1000e :-) If you look at the comment in
> there, it does say it's only for weakly ordered archs such as ia64, and
> even then, probably predates Linus strong statement on the matter.
Hahah, sure I'll buy that..
But still, if this really is the case, a *strong* statement in
barriers.txt to that effect (and not an example demanding the wmb()!)
would be very helpful for those of us that have to review driver code!
Jason
    
    
More information about the Linuxppc-dev
mailing list