On Wed, 28 Jun 2017, Thomas Gleixner wrote: > On Wed, 28 Jun 2017, Mark Rutland wrote: > > On Wed, Jun 28, 2017 at 05:24:24PM +0200, Thomas Gleixner wrote: > > Given we're gonig to clean things up, we may as well avoid the backwards > > include of <asm-generic/atomic_instrumented.h>, whcih was only there as > > a bodge: > > > > For the UP arches we do: > > # echo '#include <asm-generic/atomic_up.h>' >arch/xxx/include/asm/atomic.h > > # mv include/asm-generic/atomic.h include/asm-generic/atomic_up.h > > > > Then we add a <linux/atomic_instrumented.h>: > > > > #ifndef __LINUX_ATOMIC_INSTRUMENTED_H > > #define __LINUX_ATOMIC INSTRUMENTED_H > > > > #include <asm/atomic.h> > > > > #if CONFIG_ATOMIC_INSTRUMENTED_H > > <instrumentation> > > #endif > > > > #endif /* __LINUX_ATOMIC_ARCH_H */ > > > > ... and make <linux/atomic.h> incldue that rather than <asm/atomic.h>. > > > > That way the instrumentation's orthogonal to the UP-ness of the arch, > > and we can fold any other instrumentation in there, or later move it > > directly into <linux/atomic.h> > > Sounds like a plan. Actually we should make it slightly different and make asm-generic/atomic.h the central point for everything. It should contain the wrapper macro and the central inlines including the kasan stuff and include either arch/arch_atomic.h or asm-generic/atomic_up.h. That way all potential instrumentation happens in the generic header (which is a NOP for archs which do not support it) and pull in the appropriate arch specific or generic UP low level implementations. Thanks, tglx -- 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>