[RFC 1/1] sched: Deprecate DOUBLE_TICK feature

From: Vishal Chourasia
Date: Fri Mar 08 2024 - 00:23:55 EST


The DOUBLE_TICK feature, introduced to manage the interaction between
periodic and high-resolution timer ticks, has become obsolete following
the removal of the check_preempt_tick method in commit 5e963f2bd465
("sched/fair: Commit to EEVDF"). This change rendered the DOUBLE_TICK
check in entity_tick pointless, as it no longer influences scheduling
decisions.

This commit removes the DOUBLE_TICK feature flag, simplifying the
scheduler code and eliminating a now-unnecessary check.

Signed-off-by: Vishal Chourasia <vishalc@xxxxxxxxxxxxx>
---
kernel/sched/fair.c | 6 ------
kernel/sched/features.h | 1 -
2 files changed, 7 deletions(-)

diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c
index 533547e3c90a..73e1372d1a0d 100644
--- a/kernel/sched/fair.c
+++ b/kernel/sched/fair.c
@@ -5510,12 +5510,6 @@ entity_tick(struct cfs_rq *cfs_rq, struct sched_entity *curr, int queued)
resched_curr(rq_of(cfs_rq));
return;
}
- /*
- * don't let the period tick interfere with the hrtick preemption
- */
- if (!sched_feat(DOUBLE_TICK) &&
- hrtimer_active(&rq_of(cfs_rq)->hrtick_timer))
- return;
#endif
}

diff --git a/kernel/sched/features.h b/kernel/sched/features.h
index 143f55df890b..f2671bf8d6ab 100644
--- a/kernel/sched/features.h
+++ b/kernel/sched/features.h
@@ -28,7 +28,6 @@ SCHED_FEAT(WAKEUP_PREEMPTION, true)

SCHED_FEAT(HRTICK, false)
SCHED_FEAT(HRTICK_DL, false)
-SCHED_FEAT(DOUBLE_TICK, false)

/*
* Decrement CPU capacity based on time not spent running tasks
--
2.43.0