Lines Matching full:workqueue

2 Workqueue  title
14 is needed and the workqueue (wq) API is the most commonly used
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.
28 Why Concurrency Managed Workqueue?
55 Concurrency Managed Workqueue (cmwq) is a reimplementation of wq with
58 * Maintain compatibility with the original workqueue API.
78 workqueue.
95 workqueue API functions as they see fit. They can influence some
97 workqueue they are putting the work item on. These flags include
102 When a work item is queued to a workqueue, the target worker-pool is
103 determined according to the queue parameters and workqueue attributes
105 unless specifically overridden, a work item of a bound workqueue will
133 Unbound workqueue can be assigned custom attributes using
134 ``apply_workqueue_attrs()`` and workqueue will automatically create
153 ``create_*workqueue()`` functions are deprecated and scheduled for
353 An unbound workqueue groups CPUs according to its affinity scope to improve
354 cache locality. For example, if a workqueue is using the default affinity
356 boundaries. A work item queued on the workqueue will be assigned to a worker
361 Workqueue currently supports the following affinity scopes.
364 Use the scope in module parameter ``workqueue.default_affinity_scope``
385 All CPUs are put in the same group. Workqueue makes no effort to process a
389 ``workqueue.default_affinity_scope`` and a specific workqueue's affinity
392 If ``WQ_SYSFS`` is set, the workqueue will have the following affinity scope
393 related interface files under its ``/sys/devices/virtual/workqueue/WQ_NAME/``
404 item starts execution, workqueue makes a best-effort attempt to ensure
414 isolation. Strict NUMA scope can also be used to match the workqueue
421 It'd be ideal if an unbound workqueue's behavior is optimal for vast
569 better than "cache (strict)" and maximizing workqueue utilization is
573 * As there is no one option which is great for most cases, workqueue usages
578 * An unbound workqueue with strict "cpu" affinity scope behaves the same as
579 ``WQ_CPU_INTENSIVE`` per-cpu workqueue. There is no real advanage to the
580 latter and an unbound workqueue provides a lot more flexibility.
595 Use tools/workqueue/wq_dump.py to examine unbound CPU affinity
598 $ tools/workqueue/wq_dump.py
650 Workqueue CPU -> pool
652 [ workqueue \ CPU 0 1 2 3 dfl]
672 Use tools/workqueue/wq_monitor.py to monitor workqueue operations: ::
674 $ tools/workqueue/wq_monitor.py events
705 workqueue users.
722 $ echo workqueue:workqueue_queue_work > /sys/kernel/tracing/set_event
743 Workqueue guarantees that a work item cannot be re-entrant if the following
747 2. No one queues the work item to another workqueue.
761 .. kernel-doc:: include/linux/workqueue.h
763 .. kernel-doc:: kernel/workqueue.c