Re: [RFC PATCH v13] sys_membarrier(): system/process-wide memory barrier (x86)

From: Paul E. McKenney
Date: Wed Mar 18 2015 - 10:42:00 EST


On Tue, Mar 17, 2015 at 07:27:15PM +0000, Mathieu Desnoyers wrote:
> ----- Original Message -----
> > ----- Original Message -----
> > > On Tue, Mar 17, 2015 at 01:22:02PM -0400, Mathieu Desnoyers wrote:
> > > > --- a/init/Kconfig
> > > > +++ b/init/Kconfig
> > > > @@ -1568,6 +1568,15 @@ config PCI_QUIRKS
> > > > bugs/quirks. Disable this only if your target machine is
> > > > unaffected by PCI quirks.
> > > >
> > > > +config MEMBARRIER
> > > > + bool "Enable membarrier() system call" if EXPERT
> > > > + default y
> > > > + help
> > > > + Enable the membarrier() system call that allows issuing
> > > > + memory barriers across cores.
> > >
> > > Nit: CPUs, not cores. Nothing here is specific to
> > > packages/cores/threads.
> >
> > Fixed.
> >
> > >
> > > > --- a/kernel/rcu/update.c
> > > > +++ b/kernel/rcu/update.c
> > > > @@ -49,6 +49,8 @@
> > > > #include <linux/module.h>
> > > > #include <linux/kthread.h>
> > > > #include <linux/tick.h>
> > > > +#include <linux/syscalls.h>
> > > > +#include <linux/membarrier.h>
> > > >
> > > > #define CREATE_TRACE_POINTS
> > > >
> > > > @@ -775,3 +777,73 @@ late_initcall(rcu_verify_early_boot_tests);
> > > > #else
> > > > void rcu_early_boot_tests(void) {}
> > > > #endif /* CONFIG_PROVE_RCU */
> > > > +
> > > > +#ifdef CONFIG_MEMBARRIER
> > >
> > > As mentioned in my previous mail, please consider moving this to its own
> > > file, if it doesn't use any of the internals of kernel/rcu/update.c
> > > (which I don't think it does). That then means you can enable/disable
> > > the entire file in the Makefile rather than using an #ifdef in the .c
> > > file.
> >
> > Will do, thanks!
>
> I'm adding include/uapi/linux/membarrier.h and kernel/membarrier.c,
> how should I add them to the MAINTAINERS file ?

I suggest adding them as their own entry, with yourself as maintainer.
I would be willing to be co-maintainer, and perhaps some of the others
in this thread would also be willing.

Thanx, Paul

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/