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
This commit is contained in:
commit
67549d46d4
|
@ -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"
|
||||||
|
|
||||||
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)
|
||||||
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();
|
||||||
|
|
Loading…
Reference in New Issue