summaryrefslogtreecommitdiffstats
path: root/kernel/sched/core.c
diff options
context:
space:
mode:
authorIngo Molnar <mingo@kernel.org>2015-10-28 13:17:01 +0100
committerIngo Molnar <mingo@kernel.org>2015-10-28 13:17:20 +0100
commite4340bbb07dd38339c0773543dd928886e512a57 (patch)
treef38d9d2f929037325362328415b2a1e7bfe52a15 /kernel/sched/core.c
parentc13dc31adb04c3f85d54d2fa13e34206f25742eb (diff)
parenta22c4d7e34402ccdf3414f64c50365436eba7b93 (diff)
downloadop-kernel-dev-e4340bbb07dd38339c0773543dd928886e512a57.zip
op-kernel-dev-e4340bbb07dd38339c0773543dd928886e512a57.tar.gz
Merge branch 'linus' into core/rcu, to fix up a semantic conflict
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'kernel/sched/core.c')
-rw-r--r--kernel/sched/core.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/kernel/sched/core.c b/kernel/sched/core.c
index 42d273d..f7402f7 100644
--- a/kernel/sched/core.c
+++ b/kernel/sched/core.c
@@ -2366,8 +2366,15 @@ void wake_up_new_task(struct task_struct *p)
trace_sched_wakeup_new(p);
check_preempt_curr(rq, p, WF_FORK);
#ifdef CONFIG_SMP
- if (p->sched_class->task_woken)
+ if (p->sched_class->task_woken) {
+ /*
+ * Nothing relies on rq->lock after this, so its fine to
+ * drop it.
+ */
+ lockdep_unpin_lock(&rq->lock);
p->sched_class->task_woken(rq, p);
+ lockdep_pin_lock(&rq->lock);
+ }
#endif
task_rq_unlock(rq, p, &flags);
}
@@ -7239,9 +7246,6 @@ void __init sched_init_smp(void)
alloc_cpumask_var(&non_isolated_cpus, GFP_KERNEL);
alloc_cpumask_var(&fallback_doms, GFP_KERNEL);
- /* nohz_full won't take effect without isolating the cpus. */
- tick_nohz_full_add_cpus_to(cpu_isolated_map);
-
sched_init_numa();
/*
OpenPOWER on IntegriCloud