summaryrefslogtreecommitdiffstats
path: root/kernel
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2018-01-12 19:23:59 +0100
committerLinus Torvalds <torvalds@linux-foundation.org>2018-01-12 19:23:59 +0100
commit67549d46d42eed58731028bebe304bc8cbd7af01 (patch)
treea0f5f7664ae96d3f0ce693f46987a820539dcae5 /kernel
parentMerge branch 'locking-urgent-for-linus' of git://git.kernel.org/pub/scm/linux... (diff)
parentmembarrier: Disable preemption when calling smp_call_function_many() (diff)
downloadlinux-67549d46d42eed58731028bebe304bc8cbd7af01.tar.xz
linux-67549d46d42eed58731028bebe304bc8cbd7af01.zip
Merge branch 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull scheduler fixes from Ingo Molnar: "A Kconfig fix, a build fix and a membarrier bug fix" * 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: membarrier: Disable preemption when calling smp_call_function_many() sched/isolation: Make CONFIG_CPU_ISOLATION=y depend on SMP or COMPILE_TEST ia64, sched/cputime: Fix build error if CONFIG_VIRT_CPU_ACCOUNTING_NATIVE=y
Diffstat (limited to 'kernel')
-rw-r--r--kernel/sched/membarrier.c2
1 files changed, 2 insertions, 0 deletions
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();