Messages in this thread | | | Date | Tue, 10 Dec 2019 10:33:38 +0100 | From | Peter Zijlstra <> | Subject | Re: [PATCH v2] sched/core: Preempt current task in favour of bound kthread |
| |
On Tue, Dec 10, 2019 at 10:26:01AM +0100, Peter Zijlstra wrote:
> > @@ -6716,7 +6737,7 @@ static void check_preempt_wakeup(struct rq *rq, struct task_struct *p, int wake_ > > find_matching_se(&se, &pse); > > update_curr(cfs_rq_of(se)); > > BUG_ON(!pse); > > - if (wakeup_preempt_entity(se, pse) == 1) { > > + if (wakeup_preempt_entity(se, pse) == 1 || kthread_wakeup_preempt(rq, p, wake_flags)) { > > /* > > * Bias pick_next to pick the sched entity that is > > * triggering this preemption. > > How about something like: > if (wakeup_preempt_entity(se, pse) >= !(wake_flags & WF_KTHREAD))
That's a slightly less convoluted expression for the same value :-)
| |