On Wed, Mar 08, 2017 at 04:45:58PM +0100, Dmitry Vyukov wrote: > On Wed, Mar 8, 2017 at 4:43 PM, Mark Rutland <mark.rutland@xxxxxxx> wrote: > > On Wed, Mar 08, 2017 at 04:27:11PM +0100, Dmitry Vyukov wrote: > >> On Wed, Mar 8, 2017 at 4:20 PM, Mark Rutland <mark.rutland@xxxxxxx> wrote: > >> > As in my other reply, I'd prefer that we wrapped the (arch-specific) > >> > atomic implementations such that we can instrument them explicitly in a > >> > core header. That means that the implementation and semantics of the > >> > atomics don't change at all. > >> > > >> > Note that we could initially do this just for x86 and arm64), e.g. by > >> > having those explicitly include an <asm-generic/atomic-instrumented.h> > >> > at the end of their <asm/atomic.h>. > >> > >> How exactly do you want to do this incrementally? > >> I don't feel ready to shuffle all archs, but doing x86 in one patch > >> and then arm64 in another looks tractable. > > > > I guess we'd have three patches: one adding the header and any core > > infrastructure, followed by separate patches migrating arm64 and x86 > > over. > > But if we add e.g. atomic_read() which forwards to arch_atomic_read() > to <linux/atomic.h>, it will break all archs that don't rename its > atomic_read() to arch_atomic_read(). ... as above, that'd be handled by placing this in an <asm-generic/atomic-instrumented.h> file, that we only include at the end of the arch implementation. So we'd only include that on arm64 and x86, without needing to change the names elsewhere. Thanks, Mark. -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>