/linux-4.4.14/include/linux/ |
D | kthread.h | 77 struct kthread_worker *worker; member 80 #define KTHREAD_WORKER_INIT(worker) { \ argument 81 .lock = __SPIN_LOCK_UNLOCKED((worker).lock), \ 82 .work_list = LIST_HEAD_INIT((worker).work_list), \ 90 #define DEFINE_KTHREAD_WORKER(worker) \ argument 91 struct kthread_worker worker = KTHREAD_WORKER_INIT(worker) 101 # define KTHREAD_WORKER_INIT_ONSTACK(worker) \ argument 102 ({ init_kthread_worker(&worker); worker; }) 103 # define DEFINE_KTHREAD_WORKER_ONSTACK(worker) \ argument 104 struct kthread_worker worker = KTHREAD_WORKER_INIT_ONSTACK(worker) [all …]
|
/linux-4.4.14/tools/perf/bench/ |
D | futex-hash.c | 37 struct worker { struct 62 struct worker *w = (struct worker *) arg; in workerfn() argument 117 struct worker *worker = NULL; in bench_futex_hash() local 134 worker = calloc(nthreads, sizeof(*worker)); in bench_futex_hash() 135 if (!worker) in bench_futex_hash() 153 worker[i].tid = i; in bench_futex_hash() 154 worker[i].futex = calloc(nfutexes, sizeof(*worker[i].futex)); in bench_futex_hash() 155 if (!worker[i].futex) in bench_futex_hash() 165 ret = pthread_create(&worker[i].thread, &thread_attr, workerfn, in bench_futex_hash() 166 (void *)(struct worker *) &worker[i]); in bench_futex_hash() [all …]
|
D | futex-lock-pi.c | 18 struct worker { struct 26 static struct worker *worker; argument 74 struct worker *w = (struct worker *) arg; in workerfn() 109 static void create_threads(struct worker *w, pthread_attr_t thread_attr) in create_threads() 117 worker[i].tid = i; in create_threads() 120 worker[i].futex = calloc(1, sizeof(u_int32_t)); in create_threads() 121 if (!worker[i].futex) in create_threads() 124 worker[i].futex = &global_futex; in create_threads() 132 if (pthread_create(&w[i].thread, &thread_attr, workerfn, &worker[i])) in create_threads() 158 worker = calloc(nthreads, sizeof(*worker)); in bench_futex_lock_pi() [all …]
|
D | futex-wake.c | 33 pthread_t *worker; variable 136 worker = calloc(nthreads, sizeof(*worker)); in bench_futex_wake() 137 if (!worker) in bench_futex_wake() 159 block_threads(worker, thread_attr); in bench_futex_wake() 186 ret = pthread_join(worker[i], NULL); in bench_futex_wake() 201 free(worker); in bench_futex_wake()
|
D | futex-requeue.c | 32 static pthread_t *worker; variable 128 worker = calloc(nthreads, sizeof(*worker)); in bench_futex_requeue() 129 if (!worker) in bench_futex_requeue() 154 block_threads(worker, thread_attr); in bench_futex_requeue() 193 ret = pthread_join(worker[i], NULL); in bench_futex_requeue() 207 free(worker); in bench_futex_requeue()
|
D | futex-wake-parallel.c | 24 pthread_t worker; member 88 if (pthread_create(&td[i].worker, &thread_attr, in wakeup_threads() 94 if (pthread_join(td[i].worker, NULL)) in wakeup_threads()
|
/linux-4.4.14/kernel/ |
D | kthread.c | 539 void __init_kthread_worker(struct kthread_worker *worker, in __init_kthread_worker() argument 543 spin_lock_init(&worker->lock); in __init_kthread_worker() 544 lockdep_set_class_and_name(&worker->lock, key, name); in __init_kthread_worker() 545 INIT_LIST_HEAD(&worker->work_list); in __init_kthread_worker() 546 worker->task = NULL; in __init_kthread_worker() 567 struct kthread_worker *worker = worker_ptr; in kthread_worker_fn() local 570 WARN_ON(worker->task); in kthread_worker_fn() 571 worker->task = current; in kthread_worker_fn() 577 spin_lock_irq(&worker->lock); in kthread_worker_fn() 578 worker->task = NULL; in kthread_worker_fn() [all …]
|
D | workqueue.c | 167 struct worker *manager; /* L: purely informational */ 250 struct worker *rescuer; /* I: rescue worker */ 388 #define for_each_pool_worker(worker, pool) \ argument 389 list_for_each_entry((worker), &(pool)->workers, node) \ 823 static struct worker *first_idle_worker(struct worker_pool *pool) in first_idle_worker() 828 return list_first_entry(&pool->idle_list, struct worker, entry); in first_idle_worker() 842 struct worker *worker = first_idle_worker(pool); in wake_up_worker() local 844 if (likely(worker)) in wake_up_worker() 845 wake_up_process(worker->task); in wake_up_worker() 861 struct worker *worker = kthread_data(task); in wq_worker_waking_up() local [all …]
|
D | workqueue_internal.h | 22 struct worker { struct 60 static inline struct worker *current_wq_worker(void) in current_wq_worker()
|
D | async.c | 325 struct worker *worker = current_wq_worker(); in current_is_async() local 327 return worker && worker->current_func == async_run_entry_fn; in current_is_async()
|
/linux-4.4.14/drivers/infiniband/hw/qib/ |
D | qib_cq.c | 108 struct kthread_worker *worker; in qib_cq_enter() local 114 worker = cq->dd->worker; in qib_cq_enter() 115 if (likely(worker)) { in qib_cq_enter() 118 queue_kthread_work(worker, &cq->comptask); in qib_cq_enter() 507 if (dd->worker) in qib_cq_init() 509 dd->worker = kzalloc(sizeof(*dd->worker), GFP_KERNEL); in qib_cq_init() 510 if (!dd->worker) in qib_cq_init() 512 init_kthread_worker(dd->worker); in qib_cq_init() 515 dd->worker, in qib_cq_init() 527 kfree(dd->worker); in qib_cq_init() [all …]
|
D | qib.h | 1100 struct kthread_worker *worker; member
|
/linux-4.4.14/drivers/staging/rdma/hfi1/ |
D | cq.c | 124 struct kthread_worker *worker; in hfi1_cq_enter() local 130 worker = cq->dd->worker; in hfi1_cq_enter() 131 if (likely(worker)) { in hfi1_cq_enter() 134 queue_kthread_work(worker, &cq->comptask); in hfi1_cq_enter() 520 if (dd->worker) in hfi1_cq_init() 522 dd->worker = kzalloc(sizeof(*dd->worker), GFP_KERNEL); in hfi1_cq_init() 523 if (!dd->worker) in hfi1_cq_init() 525 init_kthread_worker(dd->worker); in hfi1_cq_init() 528 dd->worker, in hfi1_cq_init() 540 kfree(dd->worker); in hfi1_cq_init() [all …]
|
D | hfi.h | 1003 struct kthread_worker *worker; member
|
/linux-4.4.14/Documentation/ |
D | workqueue.txt | 27 queue is called workqueue and the thread is called worker. 29 While there are work items on the workqueue the worker executes the 31 there is no work item left on the workqueue the worker becomes idle. 32 When a new work item gets queued, the worker begins executing again. 38 worker thread per CPU and a single threaded (ST) wq had one worker 48 worker pool. A MT wq could provide only one execution context per CPU 66 * Use per-CPU unified worker pools shared by all wq to provide 70 * Automatically regulate worker pool and level of concurrency so that 85 Special purpose threads, called worker threads, execute the functions 87 worker threads become idle. These worker threads are managed in so [all …]
|
/linux-4.4.14/drivers/gpu/drm/ |
D | drm_flip_work.c | 107 queue_work(wq, &work->worker); in drm_flip_work_commit() 113 struct drm_flip_work *work = container_of(w, struct drm_flip_work, worker); in flip_worker() 153 INIT_WORK(&work->worker, flip_worker); in drm_flip_work_init()
|
/linux-4.4.14/drivers/platform/olpc/ |
D | olpc-ec.c | 34 struct work_struct worker; member 68 struct olpc_ec_priv *ec = container_of(w, struct olpc_ec_priv, worker); in olpc_ec_worker() 94 schedule_work(&ec->worker); in olpc_ec_worker() 112 schedule_work(&ec->worker); in queue_ec_descriptor() 269 INIT_WORK(&ec->worker, olpc_ec_worker); in olpc_ec_probe()
|
/linux-4.4.14/drivers/macintosh/ams/ |
D | ams-core.c | 78 schedule_work(&ams_info.worker); in ams_handle_irq() 198 INIT_WORK(&ams_info.worker, ams_worker); in ams_init() 229 flush_work(&ams_info.worker); in ams_sensor_detach()
|
D | ams.h | 33 struct work_struct worker; member
|
/linux-4.4.14/arch/s390/oprofile/ |
D | hwsampler.c | 193 queue_work(hws_wq, &cb->worker); in hws_ext_handler() 196 static void worker(struct work_struct *work); 569 queue_work_on(cpu, hws_wq, &cb->worker); in hwsampler_deactivate() 744 &cb->worker); in worker_on_finish() 854 static void worker(struct work_struct *work) in worker() function 860 cb = container_of(work, struct hws_cpu_buffer, worker); in worker() 1008 INIT_WORK(&cb->worker, worker); in hwsampler_setup()
|
D | hwsampler.h | 39 struct work_struct worker; member
|
/linux-4.4.14/drivers/vhost/ |
D | vhost.c | 241 wake_up_process(dev->worker); in vhost_work_queue() 388 dev->worker = NULL; in vhost_dev_init() 448 struct task_struct *worker; in vhost_dev_set_owner() local 459 worker = kthread_create(vhost_worker, dev, "vhost-%d", current->pid); in vhost_dev_set_owner() 460 if (IS_ERR(worker)) { in vhost_dev_set_owner() 461 err = PTR_ERR(worker); in vhost_dev_set_owner() 465 dev->worker = worker; in vhost_dev_set_owner() 466 wake_up_process(worker); /* avoid contributing to loadavg */ in vhost_dev_set_owner() 478 kthread_stop(worker); in vhost_dev_set_owner() 479 dev->worker = NULL; in vhost_dev_set_owner() [all …]
|
D | vhost.h | 129 struct task_struct *worker; member
|
/linux-4.4.14/include/drm/ |
D | drm_flip_work.h | 76 struct work_struct worker; member
|
/linux-4.4.14/arch/x86/kvm/ |
D | i8254.h | 48 struct kthread_worker worker; member
|
D | i8254.c | 252 queue_kthread_work(&ps->pit->worker, &ps->pit->expired); in kvm_pit_ack_irq() 325 queue_kthread_work(&pt->worker, &pt->expired); in pit_timer_fn() 708 init_kthread_worker(&pit->worker); in kvm_create_pit() 709 pit->worker_task = kthread_run(kthread_worker_fn, &pit->worker, in kvm_create_pit()
|
/linux-4.4.14/drivers/block/ |
D | loop.h | 59 struct kthread_worker worker; member
|
D | loop.c | 854 flush_kthread_worker(&lo->worker); in loop_unprepare_queue() 860 init_kthread_worker(&lo->worker); in loop_prepare_queue() 862 &lo->worker, "loop%d", lo->lo_number); in loop_prepare_queue() 1668 queue_kthread_work(&lo->worker, &cmd->work); in loop_queue_rq()
|
/linux-4.4.14/drivers/media/usb/hdpvr/ |
D | hdpvr.h | 112 struct work_struct worker; member
|
D | hdpvr-video.c | 254 worker); in hdpvr_transmit_buffers() 318 INIT_WORK(&dev->worker, hdpvr_transmit_buffers); in hdpvr_start_streaming() 319 queue_work(dev->workqueue, &dev->worker); in hdpvr_start_streaming()
|
/linux-4.4.14/drivers/s390/block/ |
D | dasd_alias.c | 153 INIT_WORK(&lcu->suc_data.worker, summary_unit_check_handling_work); in _allocate_lcu() 265 cancel_work_sync(&lcu->suc_data.worker); in dasd_alias_disconnect_device_from_lcu() 921 worker); in summary_unit_check_handling_work() 1003 if (!schedule_work(&lcu->suc_data.worker)) in dasd_alias_handle_summary_unit_check()
|
D | dasd_eckd.h | 463 struct work_struct worker; member
|
D | dasd_eckd.c | 106 struct work_struct worker; member 118 struct work_struct worker; member 1278 data = container_of(work, struct path_verification_work_data, worker); in do_path_verification_work() 1456 INIT_WORK(&data->worker, do_path_verification_work); in dasd_eckd_verify_path() 1460 schedule_work(&data->worker); in dasd_eckd_verify_path() 5003 data = container_of(work, struct check_attention_work_data, worker); in dasd_eckd_check_attention_work() 5030 INIT_WORK(&data->worker, dasd_eckd_check_attention_work); in dasd_eckd_check_attention() 5034 schedule_work(&data->worker); in dasd_eckd_check_attention()
|
/linux-4.4.14/drivers/s390/net/ |
D | qeth_l2_main.c | 1616 struct work_struct worker; member 1624 container_of(work, struct qeth_bridge_state_data, worker); in qeth_bridge_state_change_worker() 1679 INIT_WORK(&data->worker, qeth_bridge_state_change_worker); in qeth_bridge_state_change() 1683 queue_work(qeth_wq, &data->worker); in qeth_bridge_state_change() 1687 struct work_struct worker; member 1695 container_of(work, struct qeth_bridge_host_data, worker); in qeth_bridge_host_event_worker() 1751 INIT_WORK(&data->worker, qeth_bridge_host_event_worker); in qeth_bridge_host_event() 1755 queue_work(qeth_wq, &data->worker); in qeth_bridge_host_event()
|
/linux-4.4.14/drivers/staging/speakup/ |
D | TODO | 21 in these cases. Pushing work to some worker thread would probably help,
|
/linux-4.4.14/Documentation/nfc/ |
D | nfc-hci.txt | 189 - SHDLC State Machine worker (SMW) 193 - HCI Tx Cmd worker (MSGTXWQ) 197 - HCI Rx worker (MSGRXWQ) 250 queued to HCI rx_queue and will be dispatched from HCI rx worker
|
/linux-4.4.14/Documentation/filesystems/caching/ |
D | operations.txt | 191 This can be used to allow other things to have use of the worker thread 199 When used in asynchronous mode, the worker thread pool will invoke the
|
D | object.txt | 121 which it is interested (object->event_mask) and relinquish the worker thread. 147 Because only one worker thread may be operating on any particular object's
|
/linux-4.4.14/drivers/nvme/host/ |
D | pci.c | 98 struct kthread_worker *worker; member 353 queue_kthread_work(cmdinfo->worker, &cmdinfo->work); in async_completion() 2768 struct kthread_worker *worker; member 2793 flush_kthread_worker(dq->worker); in nvme_wait_dq() 2880 DEFINE_KTHREAD_WORKER_ONSTACK(worker); in nvme_disable_io_queues() 2883 &worker, "nvme%d", dev->instance); in nvme_disable_io_queues() 2895 dq.worker = &worker; in nvme_disable_io_queues() 2902 nvmeq->cmdinfo.worker = dq.worker; in nvme_disable_io_queues() 2904 queue_kthread_work(dq.worker, &nvmeq->cmdinfo.work); in nvme_disable_io_queues()
|
/linux-4.4.14/drivers/md/ |
D | dm-era-target.c | 1152 struct work_struct worker; member 1206 queue_work(era->wq, &era->worker); in wake_worker() 1310 struct era *era = container_of(ws, struct era, worker); in do_work() 1505 INIT_WORK(&era->worker, do_work); in era_ctr()
|
D | dm-thin.c | 244 struct work_struct worker; member 404 queue_work(pool->wq, &pool->worker); in wake_worker() 2211 struct pool *pool = container_of(ws, struct pool, worker); in do_worker() 2257 struct work_struct worker; member 2263 return container_of(ws, struct pool_work, worker); in to_pool_work() 2274 INIT_WORK_ONSTACK(&pw->worker, fn); in pool_work_wait() 2276 queue_work(pool->wq, &pw->worker); in pool_work_wait() 2825 INIT_WORK(&pool->worker, do_worker); in pool_create()
|
D | raid5.c | 5742 struct r5worker *worker, in handle_active_stripes() argument 5792 struct r5worker *worker = container_of(work, struct r5worker, work); in raid5_do_work() local 5793 struct r5worker_group *group = worker->group; in raid5_do_work() 5807 released = release_stripe_list(conf, worker->temp_inactive_list); in raid5_do_work() 5809 batch_size = handle_active_stripes(conf, group_id, worker, in raid5_do_work() 5810 worker->temp_inactive_list); in raid5_do_work() 5811 worker->working = false; in raid5_do_work() 6265 struct r5worker *worker = group->workers + j; in alloc_thread_groups() local 6266 worker->group = group; in alloc_thread_groups() 6267 INIT_WORK(&worker->work, raid5_do_work); in alloc_thread_groups() [all …]
|
D | dm-cache-target.c | 301 struct work_struct worker; member 390 queue_work(cache->wq, &cache->worker); in wake_worker() 2249 struct cache *cache = container_of(ws, struct cache, worker); in do_worker() 2909 INIT_WORK(&cache->worker, do_worker); in cache_create()
|
/linux-4.4.14/drivers/block/drbd/ |
D | drbd_main.c | 2217 struct work_struct worker; member 2225 struct retry_worker *retry = container_of(ws, struct retry_worker, worker); in do_retry() 2289 queue_work(retry.wq, &retry.worker); in drbd_restart_request() 2567 connection->worker.reset_cpu_mask = 1; in set_resource_options() 2653 drbd_thread_init(resource, &connection->worker, drbd_worker, "worker"); in conn_create() 2654 connection->worker.connection = connection; in conn_create() 2710 INIT_WORK(&device->submit.worker, do_submit); in init_submitter() 2951 INIT_WORK(&retry.worker, do_retry); in drbd_init() 3565 D_ASSERT(device, current == first_peer_device(device)->connection->worker.task); in drbd_queue_bitmap_io() 3603 D_ASSERT(device, current != first_peer_device(device)->connection->worker.task); in drbd_bitmap_io()
|
D | drbd_req.c | 1172 queue_work(device->submit.wq, &device->submit.worker); in drbd_queue_write() 1399 struct drbd_device *device = container_of(ws, struct drbd_device, submit.worker); in do_submit()
|
D | drbd_nl.c | 338 if (current == connection->worker.task) in drbd_khelper() 365 if (current == connection->worker.task) in drbd_khelper() 1231 drbd_thread_start(&connection->worker); in conn_reconfig_start() 1247 drbd_thread_stop(&connection->worker); in conn_reconfig_done() 3548 drbd_thread_stop(&connection->worker); in adm_del_resource()
|
D | drbd_int.h | 757 struct drbd_thread worker; member 804 struct work_struct worker; member
|
D | drbd_worker.c | 1676 if (current == connection->worker.task) { in drbd_start_resync() 2038 if (get_t_state(&connection->worker) != RUNNING) in wait_for_work()
|
D | drbd_state.c | 392 D_ASSERT(device, current != first_peer_device(device)->connection->worker.task); in drbd_req_state() 1234 D_ASSERT(device, current == first_peer_device(device)->connection->worker.task); in drbd_bitmap_io_from_worker()
|
/linux-4.4.14/drivers/hid/ |
D | hid-wiimote.h | 110 struct work_struct worker; member
|
D | hid-wiimote-core.c | 47 worker); in wiimote_queue_worker() 104 schedule_work(&wdata->queue.worker); in wiimote_queue() 1734 INIT_WORK(&wdata->queue.worker, wiimote_queue_worker); in wiimote_create() 1768 cancel_work_sync(&wdata->queue.worker); in wiimote_destroy()
|
D | hid-sony.c | 2245 void (*worker)(struct work_struct *)) in sony_init_work() 2248 INIT_WORK(&sc->state_worker, worker); in sony_init_work()
|
/linux-4.4.14/Documentation/filesystems/pohmelfs/ |
D | info.txt | 98 Number of worker threads specifies how many workers will be created for each client.
|
/linux-4.4.14/Documentation/scsi/ |
D | ChangeLog.lpfc | 107 mod_timer the els_tmofunc. This prevents the worker thread from 139 premise is that the worker thread is signal-immune. 159 * Added code to prevent waking up worker thread after the exit of 160 worker thread. Fixes panic seen with insmod/rmmod testing with 196 * Following timeout handlers moved to the lpfc worker thread: 216 * Moved discovery timeout handler to worker thread. There are 238 worker thread. Link Attention, Mbox Attention, and Error 240 worker thread via worker thread copy of Host Attention 244 the lpfc_sli_inter() to a worker thread.
|
/linux-4.4.14/drivers/net/wireless/brcm80211/brcmfmac/ |
D | msgbuf.c | 754 static void brcmf_msgbuf_txflow_worker(struct work_struct *worker) in brcmf_msgbuf_txflow_worker() argument 759 msgbuf = container_of(worker, struct brcmf_msgbuf, txflow_work); in brcmf_msgbuf_txflow_worker()
|
D | fwsignal.c | 1980 static void brcmf_fws_dequeue_worker(struct work_struct *worker) in brcmf_fws_dequeue_worker() argument 1990 fws = container_of(worker, struct brcmf_fws_info, fws_dequeue_work); in brcmf_fws_dequeue_worker()
|
/linux-4.4.14/Documentation/filesystems/ |
D | btrfs.txt | 221 The number of worker threads to allocate. The default number is equal
|
D | coda.txt | 1387 DDeessccrriippttiioonn Venus worker.cc has support for this call, although it is
|
/linux-4.4.14/Documentation/networking/ |
D | rds.txt | 311 send worker awoken
|
/linux-4.4.14/Documentation/hid/ |
D | hid-transport.txt | 85 its own worker threads.
|
/linux-4.4.14/Documentation/DocBook/ |
D | device-drivers.xml.db | 184 API-kthread-worker-fn 187 API-flush-kthread-worker
|
/linux-4.4.14/init/ |
D | Kconfig | 655 int "Real-time priority to use for RCU worker threads"
|