Re: [PATCH] panic: add TAINT_SOFTLOCKUP

From: Dave Jones
Date: Tue Jun 24 2014 - 11:06:30 EST


On Tue, Jun 24, 2014 at 09:22:20AM -0500, Josh Hunt wrote:

> >> In addition to adding the softlockup taint flag, do you think it'd be
> >> reasonable to add another flag for page allocation failures? I think
> >> it'd be nice to be able to account for these conditions somehow without
> >> having to parse dmesg, etc. As with the softlockup flag, it's helpful to
> >> know if your system had encountered a page allocation failure at some
> >> point before the crash or whatever you're debugging.
> >
> > I don't know, really. Allocation failures are often an expected thing
> > as drivers try to work out how much memory they can allocate. Those
> > things can be screened out by testing __GFP_NOWARN. GFP_ATOMIC
> > failures should probably be ignored, except for when they shouldn't.
> > But even then, allocation failures are somewhat common. And recency is
> > a concern: an allocation failure 10 minutes ago is unlikely to be
> > relevant.
> >
> > But that's just me waving hands around. I'd be interested to hear from
> > people whose kernels crash more often than mine, and from those whose
> > job is to support them (ie distro people?).
> >
>
> Anyone you'd suggest adding to this thread to get other feedback about
> tracking page allocation failures? I could also spin up a patch and cc them.

For things like the fuzz test runs I do, I'd have to patch this out.

Things like migrate_pages() with bad arguments will trigger a page
allocation failure rather easily. Likewise set_mempolicy(), and a
handful of other vm syscalls.

There's also the case of "too fragmented to satisfy contiguous multi-page
allocation" which I walk into from time to time (when the kernel manages
to survive a fuzz run long enough, which isn't that often).

Dave

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/