On 04/23, Paul E. McKenney wrote: > > I wordsmithed the commit log and merged in the RCU-bh and RCU checks > to rcu_sync_is_idle(), with the result shown below. Does that work > OK, or did I mess something up?
Yes, thanks! the additional RCU-bh and RCU checks matches the "or introduce rcu_read_lock_any_held()" note from the changelog, perhaps it makes some sense... Just one nit below, > - * Must be invoked within an RCU read-side critical section whose > - * flavor matches that of the rcu_sync struture. > + * Must be invoked within an RCU-sched read-side critical section. ^^^^^^^^^ Given that the actual code: > static inline bool rcu_sync_is_idle(struct rcu_sync *rsp) > { > -#ifdef CONFIG_PROVE_RCU > - rcu_sync_lockdep_assert(rsp); > -#endif > + RCU_LOCKDEP_WARN(!rcu_read_lock_held() && > + !rcu_read_lock_bh_held() && > + !rcu_read_lock_sched_held(), > + "suspicious rcu_sync_is_idle() usage"); does RCU_LOCKDEP_WARN(!rcu_read_lock_any()) the comment should say Must be invoked within an RCU read-side critical section of any flavor ? Oleg.