Home
last modified time | relevance | path

Searched refs:workqueue (Results 1 – 25 of 213) sorted by relevance

123456789

/linux/Documentation/translations/zh_CN/core-api/
H A Dworkqueue.rst4 :Original: Documentation/core-api/workqueue.rst
31 列被称为workqueue,线程被称为工作者(worker,即执行这一队列的线程)。
74 向该函数的工作项,并在工作队列中排队等待该工作项。(就是挂到workqueue
95 ``workqueue API`` 函数创建和排队工作项。他们可以通过在工作队列上
123 workqueue将自动创建与属性相匹配的后备工作者池。调节并发水平的责任在
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脚本) 来检查未
[all …]
/linux/rust/kernel/
H A Dworkqueue.rs203 … $crate::workqueue::Work::new($crate::optional_name!($($name)?), $crate::static_lock_class!())
212 $crate::workqueue::DelayedWork::new(
225 $crate::workqueue::DelayedWork::new(
608 unsafe impl$(<$($generics)+>)? $crate::workqueue::HasWork<$work_type $(, $id)?> for $self {
610 … unsafe fn raw_get_work(ptr: *mut Self) -> *mut $crate::workqueue::Work<$work_type $(, $id)?> {
619 ptr: *mut $crate::workqueue::Work<$work_type $(, $id)?>,
762 $crate::workqueue::HasDelayedWork<$work_type $(, $id)?> for $self {}
766 unsafe impl$(<$($generics)+>)? $crate::workqueue::HasWork<$work_type $(, $id)?> for $self {
770 ) -> *mut $crate::workqueue::Work<$work_type $(, $id)?> {
772 let ptr: *mut $crate::workqueue::DelayedWork<$work_type $(, $id)?> = unsafe {
[all …]
/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()
152 vsock->workqueue = alloc_workqueue("vsock-loopback", WQ_PERCPU, 0); in vsock_loopback_init()
153 if (!vsock->workqueue) in vsock_loopback_init()
167 destroy_workqueue(vsock->workqueue); in vsock_loopback_init()
181 destroy_workqueue(vsock->workqueue); in vsock_loopback_exit()
/linux/Documentation/core-api/
H A Dworkqueue.rst14 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.
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
[all …]
/linux/include/trace/events/
H A Dworkqueue.h3 #define TRACE_SYSTEM workqueue
33 __string( workqueue, pwq->wq->name)
41 __assign_str(workqueue);
47 __entry->work, __entry->function, __get_str(workqueue),
/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.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()
H A Dshm_ipc.h46 struct workqueue_struct *workqueue; member
54 struct workqueue_struct *workqueue,
/linux/net/mac802154/
H A Dmain.c202 local->workqueue = in ieee802154_register_hw()
204 if (!local->workqueue) { in ieee802154_register_hw()
267 destroy_workqueue(local->workqueue); in ieee802154_register_hw()
278 flush_workqueue(local->workqueue); in ieee802154_unregister_hw()
287 destroy_workqueue(local->workqueue); in ieee802154_unregister_hw()
/linux/drivers/mfd/
H A Dezx-pcap.c40 struct workqueue_struct *workqueue; member
146 queue_work(pcap->workqueue, &pcap->msr_work); in pcap_mask_irq()
154 queue_work(pcap->workqueue, &pcap->msr_work); in pcap_unmask_irq()
205 queue_work(pcap->workqueue, &pcap->isr_work); in pcap_irq_handler()
379 destroy_workqueue(pcap->workqueue); in ezx_pcap_remove()
416 pcap->workqueue = create_singlethread_workqueue("pcapd"); in ezx_pcap_probe()
417 if (!pcap->workqueue) { in ezx_pcap_probe()
472 destroy_workqueue(pcap->workqueue); in ezx_pcap_probe()
/linux/drivers/remoteproc/
H A Dkeystone_remoteproc.c66 struct work_struct workqueue; member
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()
/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()
261 queue_work(priv->workqueue, &priv->scan.work); in cw1200_scan_work()
275 if (queue_work(priv->workqueue, &priv->unjoin_work) <= 0) in cw1200_scan_restart_delayed()
286 queue_delayed_work(priv->workqueue, &priv->clear_recent_scan_work, HZ); in cw1200_scan_complete()
306 queue_delayed_work(priv->workqueue, &priv->scan.timeout, 0); in cw1200_scan_failed_cb()
320 queue_delayed_work(priv->workqueue, &priv->scan.timeout, 0); in cw1200_scan_complete_cb()
386 queue_delayed_work(priv->workqueue, &priv->scan.probe_work, in cw1200_probe_work()
H A Dmain.c349 priv->workqueue = create_singlethread_workqueue("cw1200_wq"); in cw1200_init_common()
350 if (!priv->workqueue) { in cw1200_init_common()
389 destroy_workqueue(priv->workqueue); in cw1200_init_common()
401 destroy_workqueue(priv->workqueue); in cw1200_init_common()
470 destroy_workqueue(priv->workqueue); in cw1200_unregister_common()
471 priv->workqueue = NULL; in cw1200_unregister_common()
/linux/drivers/net/wireless/quantenna/qtnfmac/pcie/
H A Dpcie.c267 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()
397 destroy_workqueue(pcie_priv->workqueue); in qtnf_pcie_probe()
425 destroy_workqueue(priv->workqueue); in qtnf_pcie_remove()
/linux/drivers/tty/serial/
H A Dmax3100.c105 struct workqueue_struct *workqueue; member
307 queue_work(s->workqueue, &s->work); in max3100_dowork()
538 if (s->workqueue) { in max3100_shutdown()
539 destroy_workqueue(s->workqueue); in max3100_shutdown()
540 s->workqueue = NULL; in max3100_shutdown()
569 s->workqueue = create_freezable_workqueue(b); in max3100_startup()
570 if (!s->workqueue) { in max3100_startup()
580 destroy_workqueue(s->workqueue); in max3100_startup()
581 s->workqueue = NULL; in max3100_startup()
805 if (s->workqueue) in max3100_resume()
/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/net/bluetooth/
H A Dcoredump.c207 queue_delayed_work(hdev->workqueue, &hdev->dump.dump_timeout, in hci_devcd_handle_pkt_init()
465 queue_work(hdev->workqueue, &hdev->dump.dump_rx); in hci_devcd_init()
484 queue_work(hdev->workqueue, &hdev->dump.dump_rx); in hci_devcd_append()
509 queue_work(hdev->workqueue, &hdev->dump.dump_rx); in hci_devcd_append_pattern()
529 queue_work(hdev->workqueue, &hdev->dump.dump_rx); in hci_devcd_complete()
549 queue_work(hdev->workqueue, &hdev->dump.dump_rx); in hci_devcd_abort()
/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()
700 destroy_workqueue(workqueue); in vtpm_module_init()
708 destroy_workqueue(workqueue); in vtpm_module_exit()
/linux/drivers/memstick/core/
H A Dmemstick.c24 static struct workqueue_struct *workqueue; variable
207 queue_work(workqueue, &host->media_checker); in memstick_detect_change()
561 flush_workqueue(workqueue); in memstick_remove_host()
636 workqueue = create_freezable_workqueue("kmemstick"); in memstick_init()
637 if (!workqueue) in memstick_init()
653 destroy_workqueue(workqueue); in memstick_init()
662 destroy_workqueue(workqueue); in memstick_exit()
/linux/drivers/input/rmi4/
H A Drmi_f54.c113 struct workqueue_struct *workqueue; member
210 queue_delayed_work(f54->workqueue, &f54->work, 0); in rmi_f54_request_report()
602 queue_delayed_work(f54->workqueue, &f54->work, in rmi_f54_work()
689 f54->workqueue = create_singlethread_workqueue("rmi4-poller"); in rmi_f54_probe()
690 if (!f54->workqueue) in rmi_f54_probe()
734 destroy_workqueue(f54->workqueue); in rmi_f54_probe()
744 destroy_workqueue(f54->workqueue); in rmi_f54_remove()
/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()
332 mdev->workqueue = create_singlethread_workqueue("mlx4_en"); in mlx4_en_probe()
333 if (!mdev->workqueue) { in mlx4_en_probe()
/linux/net/qrtr/
H A Dns.c25 struct workqueue_struct *workqueue; member
684 queue_work(qrtr_ns.workqueue, &qrtr_ns.work); in qrtr_ns_data_ready()
706 qrtr_ns.workqueue = alloc_ordered_workqueue("qrtr_ns_handler", 0); in qrtr_ns_init()
707 if (!qrtr_ns.workqueue) { in qrtr_ns_init()
752 destroy_workqueue(qrtr_ns.workqueue); in qrtr_ns_init()
762 destroy_workqueue(qrtr_ns.workqueue); in qrtr_ns_remove()
/linux/drivers/net/wireless/marvell/libertas/
H A Dif_sdio.c124 struct workqueue_struct *workqueue; member
968 queue_work(card->workqueue, &card->packet_worker); in if_sdio_host_to_card()
1069 flush_workqueue(card->workqueue); in if_sdio_power_save()
1184 card->workqueue = alloc_workqueue("libertas_sdio", in if_sdio_probe()
1186 if (unlikely(!card->workqueue)) { in if_sdio_probe()
1239 flush_workqueue(card->workqueue); in if_sdio_probe()
1244 destroy_workqueue(card->workqueue); in if_sdio_probe()
1287 destroy_workqueue(card->workqueue); in if_sdio_remove()
H A Dif_spi.c58 struct workqueue_struct *workqueue; member
984 queue_work(card->workqueue, &card->packet_work); in if_spi_host_to_card()
999 queue_work(card->workqueue, &card->packet_work); in if_spi_host_interrupt()
1156 card->workqueue = alloc_workqueue("libertas_spi", in if_spi_probe()
1158 if (!card->workqueue) { in if_spi_probe()
1189 destroy_workqueue(card->workqueue); in if_spi_probe()
1214 destroy_workqueue(card->workqueue); in libertas_spi_remove()
1227 flush_workqueue(card->workqueue); in if_spi_suspend()
/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.

123456789