Re: [PATCH 1/1] sched/fair: Fix unfairness caused by missing load decay
From: Odin Ugedal <hidden>
Date: 2021-05-01 14:42:35
Also in:
lkml
From: Odin Ugedal <hidden>
Date: 2021-05-01 14:42:35
Also in:
lkml
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