Messages in this thread | | | Date | Thu, 28 Sep 2023 08:33:50 +0200 | From | Sebastian Andrzej Siewior <> | Subject | Re: [RFC PATCH] srcu: Use try-lock lockdep annotation for NMI-safe access. |
| |
On 2023-09-27 23:06:09 [-0700], Boqun Feng wrote: > SRCU only has read lock usage from lockdep PoV, but after that commit, > we annotate synchronize_srcu() as a write lock usage, so that we can > detect deadlocks between *normal* srcu_read_lock() and > synchronize_srcu(), however the side effect is now SRCU has a write lock > usage from lockdep PoV.
Ach. There is a write annotation for SRCU and RCU has none. Okay that explains it.
> Actually in the above commit, I explicitly leave > srcu_read_lock_nmisafe() alone since its locking rules may be different > compared to srcu_read_lock(). In lockdep terms, srcu_read_lock_nmisafe() > is a !check read lock and srcu_read_lock() is a check read lock.
This was on v6.6-rc3 so it has the commit f0f44752f5f61 ("rcu: Annotate SRCU's update-side lockdep dependencies").
> Maybe > instead of using the trylock trick, we change lockdep to igore !check > locks for NMI context detection? Untested code as below:
Just tested, no splat for the SRCU-in-NMI usage.
Sebastian
| |