On Mon, Jun 10, 2019 at 6:11 PM Dave Chinner <david@xxxxxxxxxxxxx> wrote: > > Please, no, let's not make the rwsems even more fragile than they > already are. I'm tired of the ongoing XFS customer escalations that > end up being root caused to yet another rwsem memory barrier bug. > > > Have you talked to Waiman Long about that? > > Unfortunately, Waiman has been unable to find/debug multiple rwsem > exclusion violations we've seen in XFS bug reports over the past 2-3 > years. Inside xfs you can do whatever you want. But in generic code, no, we're not saying "we don't trust the generic locking, so we cook our own random locking". If tghere really are exclusion issues, they should be fairly easy to try to find with a generic test-suite. Have a bunch of readers that assert that some shared variable has a particular value, and a bund of writers that then modify the value and set it back. Add some random timing and "yield" to them all, and show that the serialization is wrong. Some kind of "XFS load Y shows problems" is undebuggable, and not necessarily due to locking. Because if the locking issues are real (and we did fix one bug recently in a9e9bcb45b15: "locking/rwsem: Prevent decrement of reader count before increment") it needs to be fixed. Some kind of "let's do something else entirely" is simply not acceptable. Linus