Re: [RFC PATCH v13] sys_membarrier(): system/process-wide memory barrier (x86)
From: Mathieu Desnoyers
Date: Tue Mar 17 2015 - 14:54:16 EST
----- 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!
Mathieu
>
> - Josh Triplett
>
--
Mathieu Desnoyers
EfficiOS Inc.
http://www.efficios.com
--
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/