diff options
author | Zqiang <qiang.zhang1211@gmail.com> | 2023-09-11 10:27:22 +0200 |
---|---|---|
committer | Tejun Heo <tj@kernel.org> | 2023-09-18 20:50:31 +0200 |
commit | dd64c873ed11cdae340be06dcd2364870fd3e4fc (patch) | |
tree | 7690c0a121b819bd4db48e67392531387d2e3438 /kernel | |
parent | workqueue: Removed double allocation of wq_update_pod_attrs_buf (diff) | |
download | linux-dd64c873ed11cdae340be06dcd2364870fd3e4fc.tar.xz linux-dd64c873ed11cdae340be06dcd2364870fd3e4fc.zip |
workqueue: Fix missed pwq_release_worker creation in wq_cpu_intensive_thresh_init()
Currently, if the wq_cpu_intensive_thresh_us is set to specific
value, will cause the wq_cpu_intensive_thresh_init() early exit
and missed creation of pwq_release_worker. this commit therefore
create the pwq_release_worker in advance before checking the
wq_cpu_intensive_thresh_us.
Signed-off-by: Zqiang <qiang.zhang1211@gmail.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
Fixes: 967b494e2fd1 ("workqueue: Use a kthread_worker to release pool_workqueues")
Diffstat (limited to 'kernel')
-rw-r--r-- | kernel/workqueue.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/kernel/workqueue.c b/kernel/workqueue.c index 129328b765fb..b9f053a5a5f0 100644 --- a/kernel/workqueue.c +++ b/kernel/workqueue.c @@ -6602,13 +6602,13 @@ static void __init wq_cpu_intensive_thresh_init(void) unsigned long thresh; unsigned long bogo; + pwq_release_worker = kthread_create_worker(0, "pool_workqueue_release"); + BUG_ON(IS_ERR(pwq_release_worker)); + /* if the user set it to a specific value, keep it */ if (wq_cpu_intensive_thresh_us != ULONG_MAX) return; - pwq_release_worker = kthread_create_worker(0, "pool_workqueue_release"); - BUG_ON(IS_ERR(pwq_release_worker)); - /* * The default of 10ms is derived from the fact that most modern (as of * 2023) processors can do a lot in 10ms and that it's just below what |