diff options
author | Petr Mladek <pmladek@suse.com> | 2022-05-23 10:55:39 +0200 |
---|---|---|
committer | Petr Mladek <pmladek@suse.com> | 2022-05-23 10:55:39 +0200 |
commit | 1c6fd59943a630f087b4b3089aefdcb0bf43cca0 (patch) | |
tree | 4806aa6762bde2835b2be5f2ee4c8be40536e910 /kernel/hung_task.c | |
parent | a5c7a39f508ae1fd3288493b96dd26079bae41bf (diff) | |
parent | 701850dc0c31bfadf75a0a74af7d2c97859945ec (diff) |
Merge branch 'rework/kthreads' into for-linus
Diffstat (limited to 'kernel/hung_task.c')
-rw-r--r-- | kernel/hung_task.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/kernel/hung_task.c b/kernel/hung_task.c index 52501e5f7655..02a65d554340 100644 --- a/kernel/hung_task.c +++ b/kernel/hung_task.c @@ -127,6 +127,8 @@ static void check_hung_task(struct task_struct *t, unsigned long timeout) * complain: */ if (sysctl_hung_task_warnings) { + printk_prefer_direct_enter(); + if (sysctl_hung_task_warnings > 0) sysctl_hung_task_warnings--; pr_err("INFO: task %s:%d blocked for more than %ld seconds.\n", @@ -142,6 +144,8 @@ static void check_hung_task(struct task_struct *t, unsigned long timeout) if (sysctl_hung_task_all_cpu_backtrace) hung_task_show_all_bt = true; + + printk_prefer_direct_exit(); } touch_nmi_watchdog(); @@ -204,12 +208,17 @@ static void check_hung_uninterruptible_tasks(unsigned long timeout) } unlock: rcu_read_unlock(); - if (hung_task_show_lock) + if (hung_task_show_lock) { + printk_prefer_direct_enter(); debug_show_all_locks(); + printk_prefer_direct_exit(); + } if (hung_task_show_all_bt) { hung_task_show_all_bt = false; + printk_prefer_direct_enter(); trigger_all_cpu_backtrace(); + printk_prefer_direct_exit(); } if (hung_task_call_panic) |