| /linux/Documentation/translations/zh_CN/core-api/ |
| H A D | workqueue.rst | 4 :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/include/trace/events/ |
| H A 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); 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/drivers/misc/ |
| H A 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()
|
| /linux/drivers/net/wireless/quantenna/qtnfmac/ |
| H A D | shm_ipc.c | 62 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 D | shm_ipc.h | 46 struct workqueue_struct *workqueue; member 54 struct workqueue_struct *workqueue,
|
| H A D | core.c | 158 queue_work(bus->workqueue, &vif->reset_work); in qtnf_netdev_tx_timeout() 710 bus->workqueue = alloc_ordered_workqueue("QTNF_BUS", 0); in qtnf_core_attach() 711 if (!bus->workqueue) { in qtnf_core_attach() 800 if (bus->workqueue) { in qtnf_core_detach() 801 destroy_workqueue(bus->workqueue); in qtnf_core_detach() 802 bus->workqueue = NULL; in qtnf_core_detach()
|
| /linux/drivers/mfd/ |
| H A D | ezx-pcap.c | 40 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/net/wireless/st/cw1200/ |
| H A D | scan.c | 40 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 D | main.c | 349 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()
|
| H A D | sta.c | 115 flush_workqueue(priv->workqueue); in cw1200_stop() 167 queue_delayed_work(priv->workqueue, in __cw1200_cqm_bssloss_sm() 178 queue_work(priv->workqueue, &priv->bss_params_work); in __cw1200_cqm_bssloss_sm() 264 if (queue_work(priv->workqueue, &priv->unjoin_work) <= 0) in cw1200_remove_interface() 993 queue_delayed_work(priv->workqueue, in cw1200_event_handler() 1043 if (queue_work(priv->workqueue, &priv->unjoin_work) <= 0) in cw1200_bss_loss_work() 1201 queue_work(priv->workqueue, &priv->join_complete_work); in cw1200_join_complete_cb() 1327 queue_delayed_work(priv->workqueue, in cw1200_do_join() 1344 if (queue_work(priv->workqueue, &priv->unjoin_work) <= 0) in cw1200_do_join() 1374 if (queue_work(priv->workqueue, &priv->unjoin_work) <= 0) in cw1200_join_timeout() [all …]
|
| H A D | txrx.c | 672 if (queue_work(priv->workqueue, in cw1200_tx_h_rate_policy() 691 queue_work(priv->workqueue, in cw1200_tx_h_pm_state() 888 queue_work(priv->workqueue, in cw1200_tx_confirm_cb() 1175 queue_work(priv->workqueue, in cw1200_rx_cb() 1185 queue_work(priv->workqueue, in cw1200_rx_cb() 1277 flush_workqueue(priv->workqueue); in cw1200_link_id_reset() 1286 if (queue_work(priv->workqueue, in cw1200_link_id_reset() 1298 if (queue_work(priv->workqueue, &priv->link_id_work) <= 0) in cw1200_link_id_reset() 1300 flush_workqueue(priv->workqueue); in cw1200_link_id_reset() 1349 if (queue_work(priv->workqueue, &priv->link_id_work) <= 0) in cw1200_alloc_link_id() [all …]
|
| /linux/drivers/tty/serial/ |
| H A D | max3100.c | 105 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 D | vpu_msgs.c | 289 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 D | coredump.c | 207 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 D | tpm_vtpm_proxy.c | 53 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 D | memstick.c | 24 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/net/ethernet/mellanox/mlx4/ |
| H A D | en_main.c | 215 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 D | ns.c | 25 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 D | if_sdio.c | 124 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 D | if_spi.c | 58 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 D | deferred_io.rst | 16 - 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/tools/workqueue/ |
| H A D | wq_monitor.py | 135 if args.workqueue: 136 for r in args.workqueue:
|
| /linux/Documentation/driver-api/crypto/iaa/ |
| H A D | iaa-crypto.rst | 175 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/remoteproc/ |
| H A D | stm32_rproc.c | 91 struct workqueue_struct *workqueue; member 305 queue_work(ddata->workqueue, &mb->vq_work); in stm32_rproc_mb_callback() 868 ddata->workqueue = create_workqueue(dev_name(dev)); in stm32_rproc_probe() 869 if (!ddata->workqueue) { in stm32_rproc_probe() 890 destroy_workqueue(ddata->workqueue); in stm32_rproc_probe() 912 destroy_workqueue(ddata->workqueue); in stm32_rproc_remove()
|
| /linux/fs/smb/client/ |
| H A D | smbdirect.c | 327 queue_work(sc->workqueue, &sc->disconnect_work); in smbd_disconnect_rdma_connection() 759 queue_work(sc->workqueue, &sc->idle.immediate_work); in smbd_post_send_credits() 802 mod_delayed_work(sc->workqueue, &sc->idle.timer_work, in recv_done() 885 queue_work(sc->workqueue, &sc->idle.immediate_work); in recv_done() 895 queue_work(sc->workqueue, &sc->recv_io.posted.refill_work); in recv_done() 1202 mod_delayed_work(sc->workqueue, &sc->idle.timer_work, in manage_keep_alive_before_sending() 1460 queue_work(sc->workqueue, &sc->recv_io.posted.refill_work); in smbd_post_send_iter() 1797 queue_work(sc->workqueue, &sc->recv_io.posted.refill_work); in put_receive_buffer() 1873 mod_delayed_work(sc->workqueue, &sc->idle.timer_work, in idle_connection_timer() 1876 queue_work(sc->workqueue, &sc->idle.immediate_work); in idle_connection_timer() [all …]
|