diff options
author | Steven Rostedt (VMware) <rostedt@goodmis.org> | 2017-12-14 22:59:02 -0500 |
---|---|---|
committer | Steven Rostedt (VMware) <rostedt@goodmis.org> | 2017-12-14 22:59:02 -0500 |
commit | 7b5d49941dedf1b6634c2b0a110dc2a6f12180c3 (patch) | |
tree | 0be6ff4b2a5933898f7fc639746112ca0b7fefc6 /kernel/sched/core.c | |
parent | 1dcf2103d80a19dc9562e63eb2fb0084e362c3f1 (diff) | |
parent | 8743ce3d7c9698285310920c443c086e337aef44 (diff) | |
download | linux-rt-7b5d49941dedf1b6634c2b0a110dc2a6f12180c3.tar.gz |
Merge tag 'v4.9.66' into v4.9-rt
This is the 4.9.66 stable release
Conflicts:
kernel/sched/rt.c
Diffstat (limited to 'kernel/sched/core.c')
-rw-r--r-- | kernel/sched/core.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/kernel/sched/core.c b/kernel/sched/core.c index 034a738f1bf7..ed1ebcc2ff3d 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -559,8 +559,7 @@ void resched_cpu(int cpu) struct rq *rq = cpu_rq(cpu); unsigned long flags; - if (!raw_spin_trylock_irqsave(&rq->lock, flags)) - return; + raw_spin_lock_irqsave(&rq->lock, flags); resched_curr(rq); raw_spin_unlock_irqrestore(&rq->lock, flags); } @@ -6223,6 +6222,13 @@ static int init_rootdomain(struct root_domain *rd) if (!zalloc_cpumask_var(&rd->rto_mask, GFP_KERNEL)) goto free_dlo_mask; +#ifdef HAVE_RT_PUSH_IPI + rd->rto_cpu = -1; + raw_spin_lock_init(&rd->rto_lock); + init_irq_work(&rd->rto_push_work, rto_push_irq_work_func); + rd->rto_push_work.flags |= IRQ_WORK_HARD_IRQ; +#endif + init_dl_bw(&rd->dl_bw); if (cpudl_init(&rd->cpudl) != 0) goto free_dlo_mask; |