Re: [PATCH v7 02/11] rcu: Make call_rcu() lazy to save power

From: Uladzislau Rezki
Date: Tue Oct 04 2022 - 07:41:51 EST


> trace_rcu_nocb_wake(rcu_state.name, rdp->cpu, TPS("Check"));
> rcu_nocb_lock_irqsave(rdp, flags);
> lockdep_assert_held(&rdp->nocb_lock);
> bypass_ncbs = rcu_cblist_n_cbs(&rdp->nocb_bypass);
> - if (bypass_ncbs &&
> + lazy_ncbs = READ_ONCE(rdp->lazy_len);
> +
> + if (bypass_ncbs && (lazy_ncbs == bypass_ncbs) &&
> + (time_after(j, READ_ONCE(rdp->nocb_bypass_first) + jiffies_till_flush) ||
> + bypass_ncbs > 2 * qhimark)) {
Do you know why we want double "qhimark" threshold? It is not only this
place, there are several. I am asking because it is not expected by the
user.

--
Uladzsislau Rezki