Lines Matching refs:worker

20 queue is called workqueue and the thread is called worker.
22 While there are work items on the workqueue the worker executes the
24 there is no work item left on the workqueue the worker becomes idle.
25 When a new work item gets queued, the worker begins executing again.
32 worker thread per CPU and a single threaded (ST) wq had one worker
42 worker pool. An MT wq could provide only one execution context per CPU
60 * Use per-CPU unified worker pools shared by all wq to provide
64 * Automatically regulate worker pool and level of concurrency so that
80 Special purpose threads, called worker threads, execute the functions
82 worker threads become idle. These worker threads are managed in so
83 called worker-pools.
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
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
109 For any worker pool implementation, managing the concurrency level
115 Each worker-pool bound to an actual CPU implements concurrency
116 management by hooking into the scheduler. The worker-pool is notified
117 whenever an active worker wakes up or sleeps and keeps track of the
122 workers on the CPU, the worker-pool doesn't start execution of a new
123 work, but, when the last running worker goes to sleep, it immediately
124 schedules a new worker so that the CPU doesn't sit idle while there
135 backing worker pools matching the attributes. The responsibility of
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
169 worker-pools which host workers which are not bound to any
172 worker-pools try to start execution of work items as soon as
196 worker-pool of the target cpu. Highpri worker-pools are
197 served by worker threads with elevated nice level.
199 Note that normal and highpri worker-pools don't interact with
207 worker-pool from starting execution. This is useful for bound
243 unbound worker-pools and only one work item could be active at any given
356 boundaries. A work item queued on the workqueue will be assigned to a worker
358 Once started, the worker may or may not be allowed to move outside the scope
369 worker on the same CPU. This makes unbound workqueues behave as per-cpu
405 that the worker is inside its affinity scope, which is called
406 repatriation. Once started, the scheduler is free to move the worker
596 configuration, worker pools and how workqueues map to the pools: ::
703 Because the work functions are executed by generic worker threads
732 the stack trace of the offending worker thread. ::
751 executed by at most one worker system-wide at any given time.