From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932389AbbCQSyN (ORCPT ); Tue, 17 Mar 2015 14:54:13 -0400 Received: from mail.efficios.com ([78.47.125.74]:35184 "EHLO mail.efficios.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753136AbbCQSyL (ORCPT ); Tue, 17 Mar 2015 14:54:11 -0400 Date: Tue, 17 Mar 2015 18:54:15 +0000 (UTC) From: Mathieu Desnoyers To: josh@joshtriplett.org 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 Message-ID: <344874750.22632.1426618455680.JavaMail.zimbra@efficios.com> In-Reply-To: <20150317180014.GC4141@cloud> References: <1426612922-3308-1-git-send-email-mathieu.desnoyers@efficios.com> <20150317180014.GC4141@cloud> Subject: Re: [RFC PATCH v13] sys_membarrier(): system/process-wide memory barrier (x86) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Originating-IP: [173.246.22.116] X-Mailer: Zimbra 8.0.7_GA_6021 (ZimbraWebClient - FF36 (Linux)/8.0.7_GA_6021) Thread-Topic: sys_membarrier(): system/process-wide memory barrier (x86) Thread-Index: g1rrGqSmoiSkcNj1KIhpfqwAc23wmg== Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org ----- 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 > > #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. Will do, thanks! Mathieu > > - Josh Triplett > -- Mathieu Desnoyers EfficiOS Inc. http://www.efficios.com