[PATCH] sched/fair: Drop min_vruntime() call from set_protect_slice()
From: Kayra Cizmeci
Date: Mon Aug 10 2026 - 08:01:22 EST
The branch is only taken when slice is not equal to se->slice,
and that means se->slice is bigger than slice, since after the
min() call, slice is assigned the smaller one of se->slice and slice.
The min_vruntime comparison always picks the calculated value, since it is
smaller.
So, skip the comparison by not calling min_vruntime and assign the
calculated value directly to vprot. No functional change intended.
Signed-off-by: Kayra Cizmeci <kayracizmeci@xxxxxxxxx>
---
I only did a boot test on x86 (Zen 3), since the change is well below my noise floor.
kernel/sched/fair.c | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c
index d78467ec6ee1..97506b2edf7d 100644
--- a/kernel/sched/fair.c
+++ b/kernel/sched/fair.c
@@ -1090,8 +1090,13 @@ static inline void set_protect_slice(struct cfs_rq *cfs_rq, struct sched_entity
slice = cfs_rq_min_slice(cfs_rq);
slice = min(slice, se->slice);
+ /*
+ * slice < se->slice, so the calculated value
+ * is always before se->deadline.
+ * No comparison needed.
+ */
if (slice != se->slice)
- vprot = min_vruntime(vprot, se->vruntime + calc_delta_fair(slice, se));
+ vprot = se->vruntime + calc_delta_fair(slice, se);
se->vprot = vprot;
}
--
2.53.0