| /kernel/linux/linux-5.10/include/linux/ |
| D | workqueue.h | 3 * workqueue.h --- work queue handling for Linux. 37 WORK_STRUCT_COLOR_SHIFT = 5, /* color for workqueue flushing */ 39 WORK_STRUCT_COLOR_SHIFT = 4, /* color for workqueue flushing */ 56 * participate in workqueue flushing. 66 * This makes pwqs aligned to 256 bytes and allows 15 workqueue 120 /* target workqueue and CPU ->timer uses to queue ->work */ 129 /* target workqueue ->rcu uses to queue ->work */ 134 * struct workqueue_attrs - A struct for workqueue attributes. 136 * This can be used to change attributes of an unbound workqueue. 306 * Workqueue flags and constants. For details, please refer to [all …]
|
| /kernel/linux/linux-6.6/include/linux/ |
| D | workqueue.h | 3 * workqueue.h --- work queue handling for Linux. 37 WORK_STRUCT_COLOR_SHIFT = 5, /* color for workqueue flushing */ 39 WORK_STRUCT_COLOR_SHIFT = 4, /* color for workqueue flushing */ 61 * This makes pwqs aligned to 256 bytes and allows 16 workqueue 115 /* target workqueue and CPU ->timer uses to queue ->work */ 124 /* target workqueue ->rcu uses to queue ->work */ 140 * struct workqueue_attrs - A struct for workqueue attributes. 142 * This can be used to change attributes of an unbound workqueue. 153 * Work items in this workqueue are affine to these CPUs and not allowed 154 * to execute on other CPUs. A pool serving a workqueue must have the [all …]
|
| /kernel/linux/linux-5.10/include/trace/events/ |
| D | workqueue.h | 3 #define TRACE_SYSTEM workqueue 9 #include <linux/workqueue.h> 20 * delayed work is actually queued on a workqueue (ie: once the delay 33 __field( void *, workqueue) 41 __entry->workqueue = pwq->wq; 46 TP_printk("work struct=%p function=%ps workqueue=%p req_cpu=%u cpu=%u", 47 __entry->work, __entry->function, __entry->workqueue, 77 * workqueue_execute_start - called immediately before the workqueue callback 80 * Allows to track workqueue execution. 102 * workqueue_execute_end - called immediately after the workqueue callback [all …]
|
| /kernel/linux/linux-6.6/Documentation/core-api/ |
| D | workqueue.rst | 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 [all …]
|
| /kernel/linux/linux-6.6/include/trace/events/ |
| D | workqueue.h | 3 #define TRACE_SYSTEM workqueue 9 #include <linux/workqueue.h> 20 * delayed work is actually queued on a workqueue (ie: once the delay 33 __string( workqueue, pwq->wq->name) 41 __assign_str(workqueue, pwq->wq->name); 46 TP_printk("work struct=%p function=%ps workqueue=%s req_cpu=%d cpu=%d", 47 __entry->work, __entry->function, __get_str(workqueue), 77 * workqueue_execute_start - called immediately before the workqueue callback 80 * Allows to track workqueue execution. 102 * workqueue_execute_end - called immediately after the workqueue callback [all …]
|
| /kernel/linux/linux-5.10/kernel/ |
| D | workqueue_internal.h | 5 * Workqueue internal header file. Only to be included by workqueue and 11 #include <linux/workqueue.h> 20 * details on the locking annotation (L, I, X...), refer to workqueue.c. 22 * Only to be used in workqueue and async. 55 /* used only by rescuers to point to the target workqueue */ 56 struct workqueue_struct *rescue_wq; /* I: the workqueue to rescue */ 63 * current_wq_worker - return struct worker if %current is a workqueue worker 73 * Scheduler hooks for concurrency managed workqueue. Only to be used from 74 * sched/ and workqueue.c.
|
| D | workqueue.c | 3 * kernel/workqueue.c - generic async execution with shared worker pool 25 * Please read Documentation/core-api/workqueue.rst for details. 34 #include <linux/workqueue.h> 195 * The per-pool workqueue. While queued, the lower WORK_STRUCT_FLAG_BITS 202 struct workqueue_struct *wq; /* I: the owning workqueue */ 225 * Structure used to wait for workqueue flush. 236 * The externally visible workqueue. It relays the issued work items to 268 char name[WQ_NAME_LEN]; /* I: workqueue name */ 363 #include <trace/events/workqueue.h> 414 * for_each_pwq - iterate through all pool_workqueues of the specified workqueue [all …]
|
| /kernel/linux/linux-6.6/kernel/ |
| D | workqueue_internal.h | 5 * Workqueue internal header file. Only to be included by workqueue and 11 #include <linux/workqueue.h> 20 * details on the locking annotation (L, I, X...), refer to workqueue.c. 22 * Only to be used in workqueue and async. 60 /* used only by rescuers to point to the target workqueue */ 61 struct workqueue_struct *rescue_wq; /* I: the workqueue to rescue */ 65 * current_wq_worker - return struct worker if %current is a workqueue worker 75 * Scheduler hooks for concurrency managed workqueue. Only to be used from 76 * sched/ and workqueue.c.
|
| D | workqueue.c | 3 * kernel/workqueue.c - generic async execution with shared worker pool 25 * Please read Documentation/core-api/workqueue.rst for details. 34 #include <linux/workqueue.h> 206 * tools/workqueue/wq_monitor.py. 222 * The per-pool workqueue. While queued, the lower WORK_STRUCT_FLAG_BITS 229 struct workqueue_struct *wq; /* I: the owning workqueue */ 271 * Structure used to wait for workqueue flush. 282 * The externally visible workqueue. It relays the issued work items to 314 char name[WQ_NAME_LEN]; /* I: workqueue name */ 444 #include <trace/events/workqueue.h> [all …]
|
| /kernel/linux/linux-5.10/Documentation/core-api/ |
| D | workqueue.rst | 2 Concurrency Managed Workqueue (cmwq) 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. 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 [all …]
|
| /kernel/linux/linux-6.6/tools/workqueue/ |
| D | wq_monitor.py | 10 total Total number of work items executed by the workqueue. 14 CPUtime Total CPU time consumed by the workqueue in seconds. This is 19 longer than the threshold (workqueue.cpu_intensive_thresh_us) 24 wake-ups while executing a work item of the workqueue. For 49 parser.add_argument('workqueue', metavar='REGEX', nargs='*', 50 help='Target workqueue name patterns (all if empty)') 142 if args.workqueue: 143 for r in args.workqueue:
|
| D | wq_dump.py | 7 This is a drgn script to show the current workqueue configuration. For more 33 Workqueue CPU -> pool 37 each workqueue: 41 NAME name of the workqueue 148 print('Workqueue CPU -> pool') 151 print('[ workqueue \ type CPU', end='')
|
| /kernel/linux/linux-6.6/net/vmw_vsock/ |
| D | vsock_loopback.c | 16 struct workqueue_struct *workqueue; member 35 queue_work(vsock->workqueue, &vsock->pkt_work); in vsock_loopback_send_pkt() 130 vsock->workqueue = alloc_workqueue("vsock-loopback", 0, 0); in vsock_loopback_init() 131 if (!vsock->workqueue) in vsock_loopback_init() 145 destroy_workqueue(vsock->workqueue); in vsock_loopback_init() 159 destroy_workqueue(vsock->workqueue); in vsock_loopback_exit()
|
| /kernel/linux/linux-5.10/net/vmw_vsock/ |
| D | vsock_loopback.c | 16 struct workqueue_struct *workqueue; member 39 queue_work(vsock->workqueue, &vsock->pkt_work); in vsock_loopback_send_pkt() 134 vsock->workqueue = alloc_workqueue("vsock-loopback", 0, 0); in vsock_loopback_init() 135 if (!vsock->workqueue) in vsock_loopback_init() 150 destroy_workqueue(vsock->workqueue); in vsock_loopback_init() 172 destroy_workqueue(vsock->workqueue); in vsock_loopback_exit()
|
| /kernel/linux/linux-5.10/include/drm/ttm/ |
| D | ttm_memory.h | 31 #include <linux/workqueue.h> 45 * @swap_queue: A workqueue to handle shrinking in low memory situations. We 46 * need a separate workqueue since it will spend a lot of time waiting 47 * for the GPU, and this will otherwise block other workqueue tasks(?) 48 * At this point we use only a single-threaded workqueue. 49 * @work: The workqueue callback for the shrink queue.
|
| /kernel/linux/linux-6.6/Documentation/translations/zh_CN/core-api/ |
| D | workqueue.rst | 4 :Original: Documentation/core-api/workqueue.rst 88 ``workqueue API`` 函数创建和排队工作项。他们可以通过在工作队列上 130 ``alloc_workqueue()`` 分配了一个wq。原来的 ``create_*workqueue()`` 316 $ echo workqueue:workqueue_queue_work > /sys/kernel/tracing/set_event 350 include/linux/workqueue.h 352 kernel/workqueue.c
|
| /kernel/linux/linux-6.6/drivers/remoteproc/ |
| D | keystone_remoteproc.c | 14 #include <linux/workqueue.h> 53 * @workqueue: workqueue for processing virtio interrupts 66 struct work_struct workqueue; member 119 * Main virtqueue message workqueue function 122 * driver's workqueue. The workqueue is scheduled by the vring ISR handler. 144 container_of(work, struct keystone_rproc, workqueue); in handle_event() 157 schedule_work(&ksproc->workqueue); in keystone_rproc_vring_interrupt() 174 INIT_WORK(&ksproc->workqueue, handle_event); in keystone_rproc_start() 202 flush_work(&ksproc->workqueue); in keystone_rproc_start() 220 flush_work(&ksproc->workqueue); in keystone_rproc_stop()
|
| /kernel/linux/linux-5.10/drivers/remoteproc/ |
| D | keystone_remoteproc.c | 14 #include <linux/workqueue.h> 53 * @workqueue: workqueue for processing virtio interrupts 66 struct work_struct workqueue; member 119 * Main virtqueue message workqueue function 122 * driver's workqueue. The workqueue is scheduled by the vring ISR handler. 144 container_of(work, struct keystone_rproc, workqueue); in handle_event() 157 schedule_work(&ksproc->workqueue); in keystone_rproc_vring_interrupt() 174 INIT_WORK(&ksproc->workqueue, handle_event); in keystone_rproc_start() 202 flush_work(&ksproc->workqueue); in keystone_rproc_start() 220 flush_work(&ksproc->workqueue); in keystone_rproc_stop()
|
| /kernel/linux/linux-5.10/drivers/net/wireless/quantenna/qtnfmac/pcie/ |
| D | pcie.c | 11 #include <linux/workqueue.h> 267 ipc_tx_reg, priv->workqueue, in qtnf_pcie_init_shm_ipc() 270 ipc_rx_reg, priv->workqueue, in qtnf_pcie_init_shm_ipc() 361 pcie_priv->workqueue = create_singlethread_workqueue("QTNF_PCIE"); in qtnf_pcie_probe() 362 if (!pcie_priv->workqueue) { in qtnf_pcie_probe() 363 pr_err("failed to alloc bus workqueue\n"); in qtnf_pcie_probe() 390 flush_workqueue(pcie_priv->workqueue); in qtnf_pcie_probe() 391 destroy_workqueue(pcie_priv->workqueue); in qtnf_pcie_probe() 419 flush_workqueue(priv->workqueue); in qtnf_pcie_remove() 420 destroy_workqueue(priv->workqueue); in qtnf_pcie_remove()
|
| /kernel/linux/linux-6.6/arch/sh/include/asm/ |
| D | push-switch.h | 7 #include <linux/workqueue.h> 15 /* workqueue */ 17 /* platform device, for workqueue handler */
|
| /kernel/linux/linux-5.10/arch/sh/include/asm/ |
| D | push-switch.h | 7 #include <linux/workqueue.h> 15 /* workqueue */ 17 /* platform device, for workqueue handler */
|
| /kernel/linux/linux-6.6/drivers/misc/ |
| D | tifm_core.c | 17 static struct workqueue_struct *workqueue; variable 221 flush_workqueue(workqueue); in tifm_remove_adapter() 309 queue_work(workqueue, work); in tifm_queue_work() 331 workqueue = create_freezable_workqueue("tifm"); in tifm_init() 332 if (!workqueue) in tifm_init() 347 destroy_workqueue(workqueue); in tifm_init() 356 destroy_workqueue(workqueue); in tifm_exit()
|
| /kernel/linux/linux-5.10/drivers/misc/ |
| D | tifm_core.c | 17 static struct workqueue_struct *workqueue; variable 223 flush_workqueue(workqueue); in tifm_remove_adapter() 310 queue_work(workqueue, work); in tifm_queue_work() 332 workqueue = create_freezable_workqueue("tifm"); in tifm_init() 333 if (!workqueue) in tifm_init() 348 destroy_workqueue(workqueue); in tifm_init() 357 destroy_workqueue(workqueue); in tifm_exit()
|
| /kernel/linux/linux-6.6/drivers/net/wireless/quantenna/qtnfmac/ |
| D | shm_ipc.h | 7 #include <linux/workqueue.h> 46 struct workqueue_struct *workqueue; member 54 struct workqueue_struct *workqueue,
|
| /kernel/linux/linux-5.10/drivers/net/wireless/quantenna/qtnfmac/ |
| D | shm_ipc.h | 7 #include <linux/workqueue.h> 46 struct workqueue_struct *workqueue; member 54 struct workqueue_struct *workqueue,
|