| /kernel/linux/linux-6.6/tools/workqueue/ |
| D | wq_monitor.py | 7 This is a drgn script to monitor workqueues. For more info on drgn, visit 23 CMW/RPR For per-cpu workqueues, the number of concurrency-management 25 unbound workqueues, the number of times a worker was repatriated 61 workqueues = prog['workqueues'] variable 161 for wq in list_for_each_entry('struct workqueue_struct', workqueues.address_of_(), 'list'):
|
| D | wq_dump.py | 13 Shows the CPUs that can be used for unbound workqueues and how they will be 36 Lists all workqueues along with their type and worker pool association. For 79 workqueues = prog['workqueues'] variable 156 for wq in list_for_each_entry('struct workqueue_struct', workqueues.address_of_(), 'list'):
|
| /kernel/linux/linux-6.6/include/linux/ |
| D | workqueue.h | 373 * Per-cpu workqueues are generally preferred because they tend to 375 * workqueues exclude the scheduler from choosing the CPU to 387 * Workqueues marked with WQ_POWER_EFFICIENT are per-cpu by default 389 * specified. Per-cpu workqueues which are identified to 411 * System-wide workqueues which are always present. 471 * implemented as unbound workqueues with @max_active of one. 627 * Detect attempt to flush system-wide workqueues at compile time when possible. 628 * Warn attempt to flush system-wide workqueues at runtime. 631 * for reasons and steps for converting system-wide workqueues into local workqueues. 634 __compiletime_warning("Please avoid flushing system-wide workqueues.");
|
| /kernel/linux/linux-6.6/kernel/ |
| D | workqueue.c | 22 * pools for workqueues which are not bound to any specific CPU - the 287 struct list_head list; /* PR: list of all workqueues */ 318 * the workqueues list without grabbing wq_pool_mutex. 319 * This is used to dump all workqueues from sysrq. 331 * Each pod type describes how CPUs should be grouped for unbound workqueues. 372 static DEFINE_MUTEX(wq_pool_mutex); /* protects pools and workqueues list */ 378 static LIST_HEAD(workqueues); /* PR: list of all workqueues */ 1161 * workqueues as appropriate. To avoid flooding the console, each violating work 1900 * This current implementation is specific to unbound workqueues. in queue_work_node() 2630 * workqueues), so hiding them isn't a problem. in process_one_work() [all …]
|
| D | umh.c | 148 * possibly reduced affinity (eg: per-cpu workqueues). We don't want 151 * Unbound workqueues provide such wide affinity and allow to block on 154 * Besides, workqueues provide the privilege level that caller might not have 394 * asynchronously if wait is not set, and runs as a child of system workqueues.
|
| /kernel/linux/linux-6.6/Documentation/admin-guide/ |
| D | kernel-per-CPU-kthreads.rst | 149 2. Convert all drivers that you must use from tasklets to workqueues. 236 files. The set of WQ_SYSFS workqueues can be displayed using 237 "ls /sys/devices/virtual/workqueue". That said, the workqueues 239 sprinkling WQ_SYSFS across all the workqueues. The reason for 248 use of each CPU's workqueues to run its cache_reap()
|
| D | xfs.rst | 507 XFS uses kernel workqueues to parallelize metadata update processes. This 516 The control knobs for a filesystem's workqueues are organized by task at hand 534 The interesting knobs for XFS workqueues are as follows:
|
| /kernel/linux/linux-5.10/kernel/power/ |
| D | Kconfig | 298 Per-cpu workqueues are generally preferred because they show 300 per-cpu workqueues tend to be more power hungry than unbound 301 workqueues. 304 per-cpu workqueues which were observed to contribute
|
| /kernel/linux/linux-5.10/kernel/ |
| D | workqueue.c | 22 * pools for workqueues which are not bound to any specific CPU - the 241 struct list_head list; /* PR: list of all workqueues */ 272 * the workqueues list without grabbing wq_pool_mutex. 273 * This is used to dump all workqueues from sysrq. 302 static DEFINE_MUTEX(wq_pool_mutex); /* protects pools and workqueues list */ 308 static LIST_HEAD(workqueues); /* PR: list of all workqueues */ 1124 * pool->lock as this path is taken only for unbound workqueues and in put_pwq() 1556 /* No point in doing this if NUMA isn't enabled for workqueues */ in workqueue_select_cpu_near() 1603 * This current implementation is specific to unbound workqueues. in queue_work_node() 2278 * workqueues), so hiding them isn't a problem. in process_one_work() [all …]
|
| D | umh.c | 148 * possibly reduced affinity (eg: per-cpu workqueues). We don't want 151 * Unbound workqueues provide such wide affinity and allow to block on 154 * Besides, workqueues provide the privilege level that caller might not have 394 * asynchronously if wait is not set, and runs as a child of system workqueues.
|
| /kernel/linux/linux-6.6/Documentation/core-api/ |
| D | workqueue.rst | 85 The cmwq design differentiates between the user-facing workqueues that 91 worker-pools to serve work items queued on unbound workqueues - the 132 For unbound workqueues, the number of backing pools is dynamic. 227 unbound workqueues. 369 worker on the same CPU. This makes unbound workqueues behave as per-cpu 370 workqueues without concurrency management. 424 necessitating explicit configurations when workqueues are heavily used. 575 the workqueues using ``apply_workqueue_attrs()`` and/or enable 596 configuration, worker pools and how workqueues map to the pools: ::
|
| /kernel/linux/linux-6.6/kernel/power/ |
| D | Kconfig | 314 Per-cpu workqueues are generally preferred because they show 316 per-cpu workqueues tend to be more power hungry than unbound 317 workqueues. 320 per-cpu workqueues which were observed to contribute
|
| /kernel/linux/linux-5.10/Documentation/admin-guide/ |
| D | kernel-per-CPU-kthreads.rst | 149 2. Convert all drivers that you must use from tasklets to workqueues. 236 files. The set of WQ_SYSFS workqueues can be displayed using 237 "ls /sys/devices/virtual/workqueue". That said, the workqueues 239 sprinkling WQ_SYSFS across all the workqueues. The reason for 248 use of each CPU's workqueues to run its cache_reap()
|
| /kernel/linux/linux-5.10/Documentation/x86/ |
| D | sva.rst | 31 Shared Hardware Workqueues 124 * Devices have a limited number (~10's to 1000's) of hardware workqueues. 125 The device driver manages allocating hardware workqueues. 155 * How are shared workqueues different?
|
| /kernel/linux/linux-5.10/include/linux/ |
| D | workqueue.h | 318 * Per-cpu workqueues are generally preferred because they tend to 320 * workqueues exclude the scheduler from choosing the CPU to 332 * Workqueues marked with WQ_POWER_EFFICIENT are per-cpu by default 334 * specified. Per-cpu workqueues which are identified to 359 * System-wide workqueues which are always present. 420 * implemented as unbound workqueues with @max_active of one.
|
| /kernel/linux/linux-6.6/Documentation/arch/x86/ |
| D | sva.rst | 31 Shared Hardware Workqueues 153 * Devices have a limited number (~10's to 1000's) of hardware workqueues. 154 The device driver manages allocating hardware workqueues. 184 * How are shared workqueues different?
|
| /kernel/linux/linux-5.10/Documentation/core-api/ |
| D | workqueue.rst | 85 The cmwq design differentiates between the user-facing workqueues that 91 worker-pools to serve work items queued on unbound workqueues - the 132 For unbound workqueues, the number of backing pools is dynamic. 220 workqueues are now non-reentrant - any work item is guaranteed to be
|
| /kernel/linux/linux-5.10/tools/testing/selftests/rcutorture/formal/srcu-cbmc/src/ |
| D | include_srcu.c | 20 #include "workqueues.h"
|
| D | simple_sync_srcu.c | 20 #include "workqueues.h"
|
| /kernel/linux/linux-6.6/Documentation/RCU/Design/Expedited-Grace-Periods/ |
| D | Expedited-Grace-Periods.rst | 402 Use of Workqueues 409 workqueues (see Documentation/core-api/workqueue.rst). 462 The use of workqueues has the advantage that the expedited grace-period 464 corresponding disadvantage that workqueues cannot be used until they are 472 the use of workqueues. However, the requesting task is only required to 475 workqueues are used.
|
| /kernel/linux/linux-5.10/Documentation/RCU/Design/Expedited-Grace-Periods/ |
| D | Expedited-Grace-Periods.rst | 402 Use of Workqueues 409 `workqueues <https://www.kernel.org/doc/Documentation/core-api/workqueue.rst>`__. 462 The use of workqueues has the advantage that the expedited grace-period 464 corresponding disadvantage that workqueues cannot be used until they are 472 the use of workqueues. However, the requesting task is only required to 475 workqueues are used.
|
| /kernel/linux/linux-6.6/drivers/net/wwan/t7xx/ |
| D | t7xx_modem_ops.h | 34 * @HIF_EX_CLEARQ_DONE: Disable RX, flush TX/RX workqueues and clear RX.
|
| /kernel/linux/linux-5.10/kernel/rcu/ |
| D | tree_exp.h | 441 /* No workqueues yet or last leaf, do direct call. */ in sync_rcu_exp_select_cpus() 475 // Workqueues should not be signaled. in synchronize_rcu_expedited_wait_once() 478 WARN_ON(t < 0); /* workqueues should not be signaled. */ in synchronize_rcu_expedited_wait_once() 615 * workqueues and mid-boot-time tasks.
|
| /kernel/linux/linux-5.10/kernel/sched/ |
| D | isolation.c | 4 * any CPU: unbound workqueues, timers, kthreads and any offloadable work.
|
| /kernel/linux/linux-5.10/drivers/oprofile/ |
| D | event_buffer.c | 47 * This shouldn't happen since all workqueues or handlers are in add_event_entry()
|