Messages in this thread Patch in this message | | | From | Brian Norris <> | Subject | [PATCH v2] sched: Drop outdated compile-optimization | Date | Fri, 17 Jun 2022 13:34:58 -0700 |
| |
Looks like this exists from way back in 2011 (commit 095c0aa83e52 ("sched: adjust scheduler cpu power for stolen time")), when there was a little more aggressive use of #if around these variables. The comment mostly serves to confuse the reader, although it may arguably apply to the (excessive) #ifdef CONFIG_HAVE_SCHED_AVG_IRQ.
Anyway, the #ifdef is not needed, so drop both the comment and the "optimization." Any modern compiler will realize this block is not needed (for one, update_irq_load_avg() is an empty function when !CONFIG_HAVE_SCHED_AVG_IRQ).
Confirmed on:
x86 gcc 11.2.0 (Debian) x86 clang 13.0.1 (Debian) aarch64-linux-gnu-gcc 11.2.0 (Debian)
Signed-off-by: Brian Norris <briannorris@chromium.org> ---
Changes in v2: - drop #ifdef too
kernel/sched/core.c | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-)
diff --git a/kernel/sched/core.c b/kernel/sched/core.c index bfa7452ca92e..eced503aa670 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -679,10 +679,6 @@ struct rq *task_rq_lock(struct task_struct *p, struct rq_flags *rf) static void update_rq_clock_task(struct rq *rq, s64 delta) { -/* - * In theory, the compile should just see 0 here, and optimize out the call - * to sched_rt_avg_update. But I don't trust it... - */ s64 __maybe_unused steal = 0, irq_delta = 0; #ifdef CONFIG_IRQ_TIME_ACCOUNTING @@ -724,10 +720,9 @@ static void update_rq_clock_task(struct rq *rq, s64 delta) rq->clock_task += delta; -#ifdef CONFIG_HAVE_SCHED_AVG_IRQ if ((irq_delta + steal) && sched_feat(NONTASK_CAPACITY)) update_irq_load_avg(rq, irq_delta + steal); -#endif + update_rq_clock_pelt(rq, delta); } -- 2.36.1.476.g0c4daa206d-goog
| |