Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge branch 'for-4.15-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq

Pull workqueue fixlet from Tejun Heo:
"One patch to add touch_nmi_watchdog() while dumping workqueue debug
messages to avoid triggering the lockup detector spuriously.

The change is very low risk"

* 'for-4.15-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq:
workqueue: avoid hard lockups in show_workqueue_state()

+13
+13
kernel/workqueue.c
··· 48 48 #include <linux/moduleparam.h> 49 49 #include <linux/uaccess.h> 50 50 #include <linux/sched/isolation.h> 51 + #include <linux/nmi.h> 51 52 52 53 #include "workqueue_internal.h" 53 54 ··· 4464 4463 if (pwq->nr_active || !list_empty(&pwq->delayed_works)) 4465 4464 show_pwq(pwq); 4466 4465 spin_unlock_irqrestore(&pwq->pool->lock, flags); 4466 + /* 4467 + * We could be printing a lot from atomic context, e.g. 4468 + * sysrq-t -> show_workqueue_state(). Avoid triggering 4469 + * hard lockup. 4470 + */ 4471 + touch_nmi_watchdog(); 4467 4472 } 4468 4473 } 4469 4474 ··· 4497 4490 pr_cont("\n"); 4498 4491 next_pool: 4499 4492 spin_unlock_irqrestore(&pool->lock, flags); 4493 + /* 4494 + * We could be printing a lot from atomic context, e.g. 4495 + * sysrq-t -> show_workqueue_state(). Avoid triggering 4496 + * hard lockup. 4497 + */ 4498 + touch_nmi_watchdog(); 4500 4499 } 4501 4500 4502 4501 rcu_read_unlock_sched();