From: Chen Ridong Date: Tue, 8 Oct 2024 11:24:57 +0000 (+0000) Subject: workqueue: doc: Add a note saturating the system_wq is not permitted X-Git-Tag: v6.13-rc1~166^2~2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=e3dddcfd3dd8b483c9ccaa06733688bb63bb7c9d;p=thirdparty%2Fkernel%2Flinux.git workqueue: doc: Add a note saturating the system_wq is not permitted If something is expected to generate large number of concurrent works, it should utilize its own dedicated workqueue rather than system wq. Because this may saturate system_wq and potentially block other's works. eg, cgroup release work. Let's document this as a note. Signed-off-by: Chen Ridong Signed-off-by: Tejun Heo --- diff --git a/Documentation/core-api/workqueue.rst b/Documentation/core-api/workqueue.rst index 16f861c9791e4..2b813f80ce39c 100644 --- a/Documentation/core-api/workqueue.rst +++ b/Documentation/core-api/workqueue.rst @@ -357,6 +357,11 @@ Guidelines difference in execution characteristics between using a dedicated wq and a system wq. + Note: If something may generate more than @max_active outstanding + work items (do stress test your producers), it may saturate a system + wq and potentially lead to deadlock. It should utilize its own + dedicated workqueue rather than the system wq. + * Unless work items are expected to consume a huge amount of CPU cycles, using a bound wq is usually beneficial due to the increased level of locality in wq operations and work item execution.