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 <chenridong@xxxxxxxxxx> --- Documentation/core-api/workqueue.rst | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Documentation/core-api/workqueue.rst b/Documentation/core-api/workqueue.rst index 16f861c9791e..338b25e86f8c 100644 --- a/Documentation/core-api/workqueue.rst +++ b/Documentation/core-api/workqueue.rst @@ -356,6 +356,10 @@ Guidelines special attribute, can use one of the system wq. There is no difference in execution characteristics between using a dedicated wq and a system wq. + Note: 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. * Unless work items are expected to consume a huge amount of CPU cycles, using a bound wq is usually beneficial due to the increased -- 2.34.1