Messages in this thread | | | From | Odin Ugedal <> | Date | Sat, 1 May 2021 16:41:03 +0200 | Subject | Re: [PATCH 1/1] sched/fair: Fix unfairness caused by missing load decay |
| |
Hi,
> I think what I see on my Juno running the unfairness_missing_load_decay.sh script is > in sync which what you discussed here:
Thanks for taking a look!
> diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c > index 794c2cb945f8..7214e6e89820 100644 > --- a/kernel/sched/fair.c > +++ b/kernel/sched/fair.c > @@ -10854,6 +10854,8 @@ static void propagate_entity_cfs_rq(struct sched_entity *se) > break; > > update_load_avg(cfs_rq, se, UPDATE_TG); > + if (!cfs_rq_is_decayed(cfs_rq)) > + list_add_leaf_cfs_rq(cfs_rq); > } > }
This might however lead to "loss" at /slice/cg-2/sub and slice/cg-1/sub in this particular case tho, since propagate_entity_cfs_rq skips one cfs_rq by taking the parent of the provided se. The loss in that case would however not be equally big, but will still often contribute to some unfairness.
Thanks Odin
| |