Messages in this thread |  | | Date | Sat, 7 Jan 2023 23:11:34 +0100 | From | Frederic Weisbecker <> | Subject | Re: [PATCH] rcu: Fix missing TICK_DEP_MASK_RCU_EXP dependency check |
| |
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.
|  |