From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Date: Wed, 20 Dec 2017 15:02:56 +0000 (UTC) From: Mathieu Desnoyers To: Linus Torvalds Cc: linux-kernel , Peter Zijlstra , "Paul E. McKenney" , Boqun Feng , Andrew Hunter , maged michael , Avi Kivity , Benjamin Herrenschmidt , Paul Mackerras , Michael Ellerman , Dave Watson , Thomas Gleixner , Ingo Molnar , "H. Peter Anvin" , Andrea Parri , stable Message-ID: <1396790368.40028.1513782176011.JavaMail.zimbra@efficios.com> In-Reply-To: <20171215192310.25293-1-mathieu.desnoyers@efficios.com> References: <20171215192310.25293-1-mathieu.desnoyers@efficios.com> Subject: Re: [PATCH] Fix: membarrier: add missing preempt off around smp_call_function_many MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: Hi Linus, Peter, Ingo, Now that membarrier.c has been moved from kernel/ to kernel/sched/, should I route this membarrier fix through the scheduler maintainers, or is it OK to send it to you directly ? Thanks, Mathieu ----- On Dec 15, 2017, at 2:23 PM, Mathieu Desnoyers mathieu.desnoyers@efficios.com wrote: > smp_call_function_many requires disabling preemption around the call. > > Signed-off-by: Mathieu Desnoyers > CC: Linus Torvalds > CC: Peter Zijlstra > CC: Paul E. McKenney > CC: Boqun Feng > CC: Andrew Hunter > CC: Maged Michael > CC: Avi Kivity > CC: Benjamin Herrenschmidt > CC: Paul Mackerras > CC: Michael Ellerman > CC: Dave Watson > CC: Thomas Gleixner > CC: Ingo Molnar > CC: "H. Peter Anvin" > CC: Andrea Parri > CC: # v4.14 > --- > kernel/sched/membarrier.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/kernel/sched/membarrier.c b/kernel/sched/membarrier.c > index dd7908743dab..9bcbacba82a8 100644 > --- a/kernel/sched/membarrier.c > +++ b/kernel/sched/membarrier.c > @@ -89,7 +89,9 @@ static int membarrier_private_expedited(void) > rcu_read_unlock(); > } > if (!fallback) { > + preempt_disable(); > smp_call_function_many(tmpmask, ipi_mb, NULL, 1); > + preempt_enable(); > free_cpumask_var(tmpmask); > } > cpus_read_unlock(); > -- > 2.11.0 -- Mathieu Desnoyers EfficiOS Inc. http://www.efficios.com