Messages in this thread | | | Date | Tue, 10 Dec 2019 15:48:46 +0530 | From | Srikar Dronamraju <> | Subject | Re: [PATCH v2] sched/core: Preempt current task in favour of bound kthread |
| |
* Peter Zijlstra <peterz@infradead.org> [2019-12-10 10:33:38]:
> 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 :-)
Yes, this should work, let me try and get back to you.
-- Thanks and Regards Srikar Dronamraju
| |