Re: [PATCH 1/6 v3] sched/fair: Set next buddy for preempt short

From: Vincent Guittot

Date: Thu Jun 25 2026 - 08:45:45 EST


On Thu, 25 Jun 2026 at 08:24, K Prateek Nayak <kprateek.nayak@xxxxxxx> wrote:
>
> Hello Vincent,
>
> On 6/24/2026 8:42 PM, Vincent Guittot wrote:
> > diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c
> > index d78467ec6ee1..83bce5a04f3d 100644
> > --- a/kernel/sched/fair.c
> > +++ b/kernel/sched/fair.c
> > @@ -9903,7 +9903,7 @@ static void wakeup_preempt_fair(struct rq *rq, struct task_struct *p, int wake_f
> > preempt:
> > if (preempt_action == PREEMPT_WAKEUP_SHORT) {
> > cancel_protect_slice(se);
> > - clear_buddies(cfs_rq, se);
> > + set_next_buddy(&p->se);
> > }
>
> On a tangential note, I just noticed set_preempt_buddy() has two unused
> parameters. Seems to have been like that since it was introduced in
> commit e837456fdca8 ("sched/fair: Reimplement NEXT_BUDDY to align with
> EEVDF goals").
>
> Perhaps this can be included in the series too as a cleanup:

I would even go further and remove it. The NEXT_BUDDY feature is broken anyway


>
> diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c
> index 7c541f27a1ed..34b3888c4ccf 100644
> --- a/kernel/sched/fair.c
> +++ b/kernel/sched/fair.c
> @@ -9755,9 +9755,7 @@ enum preempt_wakeup_action {
> PREEMPT_WAKEUP_RESCHED, /* Force reschedule. */
> };
>
> -static inline bool
> -set_preempt_buddy(struct cfs_rq *cfs_rq, int wake_flags,
> - struct sched_entity *pse, struct sched_entity *se)
> +static inline bool set_preempt_buddy(struct cfs_rq *cfs_rq, struct sched_entity *pse)
> {
> /*
> * Keep existing buddy if the deadline is sooner than pse.
> @@ -9903,9 +9901,7 @@ static void wakeup_preempt_fair(struct rq *rq, struct task_struct *p, int wake_f
> goto update;
>
> /* Prefer picking wakee soon if appropriate. */
> - if (sched_feat(NEXT_BUDDY) &&
> - set_preempt_buddy(cfs_rq, wake_flags, pse, se)) {
> -
> + if (sched_feat(NEXT_BUDDY) && set_preempt_buddy(cfs_rq, pse)) {
> /*
> * Decide whether to obey WF_SYNC hint for a new buddy. Old
> * buddies are ignored as they may not be relevant to the
> --
> Thanks and Regards,
> Prateek
>