]> Git Repo - linux.git/commitdiff
membarrier: Disable preemption when calling smp_call_function_many()
authorMathieu Desnoyers <[email protected]>
Fri, 15 Dec 2017 19:23:10 +0000 (14:23 -0500)
committerIngo Molnar <[email protected]>
Wed, 10 Jan 2018 07:50:31 +0000 (08:50 +0100)
smp_call_function_many() requires disabling preemption around the call.

Signed-off-by: Mathieu Desnoyers <[email protected]>
Cc: <[email protected]> # v4.14+
Cc: Andrea Parri <[email protected]>
Cc: Andrew Hunter <[email protected]>
Cc: Avi Kivity <[email protected]>
Cc: Benjamin Herrenschmidt <[email protected]>
Cc: Boqun Feng <[email protected]>
Cc: Dave Watson <[email protected]>
Cc: H. Peter Anvin <[email protected]>
Cc: Linus Torvalds <[email protected]>
Cc: Maged Michael <[email protected]>
Cc: Michael Ellerman <[email protected]>
Cc: Paul E . McKenney <[email protected]>
Cc: Paul E. McKenney <[email protected]>
Cc: Paul Mackerras <[email protected]>
Cc: Peter Zijlstra <[email protected]>
Cc: Thomas Gleixner <[email protected]>
Link: http://lkml.kernel.org/r/[email protected]
Signed-off-by: Ingo Molnar <[email protected]>
kernel/sched/membarrier.c

index dd7908743dab696facd9dd32f4399ee952228151..9bcbacba82a8115ddceda7fb26097a23c50d44f5 100644 (file)
@@ -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();
This page took 0.057548 seconds and 4 git commands to generate.