proc: Use task_is_running() for wchan in /proc/$pid/stat
authorKees Cook <keescook@chromium.org>
Wed, 29 Sep 2021 22:02:15 +0000 (15:02 -0700)
committerPeter Zijlstra <peterz@infradead.org>
Fri, 15 Oct 2021 09:25:13 +0000 (11:25 +0200)
commit4e046156792c26bef8a4e30be711777fc8578257
tree2b1c78b7f3069885e3ec36cf04e4724e8de21691
parentcf2a85efdade117e2169d6e26641016cbbf03ef0
proc: Use task_is_running() for wchan in /proc/$pid/stat

The implementations of get_wchan() can be expensive. The only information
imparted here is whether or not a process is currently blocked in the
scheduler (and even this doesn't need to be exact). Avoid doing the
heavy lifting of stack walking and just report that information by using
task_is_running().

Signed-off-by: Kees Cook <keescook@chromium.org>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Link: https://lkml.kernel.org/r/20211008111626.211281780@infradead.org
fs/proc/array.c