Re: [patch] mm, oom: dump stack of victim when reaping failed

From: David Rientjes
Date: Wed Jan 15 2020 - 15:27:13 EST


On Wed, 15 Jan 2020, Tetsuo Handa wrote:

> >> When a process cannot be oom reaped, for whatever reason, currently the
> >> list of locks that are held is currently dumped to the kernel log.
> >>
> >> Much more interesting is the stack trace of the victim that cannot be
> >> reaped. If the stack trace is dumped, we have the ability to find
> >> related occurrences in the same kernel code and hopefully solve the
> >> issue that is making it wedged.
> >>
> >> Dump the stack trace when a process fails to be oom reaped.
> >
> > Yes, this is really helpful.
>
> tsk would be a thread group leader, but the thread which got stuck is not
> always a thread group leader. Maybe dump all threads in that thread group
> without PF_EXITING (or something) ?
>

That's possible, yes. I think it comes down to the classic problem of how
much info in the kernel log on oom kill is too much. Stacks for all
threads that match the mm being reaped may be *very* verbose. I'm
currently tracking a stall in oom reaping where the victim doesn't always
have a lock held so we don't know where it's at in the kernel; I'm hoping
that a stack for the thread group leader will at least shed some light on
it.