Re: [Bug, sched, 5.8-rc2]: PREEMPT kernels crashing in check_preempt_wakeup() running fsx on XFS

From: Peter Zijlstra
Date: Tue Jun 30 2020 - 04:57:39 EST


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?