diff options
author | Daniel Vetter <daniel.vetter@ffwll.ch> | 2019-05-02 22:46:48 +0200 |
---|---|---|
committer | Jani Nikula <jani.nikula@intel.com> | 2024-05-28 11:13:46 +0300 |
commit | 8e9cbd66b652fb4885df618980de88e3f2e964fa (patch) | |
tree | e4d095271ab07aa7b6cd2bfbc3972ba8e44b5522 /kernel | |
parent | febe25106ff7314dd69b42c818c724ca88cf766c (diff) |
RFC: hung_task: taint kernel
There's the hung_task_panic sysctl, but that's a bit an extreme measure.
As a fallback taint at least the machine.
Our CI uses this to decide when a reboot is necessary, plus to figure
out whether the kernel is still happy.
v2: Works much better when I put the else { add_taint() } at the right
place.
References: https://gitlab.freedesktop.org/drm/intel/-/issues/8034
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
Cc: Dmitry Vyukov <dvyukov@google.com>
Cc: "Paul E. McKenney" <paulmck@linux.ibm.com>
Cc: Valdis Kletnieks <valdis.kletnieks@vt.edu>
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
Cc: Vitaly Kuznetsov <vkuznets@redhat.com>
Cc: "Liu, Chuansheng" <chuansheng.liu@intel.com>
Acked-by: Chris Wilson <chris@chris-wilson.co.uk> (for core-for-CI)
Link: https://patchwork.freedesktop.org/patch/msgid/20190502204648.5537-1-daniel.vetter@ffwll.ch
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
Diffstat (limited to 'kernel')
-rw-r--r-- | kernel/hung_task.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/kernel/hung_task.c b/kernel/hung_task.c index 1d92016b0b3c..08c9345066f5 100644 --- a/kernel/hung_task.c +++ b/kernel/hung_task.c @@ -121,6 +121,8 @@ static void check_hung_task(struct task_struct *t, unsigned long timeout) console_verbose(); hung_task_show_lock = true; hung_task_call_panic = true; + } else { + add_taint(TAINT_WARN, LOCKDEP_STILL_OK); } /* |