提交 67549d46 编写于 作者: L Linus Torvalds

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
...@@ -88,7 +88,7 @@ void vtime_flush(struct task_struct *tsk) ...@@ -88,7 +88,7 @@ void vtime_flush(struct task_struct *tsk)
} }
if (ti->softirq_time) { if (ti->softirq_time) {
delta = cycle_to_nsec(ti->softirq_time)); delta = cycle_to_nsec(ti->softirq_time);
account_system_index_time(tsk, delta, CPUTIME_SOFTIRQ); account_system_index_time(tsk, delta, CPUTIME_SOFTIRQ);
} }
......
...@@ -461,6 +461,7 @@ endmenu # "CPU/Task time and stats accounting" ...@@ -461,6 +461,7 @@ endmenu # "CPU/Task time and stats accounting"
config CPU_ISOLATION config CPU_ISOLATION
bool "CPU isolation" bool "CPU isolation"
depends on SMP || COMPILE_TEST
default y default y
help help
Make sure that CPUs running critical tasks are not disturbed by Make sure that CPUs running critical tasks are not disturbed by
......
...@@ -89,7 +89,9 @@ static int membarrier_private_expedited(void) ...@@ -89,7 +89,9 @@ static int membarrier_private_expedited(void)
rcu_read_unlock(); rcu_read_unlock();
} }
if (!fallback) { if (!fallback) {
preempt_disable();
smp_call_function_many(tmpmask, ipi_mb, NULL, 1); smp_call_function_many(tmpmask, ipi_mb, NULL, 1);
preempt_enable();
free_cpumask_var(tmpmask); free_cpumask_var(tmpmask);
} }
cpus_read_unlock(); cpus_read_unlock();
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册