Moan: usage of __iormb() and __iowmb() outside of asm/io.h

Catalin Marinas catalin.marinas at arm.com
Wed Jun 10 09:53:24 PDT 2015


On Wed, Jun 10, 2015 at 01:30:40PM +0100, Russell King - ARM Linux wrote:
> On Wed, Jun 10, 2015 at 12:24:34PM +0100, Russell King - ARM Linux wrote:
> > On Wed, Jun 10, 2015 at 12:18:20PM +0100, Will Deacon wrote:
> > > I agree to removing these from view; we already have plenty of barrier
> > > macros and we don't want these to proliferate outside of the arch code.
> > > 
> > > Any chance you could do a similar change for arm64, please (we have the
> > > same macros there)?
> > 
> > Yes - as you're aware, removing them from sight does cause us to decend
> > into macro-hell in asm/io.h, but I think that's better than having people
> > get their grubby fingers on arch internal stuff they shouldn't be touching.
> 
> Here's what I'm proposing for ARM.  As I say, it's macro-hell...  It's
> also not perfect yet (since the __LINUX_ARM_ARCH__ < 6 case isn't
> properly handled yet.)

IMO, it makes the code pretty unreadable, it breaks searching/ctags. It
may be easier to just randomly change the number of underscores in front
of "io*mb" every few kernel releases (e.g. twice a year), so we identify
the users outside asm/io.h.

-- 
Catalin



More information about the linux-arm-kernel mailing list