Re: [PATCH] khungtaskd: Kick stuck processes

From: Tetsuo Handa
Date: Fri Feb 09 2018 - 06:31:08 EST


Chris Wilson wrote:
> Quoting Tetsuo Handa (2018-02-08 23:10:43)
> > Chris Wilson wrote:
> > > After spotting a stuck process, and having decided not to panic, give
> > > the task a kick to see if that helps it to recover (e.g. to paper over a
> > > missed wake up).
> >
> > Yes, we are seeing hangs at io_schedule(), but doesn't optionally allowing
> > io_schedule() be replaced with timeout version (e.g. dump_page() upon timeout
> > if io_schedule() was called for e.g. wait_on_page_bit()) give us more clue?
>
> Yes, this isn't for debugging who left the page locked (or the exact
> root cause), this is just trying to allow the system to limp along
> afterwards :) From personal experience, I know how easy it is to lose a
> wakeup and the only thing to notice is khungtaskd shouting every 120s.

Calling wake_up_process() does not sleep, does it? Then, I think you can
do it using SystemTap, for SystemTap gives you ability to call exported
functions at (almost) arbitrary line of (almost) arbitrary file. You can find
https://events.static.linuxfound.org/sites/events/files/slides/LCJ2014-en_0.pdf
for an example.