On 01/30/2019 02:44 PM, Peter Zijlstra wrote: > On Wed, Jan 30, 2019 at 11:30:41AM -0800, Alexei Starovoitov wrote: >> On Wed, Jan 30, 2019 at 11:15:30AM +0100, Peter Zijlstra wrote: >>> On Tue, Jan 29, 2019 at 08:04:56PM -0800, Alexei Starovoitov wrote: >>>> Lockdep warns about false positive: >>> This is not a false positive, and you probably also need to use >>> down_read_non_owner() to match this up_read_non_owner(). >>> >>> {up,down}_read() and {up,down}_read_non_owner() are not only different >>> in the lockdep annotation; there is also optimistic spin stuff that >>> relies on 'owner' tracking. >> Can you point out in the code the spin bit? > Hurmph, looks like you're right. I got lost in that stuff again. I hate > that rwsem code :/
It is actually related to how the lockdep code track if a lock is acquired or released. It is not actually related to how the rwsem code work. > > Rewriting that all is on the todo list somewhere, but it's far down :/ > I am actually planning to rewrite it. Hopefully, I can send out the patch soon. Cheers, Longman