workqueue: Disable per-cpu CPU hog detection when wq_cpu_intensive_thresh_us is 0
authorZqiang <qiang.zhang1211@gmail.com>
Thu, 25 May 2023 04:00:38 +0000 (12:00 +0800)
committerTejun Heo <tj@kernel.org>
Thu, 25 May 2023 20:46:53 +0000 (10:46 -1000)
commit18c8ae813156a6855f026de80fffb91e1a28ab3d
tree8d41793c9775f9f18ef9c6b4c542c41d3d27eaf6
parentc8f6219be2e58d7f676935ae90b64abef5d0966a
workqueue: Disable per-cpu CPU hog detection when wq_cpu_intensive_thresh_us is 0

If workqueue.cpu_intensive_thresh_us is set to 0, the detection mechanism
for CPU-hogging per-cpu work item will keep triggering spuriously:

  workqueue: process_srcu hogged CPU for >0us 4 times, consider switching to WQ_UNBOUND
  workqueue: gc_worker hogged CPU for >0us 4 times, consider switching to WQ_UNBOUND
  workqueue: gc_worker hogged CPU for >0us 8 times, consider switching to WQ_UNBOUND
  workqueue: wait_rcu_exp_gp hogged CPU for >0us 4 times, consider switching to WQ_UNBOUND
  workqueue: kfree_rcu_monitor hogged CPU for >0us 4 times, consider switching to WQ_UNBOUND
  workqueue: kfree_rcu_monitor hogged CPU for >0us 8 times, consider switching to WQ_UNBOUND
  workqueue: reg_todo hogged CPU for >0us 4 times, consider switching to WQ_UNBOUND

This commit therefore disables the CPU-hog detection mechanism when
workqueue.cpu_intensive_thresh_us is set to 0.

tj: Patch description updated and the condition check on
    cpu_intensive_thresh_us separated into a separate if statement for
    readability.

Signed-off-by: Zqiang <qiang.zhang1211@gmail.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
kernel/workqueue.c