Home
last modified time | relevance | path

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

12345678

/Linux-v6.6/Documentation/translations/zh_CN/core-api/
Dworkqueue.rst4 :Original: Documentation/core-api/workqueue.rst
30 列被称为workqueue,线程被称为工作者(worker,即执行这一队列的线程)。
73 向该函数的工作项,并在工作队列中排队等待该工作项。(就是挂到workqueue
88 ``workqueue API`` 函数创建和排队工作项。他们可以通过在工作队列上
116 workqueue将自动创建与属性相匹配的后备工作者池。调节并发水平的责任在
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
/Linux-v6.6/net/vmw_vsock/
Dvsock_loopback.c16 struct workqueue_struct *workqueue; member
35 queue_work(vsock->workqueue, &vsock->pkt_work); in vsock_loopback_send_pkt()
129 vsock->workqueue = alloc_workqueue("vsock-loopback", 0, 0); in vsock_loopback_init()
130 if (!vsock->workqueue) in vsock_loopback_init()
144 destroy_workqueue(vsock->workqueue); in vsock_loopback_init()
158 destroy_workqueue(vsock->workqueue); in vsock_loopback_exit()
/Linux-v6.6/include/trace/events/
Dworkqueue.h3 #define TRACE_SYSTEM workqueue
33 __string( workqueue, pwq->wq->name)
41 __assign_str(workqueue, pwq->wq->name);
47 __entry->work, __entry->function, __get_str(workqueue),
/Linux-v6.6/Documentation/core-api/
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.
95 workqueue API functions as they see fit. They can influence some
97 workqueue they are putting the work item on. These flags include
102 When a work item is queued to a workqueue, the target worker-pool is
103 determined according to the queue parameters and workqueue attributes
[all …]
/Linux-v6.6/drivers/misc/
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-v6.6/drivers/net/wireless/quantenna/qtnfmac/
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()
Dshm_ipc.h46 struct workqueue_struct *workqueue; member
54 struct workqueue_struct *workqueue,
/Linux-v6.6/net/mac802154/
Dmain.c198 local->workqueue = in ieee802154_register_hw()
200 if (!local->workqueue) { in ieee802154_register_hw()
263 destroy_workqueue(local->workqueue); in ieee802154_register_hw()
274 flush_workqueue(local->workqueue); in ieee802154_unregister_hw()
283 destroy_workqueue(local->workqueue); in ieee802154_unregister_hw()
/Linux-v6.6/drivers/remoteproc/
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-v6.6/drivers/net/wireless/st/cw1200/
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()
Dmain.c345 priv->workqueue = create_singlethread_workqueue("cw1200_wq"); in cw1200_init_common()
346 if (!priv->workqueue) { in cw1200_init_common()
385 destroy_workqueue(priv->workqueue); in cw1200_init_common()
397 destroy_workqueue(priv->workqueue); in cw1200_init_common()
466 destroy_workqueue(priv->workqueue); in cw1200_unregister_common()
467 priv->workqueue = NULL; in cw1200_unregister_common()
/Linux-v6.6/drivers/mfd/
Dezx-pcap.c45 struct workqueue_struct *workqueue; member
151 queue_work(pcap->workqueue, &pcap->msr_work); in pcap_mask_irq()
159 queue_work(pcap->workqueue, &pcap->msr_work); in pcap_unmask_irq()
210 queue_work(pcap->workqueue, &pcap->isr_work); in pcap_irq_handler()
412 destroy_workqueue(pcap->workqueue); in ezx_pcap_remove()
449 pcap->workqueue = create_singlethread_workqueue("pcapd"); in ezx_pcap_probe()
450 if (!pcap->workqueue) { in ezx_pcap_probe()
505 destroy_workqueue(pcap->workqueue); in ezx_pcap_probe()
/Linux-v6.6/drivers/net/wireless/quantenna/qtnfmac/pcie/
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()
390 destroy_workqueue(pcie_priv->workqueue); in qtnf_pcie_probe()
418 destroy_workqueue(priv->workqueue); in qtnf_pcie_remove()
/Linux-v6.6/drivers/media/platform/amphion/
Dvpu_msgs.c268 if (!inst->workqueue) in vpu_inst_handle_msg()
275 queue_work(inst->workqueue, &inst->msg_work); in vpu_inst_handle_msg()
348 queue_delayed_work(core->workqueue, &core->msg_delayed_work, delay); in vpu_msg_run_work()
373 if (inst->workqueue && kfifo_len(&inst->msg_fifo) >= bytes) in vpu_msg_delayed_work()
374 queue_work(inst->workqueue, &inst->msg_work); in vpu_msg_delayed_work()
397 queue_work(core->workqueue, &core->msg_work); in vpu_isr()
Dvpu_core.c259 core->workqueue = alloc_ordered_workqueue("vpu", WQ_MEM_RECLAIM); in vpu_core_register()
260 if (!core->workqueue) { in vpu_core_register()
288 if (core->workqueue) { in vpu_core_register()
289 destroy_workqueue(core->workqueue); in vpu_core_register()
290 core->workqueue = NULL; in vpu_core_register()
313 if (core->workqueue) { in vpu_core_unregister()
316 destroy_workqueue(core->workqueue); in vpu_core_unregister()
317 core->workqueue = NULL; in vpu_core_unregister()
768 queue_work(core->workqueue, &core->msg_work); in vpu_core_resume_work()
769 queue_delayed_work(core->workqueue, &core->msg_delayed_work, delay); in vpu_core_resume_work()
[all …]
/Linux-v6.6/net/bluetooth/
Dcoredump.c207 queue_delayed_work(hdev->workqueue, &hdev->dump.dump_timeout, in hci_devcd_handle_pkt_init()
447 queue_work(hdev->workqueue, &hdev->dump.dump_rx); in hci_devcd_init()
466 queue_work(hdev->workqueue, &hdev->dump.dump_rx); in hci_devcd_append()
491 queue_work(hdev->workqueue, &hdev->dump.dump_rx); in hci_devcd_append_pattern()
511 queue_work(hdev->workqueue, &hdev->dump.dump_rx); in hci_devcd_complete()
531 queue_work(hdev->workqueue, &hdev->dump.dump_rx); in hci_devcd_abort()
/Linux-v6.6/drivers/tty/serial/
Dmax3100.c120 struct workqueue_struct *workqueue; member
178 queue_work(s->workqueue, &s->work); in max3100_dowork()
555 if (s->workqueue) { in max3100_shutdown()
556 destroy_workqueue(s->workqueue); in max3100_shutdown()
557 s->workqueue = NULL; in max3100_shutdown()
594 s->workqueue = create_freezable_workqueue(b); in max3100_startup()
595 if (!s->workqueue) { in max3100_startup()
605 destroy_workqueue(s->workqueue); in max3100_startup()
606 s->workqueue = NULL; in max3100_startup()
876 if (s->workqueue) in max3100_resume()
/Linux-v6.6/drivers/char/tpm/
Dtpm_vtpm_proxy.c53 static struct workqueue_struct *workqueue; variable
481 queue_work(workqueue, &proxy_dev->work); in vtpm_proxy_work_start()
690 workqueue = create_workqueue("tpm-vtpm"); in vtpm_module_init()
691 if (!workqueue) { in vtpm_module_init()
699 destroy_workqueue(workqueue); in vtpm_module_init()
707 destroy_workqueue(workqueue); in vtpm_module_exit()
/Linux-v6.6/drivers/memstick/core/
Dmemstick.c24 static struct workqueue_struct *workqueue; variable
208 queue_work(workqueue, &host->media_checker); in memstick_detect_change()
552 flush_workqueue(workqueue); in memstick_remove_host()
627 workqueue = create_freezable_workqueue("kmemstick"); in memstick_init()
628 if (!workqueue) in memstick_init()
644 destroy_workqueue(workqueue); in memstick_init()
653 destroy_workqueue(workqueue); in memstick_exit()
/Linux-v6.6/drivers/input/rmi4/
Drmi_f54.c113 struct workqueue_struct *workqueue; member
210 queue_delayed_work(f54->workqueue, &f54->work, 0); in rmi_f54_request_report()
604 queue_delayed_work(f54->workqueue, &f54->work, in rmi_f54_work()
691 f54->workqueue = create_singlethread_workqueue("rmi4-poller"); in rmi_f54_probe()
692 if (!f54->workqueue) in rmi_f54_probe()
736 destroy_workqueue(f54->workqueue); in rmi_f54_probe()
746 destroy_workqueue(f54->workqueue); in rmi_f54_remove()
/Linux-v6.6/drivers/net/ethernet/mellanox/mlx4/
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-v6.6/Documentation/fb/
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-v6.6/net/qrtr/
Dns.c25 struct workqueue_struct *workqueue; member
679 queue_work(qrtr_ns.workqueue, &qrtr_ns.work); in qrtr_ns_data_ready()
701 qrtr_ns.workqueue = alloc_ordered_workqueue("qrtr_ns_handler", 0); in qrtr_ns_init()
702 if (!qrtr_ns.workqueue) { in qrtr_ns_init()
729 destroy_workqueue(qrtr_ns.workqueue); in qrtr_ns_init()
739 destroy_workqueue(qrtr_ns.workqueue); in qrtr_ns_remove()
/Linux-v6.6/drivers/net/wireless/marvell/libertas/
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", WQ_MEM_RECLAIM, 0); in if_sdio_probe()
1185 if (unlikely(!card->workqueue)) { in if_sdio_probe()
1238 flush_workqueue(card->workqueue); in if_sdio_probe()
1243 destroy_workqueue(card->workqueue); in if_sdio_probe()
1286 destroy_workqueue(card->workqueue); in if_sdio_remove()
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", WQ_MEM_RECLAIM, 0); in if_spi_probe()
1157 if (!card->workqueue) { in if_spi_probe()
1188 destroy_workqueue(card->workqueue); in if_spi_probe()
1213 destroy_workqueue(card->workqueue); in libertas_spi_remove()
1226 flush_workqueue(card->workqueue); in if_spi_suspend()

12345678