Le Mon, Jan 19, 2026 at 06:12:22PM -0500, Joel Fernandes a écrit : > During callback overload (exceeding qhimark), the NOCB code attempts > opportunistic advancement via rcu_advance_cbs_nowake(). Analysis shows > this entire code path is dead: > > - 30 overload conditions triggered with 300,000 callback flood > - 0 advancements actually occurred > - 100% of time blocked because current GP not done > > The overload condition triggers when callbacks are coming in at a high > rate with GPs not completing as fast. But the advancement requires the > GP to be complete - a logical contradiction. Even if the GP did complete > in time, nocb_gp_wait() has to wake up anyway to do the advancement, so > it is pointless. > > Since the advancement is dead code, the entire overload handling block > serves no purpose. Remove it entirely. > > Suggested-by: Frederic Weisbecker <[email protected]> > Signed-off-by: Joel Fernandes <[email protected]>
Reviewed-by: Frederic Weisbecker <[email protected]> Would be nice to have Paul's ack as well, in case we missed something subtle here. Also probably for upcoming merge window + 1, note that similar code with similar removal opportunity resides in rcu_nocb_try_bypass(). And ->nocb_gp_adv_time could then be removed. Thanks. -- Frederic Weisbecker SUSE Labs

