Home
last modified time | relevance | path

Searched full:workqueue (Results 1 – 25 of 1311) sorted by relevance

12345678910>>...53

/linux/include/linux/
H A Dworkqueue.h3 * workqueue.h --- work queue handling for Linux.
36 /* color for workqueue flushing */
43 * bytes w/ DEBUG_OBJECTS_WORK) and allows 16 workqueue flush colors.
118 /* target workqueue and CPU ->timer uses to queue ->work */
127 /* target workqueue ->rcu uses to queue ->work */
143 * struct workqueue_attrs - A struct for workqueue attributes.
145 * This can be used to change attributes of an unbound workqueue.
156 * Work items in this workqueue are affine to these CPUs and not allowed
157 * to execute on other CPUs. A pool serving a workqueue must have the
168 * subset of ->cpumask. A workqueue can be associated with multiple
[all …]
/linux/include/trace/events/
H A Dworkqueue.h3 #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);
46 TP_printk("work struct=%p function=%ps workqueue=%s req_cpu=%d cpu=%d",
47 __entry->work, __entry->function, __get_str(workqueue),
79 * workqueue_execute_start - called immediately before the workqueue callback
82 * Allows to track workqueue execution.
104 * workqueue_execute_end - called immediately after the workqueue callbac
[all...]
/linux/kernel/
H A Dworkqueue_internal.h5 * 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.
H A Dworkqueue.c3 * kernel/workqueue.c - generic async execution with shared worker pool
25 * Please read Documentation/core-api/workqueue.rst for details.
35 #include <linux/workqueue.h>
237 * tools/workqueue/wq_monitor.py.
253 * The per-pool workqueue. While queued, bits below WORK_PWQ_SHIFT
260 struct workqueue_struct *wq; /* I: the owning workqueue */
303 * Structure used to wait for workqueue flush.
314 * Unlike in a per-cpu workqueue where max_active limits its concurrency level
315 * on each CPU, in an unbound workqueue, max_active applies to the whole system.
334 * The externally visible workqueue. It relays the issued work items to
[all …]
/linux/rust/kernel/
H A Dworkqueue.rs25 //! * The [`WorkItem`] trait is implemented for structs that can be enqueued to a workqueue.
31 //! This example defines a struct that holds an integer and can be scheduled on the workqueue. When
37 //! use kernel::workqueue::{self, impl_has_work, new_work, Work, WorkItem};
67 //! /// This method will enqueue the struct for execution on the system workqueue, where its value
70 //! let _ = workqueue::system().enqueue(val);
79 //! use kernel::workqueue::{self, impl_has_work, new_work, Work, WorkItem};
124 //! let _ = workqueue::system().enqueue::<Arc<MyStruct>, 1>(val);
128 //! let _ = workqueue::system().enqueue::<Arc<MyStruct>, 2>(val);
138 //! use kernel::workqueue::{self, impl_has_delayed_work, new_delayed_work, DelayedWork, WorkItem};
171 //! /// This method will enqueue the struct for execution on the system workqueue, wher
[all...]
/linux/Documentation/translations/zh_CN/core-api/
H A Dworkqueue.rst4 :Original: Documentation/core-api/workqueue.rst
95 ``workqueue API`` 函数创建和排队工作项。他们可以通过在工作队列上
137 ``alloc_workqueue()`` 分配了一个wq。原来的 ``create_*workqueue()``
324 使用模块参数 ``workqueue.default_affinity_scope`` 指定
346 默认的亲和性作用域可以被模块参数 ``workqueue.default_affinity_scope``
350 如果设置了 ``WQ_SYSFS`` ,工作队列会在它的 ``/sys/devices/virtual/workqueue/WQ_NAME/``
537 使用 tools/workqueue/wq_dump.py(drgn脚本) 来检查未
540 $ tools/workqueue/wq_dump.py
592 Workqueue CPU -> pool
594 [ workqueue \ CPU 0 1 2 3 dfl]
[all …]
/linux/tools/workqueue/
H A Dwq_monitor.py10 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
46 parser.add_argument('workqueue', metavar='REGEX', nargs='*',
47 help='Target workqueue name patterns (all if empty)')
135 if args.workqueue:
136 for r in args.workqueue:
H A Dwq_dump.py7 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
173 print('Workqueue CPU -> pool')
176 print(f'[{"workqueue":^{WQ_NAME_LEN-2}}\\ {"type CPU":{wq_type_len}}', end='')
194 print('Workqueue -> rescuer')
200 print(f'[{"workqueue":^{WQ_NAME_LEN-2}}\\ {"unbound_cpus":{ucpus_len}} pid {"rescuer_cpus":{rcpu…
217 print('Unbound workqueue -> node_nr/max_active')
230 print(f'[{"workqueue":^{WQ_NAME_LEN-2}}\\ min max', end='')
/linux/drivers/gpu/drm/xe/
H A Dxe_guc_submit_types.h47 /** @wq_desc: Guc scheduler workqueue descriptor */
60 /** @wq: Workqueue info */
125 /** @parallel.wq_desc: Workqueue description */
127 /** @parallel.wq_desc.head: Workqueue Head */
129 /** @parallel.wq_desc.tail: Workqueue Tail */
131 /** @parallel.wq_desc.status: Workqueue Status */
134 /** @wq: Workqueue Items */
/linux/net/vmw_vsock/
H A Dvsock_loopback.c16 struct workqueue_struct *workqueue; member
35 queue_work(vsock->workqueue, &vsock->pkt_work); in vsock_loopback_send_pkt()
142 vsock->workqueue = alloc_workqueue("vsock-loopback", WQ_PERCPU, 0); in vsock_loopback_init()
143 if (!vsock->workqueue) in vsock_loopback_init()
157 destroy_workqueue(vsock->workqueue); in vsock_loopback_init()
171 destroy_workqueue(vsock->workqueue); in vsock_loopback_exit()
/linux/drivers/hid/intel-thc-hid/intel-quickspi/
H A Dquickspi-dev.h115 * @reset_ack_wq: workqueue for waiting reset response from device
117 * @nondma_int_received_wq: workqueue for waiting THC non-DMA interrupt
119 * @report_desc_got_wq: workqueue for waiting device report descriptor
121 * @set_power_on_wq: workqueue for waiting set power on response from device
123 * @get_feature_cmpl_wq: workqueue for waiting get feature response from device
125 * @set_feature_cmpl_wq: workqueue for waiting set feature to device
/linux/arch/sh/include/asm/
H A Dpush-switch.h7 #include <linux/workqueue.h>
15 /* workqueue */
17 /* platform device, for workqueue handler */
/linux/drivers/misc/
H A Dtifm_core.c17 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()
/linux/drivers/net/wireless/quantenna/qtnfmac/
H A Dshm_ipc.h7 #include <linux/workqueue.h>
46 struct workqueue_struct *workqueue; member
54 struct workqueue_struct *workqueue,
H A Dshm_ipc.c62 queue_work(ipc->workqueue, &ipc->irq_work); in qtnf_shm_ipc_irq_inbound_handler()
83 struct workqueue_struct *workqueue, in qtnf_shm_ipc_init() argument
97 ipc->workqueue = workqueue; in qtnf_shm_ipc_init()
/linux/tools/testing/selftests/bpf/progs/
H A Dwq_failures.c30 /* callback for non sleepable workqueue */
37 /* callback for sleepable workqueue */
70 /* test that the workqueue is part of the map in bpf_wq_init
76 __msg("workqueue pointer in R1 map_uid=0 doesn't match map pointer in R2 map_uid=0") in __flag()
/linux/Documentation/driver-api/crypto/iaa/
H A Diaa-crypto.rst175 For instance, here's an example of configuring an IAA workqueue and
194 Whenever a new workqueue is bound to or unbound from the iaa_crypto
197 workqueue available. Current best practice is to configure and bind
198 at least one workqueue for each IAA device, but as long as there is at
199 least one workqueue configured and bound to any IAA device in the
205 binding of the first IAA workqueue to the iaa_crypto driver.
448 system to be configured properly as a kernel workqueue with a
449 workqueue driver_name of "crypto".
525 system to be configured properly as a kernel workqueue with a
526 workqueue driver_name of "crypto".
[all …]
/linux/drivers/scsi/fcoe/
H A Dfcoe_sysfs.c670 * fcoe_ctlr_device_flush_work() - Flush a FIP ctlr's workqueue
671 * @ctlr: Pointer to the FIP ctlr whose workqueue is to be flushed
678 "when no workqueue created.\n", ctlr->id); in fcoe_ctlr_device_flush_work()
687 * fcoe_ctlr_device_queue_work() - Schedule work for a FIP ctlr's workqueue
688 * @ctlr: Pointer to the FIP ctlr who owns the devloss workqueue
700 "when no workqueue created.\n", ctlr->id); in fcoe_ctlr_device_queue_work()
710 * fcoe_ctlr_device_flush_devloss() - Flush a FIP ctlr's devloss workqueue
711 * @ctlr: Pointer to FIP ctlr whose workqueue is to be flushed
718 "when no workqueue created.\n", ctlr->id); in fcoe_ctlr_device_flush_devloss()
727 * fcoe_ctlr_device_queue_devloss_work() - Schedule work for a FIP ctlr's devloss workqueue
[all …]
/linux/drivers/net/wireless/st/cw1200/
H A Dscan.c40 queue_delayed_work(priv->workqueue, &priv->scan.timeout, in cw1200_scan_start()
122 queue_work(priv->workqueue, &priv->scan.work); in cw1200_hw_scan()
263 queue_work(priv->workqueue, &priv->scan.work); in cw1200_scan_work()
277 if (queue_work(priv->workqueue, &priv->unjoin_work) <= 0) in cw1200_scan_restart_delayed()
288 queue_delayed_work(priv->workqueue, &priv->clear_recent_scan_work, HZ); in cw1200_scan_complete()
308 queue_delayed_work(priv->workqueue, &priv->scan.timeout, 0); in cw1200_scan_failed_cb()
322 queue_delayed_work(priv->workqueue, &priv->scan.timeout, 0); in cw1200_scan_complete_cb()
388 queue_delayed_work(priv->workqueue, &priv->scan.probe_work, in cw1200_probe_work()
/linux/include/linux/cdx/
H A Dmcdi.h90 * @work: The work item for this command, queued in mcdi->workqueue
137 * @workqueue: Workqueue used for delayed processing
152 struct workqueue_struct *workqueue; member
/linux/Documentation/fb/
H A Ddeferred_io.rst16 - schedule a workqueue task to be run after a delay
19 - the workqueue task comes in and mkcleans the pages on the list, then
70 from a workqueue.
/linux/drivers/media/platform/amphion/
H A Dvpu_msgs.c289 if (!inst->workqueue) in vpu_inst_handle_msg()
296 queue_work(inst->workqueue, &inst->msg_work); in vpu_inst_handle_msg()
369 queue_delayed_work(core->workqueue, &core->msg_delayed_work, delay); in vpu_msg_run_work()
394 if (inst->workqueue && kfifo_len(&inst->msg_fifo) >= bytes) in vpu_msg_delayed_work()
395 queue_work(inst->workqueue, &inst->msg_work); in vpu_msg_delayed_work()
418 queue_work(core->workqueue, &core->msg_work); in vpu_isr()
/linux/drivers/char/tpm/
H A Dtpm_vtpm_proxy.c53 static struct workqueue_struct *workqueue; variable
482 queue_work(workqueue, &proxy_dev->work); in vtpm_proxy_work_start()
691 workqueue = create_workqueue("tpm-vtpm"); in vtpm_module_init()
692 if (!workqueue) { in vtpm_module_init()
693 pr_err("couldn't create workqueue\n"); in vtpm_module_init()
700 destroy_workqueue(workqueue); in vtpm_module_init()
708 destroy_workqueue(workqueue); in vtpm_module_exit()
/linux/include/drm/
H A Dgpu_scheduler.h31 #include <linux/workqueue.h>
442 * This method is called in a workqueue context - either from the
444 * driver passed NULL, a separate, ordered workqueue the scheduler
503 * synchronization is to create an ordered workqueue (using
553 * @submit_wq: workqueue used to queue @work_run_job and @work_free_job
554 * @timeout_wq: workqueue used to queue @work_tdr
604 * @submit_wq: workqueue to use for submission. If NULL, an ordered wq is
612 * @timeout_wq: workqueue to use for timeout work. If NULL, the system_wq is used.
/linux/drivers/net/ethernet/mellanox/mlx4/
H A Den_main.c215 queue_work(mdev->workqueue, &priv->linkstate_task); in mlx4_en_event()
254 destroy_workqueue(mdev->workqueue); in mlx4_en_remove()
329 /* Create our own workqueue for reset/multicast tasks in mlx4_en_probe()
330 * Note: we cannot use the shared workqueue because of deadlocks caused in mlx4_en_probe()
332 mdev->workqueue = create_singlethread_workqueue("mlx4_en"); in mlx4_en_probe()
333 if (!mdev->workqueue) { in mlx4_en_probe()

12345678910>>...53