Re: [PATCH v1 05/11] rcu: Add RCU_GET_STATE_NOT_TRACKED for subsystems without expedited GPs
From: Frederic Weisbecker
Date: Thu Jul 09 2026 - 10:08:34 EST
Le Wed, Jun 24, 2026 at 06:23:47AM -0700, Puranjay Mohan a écrit :
> SRCU and Tasks RCU do not track expedited grace periods. When their
> callback state is checked via poll_state_synchronize_rcu_full(), the
> uninitialized or zeroed exp field could cause false-positive
> completion detection.
>
> This commit adds an RCU_GET_STATE_NOT_TRACKED sentinel value (0x2) that
> these subsystems can place into exp to indicate that expedited GP
> tracking is not applicable. The expedited sequence check in
> poll_state_synchronize_rcu_full() is guarded to skip entries marked with
> this sentinel.
>
> This is needed to allow rcu_segcblist_advance() and rcu_accelerate_cbs()
> to work with both normal and expedited grace periods via
> get_state_synchronize_rcu_full() and poll_state_synchronize_rcu_full().
>
> Reviewed-by: Paul E. McKenney <paulmck@xxxxxxxxxx>
> Signed-off-by: Puranjay Mohan <puranjay@xxxxxxxxxx>
Reviewed-by: Frederic Weisbecker <frederic@xxxxxxxxxx>
--
Frederic Weisbecker
SUSE Labs