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.
99 the BH execution context. A BH workqueue can be considered a convenience
103 workqueue API functions as they see fit. They can influence some
105 workqueue they are putting the work item on. These flags include
110 When a work item is queued to a workqueue, the target worker-pool is
111 determined according to the queue parameters and workqueue attributes
113 unless specifically overridden, a work item of a bound workqueue will
141 Unbound workqueue can be assigned custom attributes using
142 ``apply_workqueue_attrs()`` and workqueue will automatically create
161 ``create_*workqueue()`` functions are deprecated and scheduled for
363 dedicated workqueue rather than the system wq.
373 An unbound workqueue groups CPUs according to its affinity scope to improve
374 cache locality. For example, if a workqueue is using the default affinity
376 boundaries. A work item queued on the workqueue will be assigned to a worker
381 Workqueue currently supports the following affinity scopes.
384 Use the scope in module parameter ``workqueue.default_affinity_scope``
405 All CPUs are put in the same group. Workqueue makes no effort to process a
409 ``workqueue.default_affinity_scope`` and a specific workqueue's affinity
412 If ``WQ_SYSFS`` is set, the workqueue will have the following affinity scope
413 related interface files under its ``/sys/devices/virtual/workqueue/WQ_NAME/``
424 item starts execution, workqueue makes a best-effort attempt to ensure
434 isolation. Strict NUMA scope can also be used to match the workqueue
441 It'd be ideal if an unbound workqueue's behavior is optimal for vast
589 better than "cache (strict)" and maximizing workqueue utilization is
593 * As there is no one option which is great for most cases, workqueue usages
598 * An unbound workqueue with strict "cpu" affinity scope behaves the same as
599 ``WQ_CPU_INTENSIVE`` per-cpu workqueue. There is no real advanage to the
600 latter and an unbound workqueue provides a lot more flexibility.
615 Use tools/workqueue/wq_dump.py to examine unbound CPU affinity
618 $ tools/workqueue/wq_dump.py
670 Workqueue CPU -> pool
672 [ workqueue \ CPU 0 1 2 3 dfl]
692 Use tools/workqueue/wq_monitor.py to monitor workqueue operations: ::
694 $ tools/workqueue/wq_monitor.py events
725 workqueue users.
742 $ echo workqueue:workqueue_queue_work > /sys/kernel/tracing/set_event
763 Workqueue guarantees that a work item cannot be re-entrant if the following
767 2. No one queues the work item to another workqueue.
781 .. kernel-doc:: include/linux/workqueue.h
783 .. kernel-doc:: kernel/workqueue.c