On Tue, Jun 30, 2020 at 09:55:33AM +1000, Dave Chinner wrote: > Sure, but that misses the point I was making. > > I regularly have to look deep into other subsystems to work out what > problem the filesystem is tripping over. I'm regularly > looking into parts of the IO stack, memory management, page > allocators, locking and atomics, workqueues, the scheduler, etc > because XFS makes extensive (and complex) use of the infrastructure > they provide. That means to debug filesystem issues, I have to be > able to understand what that infrastructure is trying to do and make > judgements as to whether that code behaving correctly or not. > > And so when I find a reproducer for a bug that takes 20s to > reproduce and it points me at code that I honestily have no hope of
20s would've been nice to have a week and a half ago, the reproduce I debugged this with took days to trigger.. a well, such is life. > understanding well enough to determine if it is working correctly or > not, then we have a problem. A lot of my time is spent doing root > cause analysis proving that such issues are -not- filesystem > problems (they just had "xfs" in the stack trace), hence being able > to read and understand the code in related core subsystems is > extremely important to performing my day job. > > If more kernel code falls off the memory barrier cliff like this, > then the ability of people like me to find the root cause of complex > issues is going to be massively reduced. Writing code so smart that > almost no-one else can understand has always been a bad thing, and > memory barriers only make this problem worse... :( How about you try and give me a hint about where you gave up and I'll try and write better comments?