On Fri, Jan 06, 2023 at 07:01:28PM -0500, Joel Fernandes wrote: > (lost html content) I can't find a place where the exp grace period sends an IPI to CPUs slow to report a QS. But anyway you really need the tick to poll periodically on the CPU to chase a quiescent state. Now arguably it's probably only useful when CONFIG_PREEMPT_COUNT=y and rcu_exp_handler() has interrupted a preempt-disabled or bh-disabled section. Although rcu_exp_handler() sets TIF_RESCHED, which is handled by preempt_enable() and local_bh_enable() when CONFIG_PREEMPT=y. So probably it's only useful when CONFIG_PREEMPT_COUNT=y and CONFIG_PREEMPT=n (and there is also PREEMPT_DYNAMIC to consider). If CONFIG_PREEMPT_COUNT=n, the tick can only report idle and user as QS, but those are already reported explicitly on ct_kernel_exit() -> rcu_preempt_deferred_qs(). Thanks.