On Mon, Mar 26, 2018 at 11:08:45AM +0000, David Laight wrote: > > > This is a super performance critical operation for most drivers and > > > directly impacts network performance. > > Perhaps there ought to be writel_nobarrier() (etc) that never contain > any barriers at all. > This might mean that they are always just the memory operation, > but it would make it more obvious what the driver was doing.
I think that is what writel_relaxed is supposed to be. The only restriction it has is that the writes to a single device using UC memory must be kept in program order.. Jason