On 15.02.22 18:18, Jan Beulich wrote: > On 15.02.2022 16:46, Oleksandr Andrushchenko wrote: >> Question: can anyone please explain why pcidevs is a recursive lock? > Well, assuming you did look at the change making it so, can you be a > little more specific with your question? Are you perhaps suggesting > the original reason has disappeared, and no new one has appeared? I'm > afraid I have to repeat what I did say before: If you want to remove > the recursive nature of the lock, then it is all on you to prove that > there's no code path where the lock is taken recursively. IOW even if > no-one knew of a reason, you'd still need to provide this proof. > Unless of course we'd all agree we're okay to take the risk; I don't > see us doing so, though. The question was exactly as asked: I don't understand why it is recursive and for what reason. I am not suggesting we blindly change it to a normal spinlock.
My impression was that the code is structured in a way that the same functionality is coded such as functions, which already hold the lock, can call others which are about to acquire the same. So, that allowed not introducing XXX and XXX_unlocked function pairs which can be done for many reasons. That's it > Jan > > Thank you, Oleksandr