Messages in this thread | | | Date | Mon, 16 Jan 2023 18:36:43 +0100 | Subject | Re: [PATCH 2/3] rcu: Equip sleepable RCU with lockdep dependency graph checks | From | Paolo Bonzini <> |
| |
On 1/13/23 20:11, Paul E. McKenney wrote: > On Fri, Jan 13, 2023 at 10:05:22AM -0800, Boqun Feng wrote: >> On Fri, Jan 13, 2023 at 03:29:49AM -0800, Paul E. McKenney wrote: >> I prefer that the first two patches go through your tree, because it >> reduces the synchronization among locking, rcu and KVM trees to the >> synchronization betwen rcu and KVM trees. > > Very well, I have queued and pushed these with the usual wordsmithing, > thank you!
I'm worried about this case:
CPU 0 CPU 1 -------------------- ------------------ lock A srcu lock B srcu lock B lock A srcu unlock B unlock A unlock A srcu unlock B
While a bit unclean, there is nothing that downright forbids this; as long as synchronize_srcu does not happen inside lock A, no deadlock can occur.
However, if srcu is replaced with an rwlock then lockdep should and does report a deadlock. Boqun, do you get a false positive or do your patches correctly suppress this?
Paolo
| |