Re: [PATCH] sched: Drop outdated compile-optimization comment

From: Peter Zijlstra
Date: Fri Jun 17 2022 - 09:31:51 EST


On Fri, Jun 17, 2022 at 12:10:05PM +0100, Valentin Schneider wrote:
> On 15/06/22 15:27, Brian Norris wrote:
> > 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. That #if is
> > gone, and the comment just confuses the reader now. (For one, we don't
> > call sched_rt_avg_update() directly any more either.)
> >
>
> So that sched_rt_avg_update() became update_irq_load_avg() with
>
> 91c27493e78d ("sched/irq: Add IRQ utilization tracking")
>
> and then the #ifdef configs were reorganized in
>
> 11d4afd4ff66 ("sched/pelt: Fix warning and clean up IRQ PELT config")
>
> I'd argue that comment is still somewhat relevant but it applies to that
> block:
>
> #ifdef CONFIG_HAVE_SCHED_AVG_IRQ
> if ((irq_delta + steal) && sched_feat(NONTASK_CAPACITY))
> update_irq_load_avg(rq, irq_delta + steal);
> #endif
>
> if !CONFIG_HAVE_SCHED_AVG_IRQ then yes you'd expect the compiler to not
> even add a call to update_irq_load_avg() in there, but compilers aren't the
> most trustworthy things :-) If you feel like it, you could play with
> GCC/clang and see what they emit if you remove those #ifdefs.

Mostly I think it was the jump_label stuff getting them confused. I
suspect that's fixed in todays compilers tho, so yeah, it might be good
to get rid of it.