From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752979AbbCQSAV (ORCPT ); Tue, 17 Mar 2015 14:00:21 -0400 Received: from relay4-d.mail.gandi.net ([217.70.183.196]:50745 "EHLO relay4-d.mail.gandi.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752529AbbCQSAT (ORCPT ); Tue, 17 Mar 2015 14:00:19 -0400 Date: Tue, 17 Mar 2015 11:00:14 -0700 From: josh@joshtriplett.org To: Mathieu Desnoyers Cc: linux-kernel@vger.kernel.org, "Paul E. McKenney" , KOSAKI Motohiro , Steven Rostedt , Nicholas Miell , Linus Torvalds , Ingo Molnar , Alan Cox , Lai Jiangshan , Stephen Hemminger , Andrew Morton , Thomas Gleixner , Peter Zijlstra , David Howells Subject: Re: [RFC PATCH v13] sys_membarrier(): system/process-wide memory barrier (x86) Message-ID: <20150317180014.GC4141@cloud> References: <1426612922-3308-1-git-send-email-mathieu.desnoyers@efficios.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1426612922-3308-1-git-send-email-mathieu.desnoyers@efficios.com> User-Agent: Mutt/1.5.20 (2009-06-14) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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 > #include > #include > +#include > +#include > > #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