Hello, Christoph. On Sun, Jan 08, 2023 at 06:02:40PM +0100, Christoph Hellwig wrote: > On Thu, Jan 05, 2023 at 11:24:29AM -1000, Tejun Heo wrote: > > Holding the queue lock now implies RCU read lock, so no need to use > > rcu_read_[un]lock() explicitly. This shouldn't cause any behavior changes. > > How so? Now that all RCU flavors have been combined, holding a spin lock, disabling irq, disabling preemption all imply RCU read lock. > > While at it, drop __acquires() annotation on the queue lock too. The > > __acquires() part was already out of sync and it doesn't catch anything that > > lockdep can't. > > This makes sparse even more unhappy than it was before. For now > please keep the annotation. I can drop the changes but this actually bothers me. The annotation has been broken for a *long* time and nobody noticed. Furthermore, I can't remember a time when __acquires/__releases notation caught anything that lockdep couldn't trivially and can't even think of a way how it could. AFAICS, these annotations don't contribute anything other than preservation of themselves. I don't see why we would want to keep them. Thanks. -- tejun