Re: [RFC PATCH] sched/debug: Use terse backtrace for idly sleeping threads.

From: Peter Zijlstra
Date: Thu Jul 19 2018 - 09:47:05 EST


On Thu, Jul 19, 2018 at 10:37:23PM +0900, Tetsuo Handa wrote:
> This patch can be applied before proposing abovementioned changes.
> Since there are many kernel threads whose backtrace is boring due to idly
> waiting for an event inside the main loop, this patch introduces a kernel
> config option (which allows SysRq-t to use one-liner backtrace for threads
> idly waiting for an event) and simple helpers (which allow current thread
> to declare that current thread is about to start/end idly waiting).

> diff --git a/drivers/base/devtmpfs.c b/drivers/base/devtmpfs.c
> index f776807..6b8c8bd 100644
> --- a/drivers/base/devtmpfs.c
> +++ b/drivers/base/devtmpfs.c
> @@ -406,7 +406,9 @@ static int devtmpfsd(void *p)
> }
> __set_current_state(TASK_INTERRUPTIBLE);
> spin_unlock(&req_lock);
> + start_idle_sleeping();
> schedule();
> + end_idle_sleeping();
> }
> return 0;
> out:

So I _really_ hate the idea of sprinking that all around the kernel like
this.