workqueue: Adjust WQ_MAX_ACTIVE from 512 to 2048

WQ_MAX_ACTIVE is currently set to 512, which was established approximately
15 yeas ago. However, with the significant increase in machine sizes and
capabilities, the previous limit of 256 concurrent tasks is no longer
sufficient. Therefore, we propose to increase WQ_MAX_ACTIVE to 2048.
and WQ_DFL_ACTIVE is 1024 now.

Signed-off-by: Chen Ridong <chenridong@huawei.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
This commit is contained in:
Chen Ridong 2024-10-08 11:24:58 +00:00 committed by Tejun Heo
parent e3dddcfd3d
commit 581434654e
2 changed files with 3 additions and 3 deletions

View File

@ -245,8 +245,8 @@ CPU which can be assigned to the work items of a wq. For example, with
at the same time per CPU. This is always a per-CPU attribute, even for at the same time per CPU. This is always a per-CPU attribute, even for
unbound workqueues. unbound workqueues.
The maximum limit for ``@max_active`` is 512 and the default value used The maximum limit for ``@max_active`` is 2048 and the default value used
when 0 is specified is 256. These values are chosen sufficiently high when 0 is specified is 1024. These values are chosen sufficiently high
such that they are not the limiting factor while providing protection in such that they are not the limiting factor while providing protection in
runaway cases. runaway cases.

View File

@ -412,7 +412,7 @@ enum wq_flags {
}; };
enum wq_consts { enum wq_consts {
WQ_MAX_ACTIVE = 512, /* I like 512, better ideas? */ WQ_MAX_ACTIVE = 2048, /* I like 2048, better ideas? */
WQ_UNBOUND_MAX_ACTIVE = WQ_MAX_ACTIVE, WQ_UNBOUND_MAX_ACTIVE = WQ_MAX_ACTIVE,
WQ_DFL_ACTIVE = WQ_MAX_ACTIVE / 2, WQ_DFL_ACTIVE = WQ_MAX_ACTIVE / 2,