Messages in this thread | | | From | Vincent Guittot <> | Date | Thu, 14 Dec 2023 14:41:07 +0100 | Subject | Re: Re: [PATCH] sched/fair: remove next_buddy_marked |
| |
On Thu, 14 Dec 2023 at 13:23, Abel Wu <wuyun.abel@bytedance.com> wrote: > > On 12/14/23 4:18 PM, Vincent Guittot Wrote: > > On Thu, 14 Dec 2023 at 06:20, Wang Jinchao <wangjinchao@xfusion.com> wrote: > >> > >> Remove unused `next_buddy_marked` in `check_preempt_wakeup_fair` > >> > > > > Fixes: 5e963f2bd465 ("sched/fair: Commit to EEVDF") > > After this commit @pse preempts curr without being the NEXT_BUDDY, but > IMHO it should be, so how about this? > > @@ -8259,8 +8259,11 @@ static void check_preempt_wakeup_fair(struct rq *rq, struct task_struct *p, int > /* > * XXX pick_eevdf(cfs_rq) != se ? > */ > - if (pick_eevdf(cfs_rq) == pse) > + if (pick_eevdf(cfs_rq) == pse) { > + if (!next_buddy_marked) > + set_next_buddy(pse);
I don't think this is needed because : - NEXT_BUDDY is false by default so pick_next_entity() will not take care of this - pick_next_entity() will call pick_eevdf() which should return pse unless another se that want to run 1st, wakes up in the meantime and we should probably not take into account next buddy in this case
> goto preempt; > + } > > return; > > which will align with before.
| |