Home
last modified time | relevance | path

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

12345678910>>...49

/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.
61 /* used only by rescuers to point to the target workqueue */
62 struct workqueue_struct *rescue_wq; /* I: the workqueue to rescue */
66 * current_wq_worker - return struct worker if %current is a workqueue worker
76 * Scheduler hooks for concurrency managed workqueue. Only to be used from
77 * 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>
248 * tools/workqueue/wq_monitor.py.
264 * The per-pool workqueue. While queued, bits below WORK_PWQ_SHIFT
271 struct workqueue_struct *wq; /* I: the owning workqueue */
315 * Structure used to wait for workqueue flush.
326 * Unlike in a per-cpu workqueue where max_active limits its concurrency level
327 * on each CPU, in an unbound workqueue, max_active applies to the whole system.
346 * The externally visible workqueue. It relays the issued work items to
[all …]
/linux/samples/workqueue/stall_detector/
H A Dwq_stall.c3 * wq_stall - Test module for the workqueue stall detector.
5 * Deliberately creates a workqueue stall so the watchdog fires and
15 * After ~30s the workqueue watchdog fires:
16 * BUG: workqueue lockup - pool cpus=N ...
19 * make -C <kernel tree> M=samples/workqueue/stall_detector modules
26 #include <linux/workqueue.h>
49 * workqueue targets raw_smp_processor_id(), item 2 lands on the in stall_work1_fn()
56 * Hide from the workqueue concurrency manager. Without in stall_work1_fn()
64 pr_info("wq_stall: expect 'BUG: workqueue lockup' in ~30-60s\n"); in stall_work1_fn()
97 MODULE_DESCRIPTION("Reproduce workqueue stall caused by PF_WQ_WORKER misuse");
/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
174 print('Workqueue CPU -> pool')
177 print(f'[{"workqueue":^{WQ_NAME_LEN-2}}\\ {"type CPU":{wq_type_len}}', end='')
195 print('Workqueue -> rescuer')
201 print(f'[{"workqueue":^{WQ_NAME_LEN-2}}\\ {"unbound_cpus":{ucpus_len}} pid {"rescuer_cpus":{rcpus_len}} ]')
218 print('Unbound workqueue -> node_nr/max_active')
231 print(f'[{"workqueue"
[all...]
/linux/drivers/hid/intel-thc-hid/intel-quickspi/
H A Dquickspi-dev.h117 * @reset_ack_wq: workqueue for waiting reset response from device
119 * @nondma_int_received_wq: workqueue for waiting THC non-DMA interrupt
121 * @report_desc_got_wq: workqueue for waiting device report descriptor
123 * @set_power_on_wq: workqueue for waiting set power on response from device
125 * @get_feature_cmpl_wq: workqueue for waiting get feature response from device
127 * @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/tty/serial/
H A Dmax3100.c104 /* for handling irqs: need workqueue since we do spi_sync */
105 struct workqueue_struct *workqueue; member
109 /* need to know we are suspending to avoid deadlock on workqueue */
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()
571 dev_warn(&s->spi->dev, "cannot create workqueue\n"); in max3100_startup()
[all …]
/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()
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()
/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/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/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()
/linux/drivers/crypto/intel/qat/qat_common/
H A Dadf_vf_isr.c10 #include <linux/workqueue.h>
279 * adf_flush_vf_wq() - Flush workqueue for VF
283 * are received and flushes the workqueue 'adf_vf_stop_wq'.
296 * adf_init_vf_wq() - Init workqueue for VF
/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()

12345678910>>...49