Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge branch 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

Pull scheduler fixes from Ingo Molnar:
"Two fixes: a stop-machine preemption fix and a SCHED_DEADLINE fix"

* 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
sched/deadline: Fix switched_from_dl() warning
stop_machine: Disable preemption when waking two stopper threads

+15 -2
+10 -1
kernel/sched/deadline.c
··· 2290 2290 if (task_on_rq_queued(p) && p->dl.dl_runtime) 2291 2291 task_non_contending(p); 2292 2292 2293 - if (!task_on_rq_queued(p)) 2293 + if (!task_on_rq_queued(p)) { 2294 + /* 2295 + * Inactive timer is armed. However, p is leaving DEADLINE and 2296 + * might migrate away from this rq while continuing to run on 2297 + * some other class. We need to remove its contribution from 2298 + * this rq running_bw now, or sub_rq_bw (below) will complain. 2299 + */ 2300 + if (p->dl.dl_non_contending) 2301 + sub_running_bw(&p->dl, &rq->dl); 2294 2302 sub_rq_bw(&p->dl, &rq->dl); 2303 + } 2295 2304 2296 2305 /* 2297 2306 * We cannot use inactive_task_timer() to invoke sub_running_bw()
+5 -1
kernel/stop_machine.c
··· 270 270 goto retry; 271 271 } 272 272 273 - wake_up_q(&wakeq); 273 + if (!err) { 274 + preempt_disable(); 275 + wake_up_q(&wakeq); 276 + preempt_enable(); 277 + } 274 278 275 279 return err; 276 280 }