diff options
author | Linus Torvalds | 2015-06-22 19:20:04 -0700 |
---|---|---|
committer | Linus Torvalds | 2015-06-22 19:20:04 -0700 |
commit | 3a95398f54cbd664c749fe9f1bfc7e7dbace92d0 (patch) | |
tree | 3eee56a46eada7bc6354e442d9164b555a78e43a /kernel/sched | |
parent | 43224b96af3154cedd7220f7b90094905f07ac78 (diff) | |
parent | 8cb9764fc88b41db11f251e8b2a0d006578b7eb4 (diff) |
Merge branch 'timers-nohz-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull NOHZ updates from Thomas Gleixner:
"A few updates to the nohz infrastructure:
- recursion protection for context tracking
- make the TIF_NOHZ inheritance smarter
- isolate cpus which belong to the NOHZ full set"
* 'timers-nohz-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
nohz: Set isolcpus when nohz_full is set
nohz: Add tick_nohz_full_add_cpus_to() API
context_tracking: Inherit TIF_NOHZ through forks instead of context switches
context_tracking: Protect against recursion
Diffstat (limited to 'kernel/sched')
-rw-r--r-- | kernel/sched/core.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/kernel/sched/core.c b/kernel/sched/core.c index c9a707b59331..c86935a7f1f8 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -2374,7 +2374,6 @@ context_switch(struct rq *rq, struct task_struct *prev, */ spin_release(&rq->lock.dep_map, 1, _THIS_IP_); - context_tracking_task_switch(prev, next); /* Here we just switch the register state and the stack. */ switch_to(prev, next, prev); barrier(); @@ -7068,6 +7067,9 @@ 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(); /* |