Lines Matching +full:locality +full:- +full:specific

33 thread system-wide.  A single MT wq needed to keep around the same
60 * Use per-CPU unified worker pools shared by all wq to provide
83 called worker-pools.
85 The cmwq design differentiates between the user-facing workqueues that
87 which manages worker-pools and processes the queued work items.
89 There are two worker-pools, one for normal work items and the other
91 worker-pools to serve work items queued on unbound workqueues - the
98 things like CPU locality, concurrency limits, priority and more. To
102 When a work item is queued to a workqueue, the target worker-pool is
104 and appended on the shared worklist of the worker-pool. For example,
106 be queued on the worklist of either normal or highpri worker-pool that
115 Each worker-pool bound to an actual CPU implements concurrency
116 management by hooking into the scheduler. The worker-pool is notified
122 workers on the CPU, the worker-pool doesn't start execution of a new
144 wq's that have a rescue-worker reserved for execution under memory
145 pressure. Else it is possible that the worker-pool deadlocks waiting
154 removal. ``alloc_workqueue()`` takes three arguments - ``@name``,
165 ---------
169 worker-pools which host workers which are not bound to any
170 specific CPU. This makes the wq behave as a simple execution
172 worker-pools try to start execution of work items as soon as
173 possible. Unbound wq sacrifices locality but is useful for
196 worker-pool of the target cpu. Highpri worker-pools are
199 Note that normal and highpri worker-pools don't interact with
207 worker-pool from starting execution. This is useful for bound
214 non-CPU-intensive work items can delay execution of CPU
220 workqueues are now non-reentrant - any work item is guaranteed to be
221 executed by at most one worker system-wide at any given time.
225 --------------
241 may queue at the same time. Unless there is a specific need for
248 unbound worker-pools and only one work item could be active at any given
253 be used to achieve system-wide ST behavior.
338 * Unless there is a specific need, using 0 for @max_active is
352 level of locality in wq operations and work item execution.
398 .. kernel-doc:: include/linux/workqueue.h
400 .. kernel-doc:: kernel/workqueue.c