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

From: josh
Date: Tue Mar 17 2015 - 14:00:24 EST


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.

> --- 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.

- Josh Triplett
--
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/