Home
last modified time | relevance | path

Searched refs:worker (Results 1 – 25 of 117) sorted by relevance

12345

/linux/io_uring/
H A Dio-wq.c148 static void io_wq_dec_running(struct io_worker *worker);
165 static bool io_worker_get(struct io_worker *worker) in io_worker_get() argument
167 return refcount_inc_not_zero(&worker->ref); in io_worker_get()
170 static void io_worker_release(struct io_worker *worker) in io_worker_release() argument
172 if (refcount_dec_and_test(&worker->ref)) in io_worker_release()
173 complete(&worker->ref_done); in io_worker_release()
187 static inline struct io_wq_acct *io_wq_get_acct(struct io_worker *worker) in io_wq_get_acct() argument
189 return worker->acct; in io_wq_get_acct()
200 struct io_worker *worker = current->worker_private; in io_wq_worker_stopped() local
205 return test_bit(IO_WQ_BIT_EXIT, &worker->wq->state); in io_wq_worker_stopped()
[all …]
/linux/kernel/
H A Dkthread.c958 void __kthread_init_worker(struct kthread_worker *worker, in __kthread_init_worker() argument
962 memset(worker, 0, sizeof(struct kthread_worker)); in __kthread_init_worker()
963 raw_spin_lock_init(&worker->lock); in __kthread_init_worker()
964 lockdep_set_class_and_name(&worker->lock, key, name); in __kthread_init_worker()
965 INIT_LIST_HEAD(&worker->work_list); in __kthread_init_worker()
966 INIT_LIST_HEAD(&worker->delayed_work_list); in __kthread_init_worker()
987 struct kthread_worker *worker = worker_ptr; in kthread_worker_fn() local
994 WARN_ON(worker->task && worker->task != current); in kthread_worker_fn()
995 worker->task = current; in kthread_worker_fn()
997 if (worker->flags & KTW_FREEZABLE) in kthread_worker_fn()
[all …]
H A Dworkqueue.c219 struct worker *manager; /* L: purely informational */
353 struct worker *rescuer; /* MD: rescue worker */
584 #define for_each_pool_worker(worker, pool) \ argument
585 list_for_each_entry((worker), &(pool)->workers, node) \
975 static inline void worker_set_flags(struct worker *worker, unsigned int flags) in worker_set_flags() argument
977 struct worker_pool *pool = worker->pool; in worker_set_flags()
983 !(worker->flags & WORKER_NOT_RUNNING)) { in worker_set_flags()
987 worker->flags |= flags; in worker_set_flags()
997 static inline void worker_clr_flags(struct worker *worker, unsigned int flags) in worker_clr_flags() argument
999 struct worker_pool *pool = worker->pool; in worker_clr_flags()
[all …]
H A Dasync.c344 struct worker *worker = current_wq_worker(); in current_is_async() local
346 return worker && worker->current_func == async_run_entry_fn; in current_is_async()
/linux/tools/perf/bench/
H A Dfutex-hash.c44 struct worker { struct
76 struct worker *w = (struct worker *) arg; in workerfn()
134 struct worker *worker = NULL; in bench_futex_hash() local
162 worker = calloc(params.nthreads, sizeof(*worker)); in bench_futex_hash()
163 if (!worker) in bench_futex_hash()
188 worker[i].tid = i; in bench_futex_hash()
189 worker[i].futex = calloc(params.nfutexes, sizeof(*worker[i].futex)); in bench_futex_hash()
190 if (!worker[i].futex) in bench_futex_hash()
201 ret = pthread_create(&worker[i].thread, &thread_attr, workerfn, in bench_futex_hash()
202 (void *)(struct worker *) &worker[i]); in bench_futex_hash()
[all …]
H A Dfutex-lock-pi.c27 struct worker { struct
35 static struct worker *worker; argument
87 struct worker *w = (struct worker *) arg; in workerfn()
124 static void create_threads(struct worker *w, struct perf_cpu_map *cpu) in create_threads()
141 worker[i].tid = i; in create_threads()
144 worker[i].futex = calloc(1, sizeof(u_int32_t)); in create_threads()
145 if (!worker[i].futex) in create_threads()
148 worker[i].futex = &global_futex; in create_threads()
158 if (pthread_create(&w[i].thread, &thread_attr, workerfn, &worker[i])) { in create_threads()
195 worker = calloc(params.nthreads, sizeof(*worker)); in bench_futex_lock_pi()
[all …]
H A Depoll-ctl.c67 struct worker { struct
132 static inline void do_epoll_op(struct worker *w, int op, int fd) in do_epoll_op()
160 static inline void do_random_epoll_op(struct worker *w) in do_random_epoll_op()
174 struct worker *w = (struct worker *) arg; in workerfn()
204 static void init_fdmaps(struct worker *w, int pct) in init_fdmaps()
223 static int do_threads(struct worker *worker, struct perf_cpu_map *cpu) in do_threads() argument
241 struct worker *w = &worker[i]; in do_threads()
277 (void *)(struct worker *) w); in do_threads()
317 struct worker *worker = NULL; in bench_epoll_ctl() local
352 worker = calloc(nthreads, sizeof(*worker)); in bench_epoll_ctl()
[all …]
H A Dsched-messaging.c150 static void create_thread_worker(union messaging_worker *worker, in create_thread_worker() argument
164 ret = pthread_create(&worker->thread, &attr, func, ctx); in create_thread_worker()
171 static void create_process_worker(union messaging_worker *worker, in create_process_worker() argument
175 worker->pid = fork(); in create_process_worker()
177 if (worker->pid == -1) { in create_process_worker()
179 } else if (worker->pid == 0) { in create_process_worker()
185 static void create_worker(union messaging_worker *worker, in create_worker() argument
189 return create_process_worker(worker, ctx, func); in create_worker()
191 return create_thread_worker(worker, ctx, func); in create_worker()
194 static void reap_worker(union messaging_worker *worker) in reap_worker() argument
[all …]
H A Dfutex-wake.c36 static pthread_t *worker; variable
172 worker = calloc(params.nthreads, sizeof(*worker)); in bench_futex_wake()
173 if (!worker) in bench_futex_wake()
195 block_threads(worker, cpu); in bench_futex_wake()
224 ret = pthread_join(worker[i], NULL); in bench_futex_wake()
238 free(worker); in bench_futex_wake()
H A Dfutex-requeue.c36 static pthread_t *worker; variable
197 worker = calloc(params.nthreads, sizeof(*worker)); in bench_futex_requeue()
198 if (!worker) in bench_futex_requeue()
228 block_threads(worker, cpu); in bench_futex_requeue()
300 ret = pthread_join(worker[i], NULL); in bench_futex_requeue()
313 free(worker); in bench_futex_requeue()
/linux/drivers/vhost/
H A Dvhost.c244 static void vhost_worker_queue(struct vhost_worker *worker, in vhost_worker_queue() argument
252 llist_add(&work->node, &worker->work_list); in vhost_worker_queue()
253 worker->ops->wakeup(worker); in vhost_worker_queue()
259 struct vhost_worker *worker; in vhost_vq_work_queue() local
263 worker = rcu_dereference(vq->worker); in vhost_vq_work_queue()
264 if (worker) { in vhost_vq_work_queue()
266 vhost_worker_queue(worker, work); in vhost_vq_work_queue()
280 static void __vhost_worker_flush(struct vhost_worker *worker) in __vhost_worker_flush() argument
284 if (!worker->attachment_cnt || worker->killed) in __vhost_worker_flush()
290 vhost_worker_queue(worker, &flush.work); in __vhost_worker_flush()
[all …]
/linux/drivers/net/wireguard/
H A Dqueueing.c13 struct multicore_worker __percpu *worker = alloc_percpu(struct multicore_worker); in wg_packet_percpu_multicore_worker_alloc() local
15 if (!worker) in wg_packet_percpu_multicore_worker_alloc()
19 per_cpu_ptr(worker, cpu)->ptr = ptr; in wg_packet_percpu_multicore_worker_alloc()
20 INIT_WORK(&per_cpu_ptr(worker, cpu)->work, function); in wg_packet_percpu_multicore_worker_alloc()
22 return worker; in wg_packet_percpu_multicore_worker_alloc()
35 queue->worker = wg_packet_percpu_multicore_worker_alloc(function, queue); in wg_packet_queue_init()
36 if (!queue->worker) { in wg_packet_queue_init()
45 free_percpu(queue->worker); in wg_packet_queue_free()
/linux/include/linux/
H A Dkthread.h156 struct kthread_worker *worker; member
184 extern void __kthread_init_worker(struct kthread_worker *worker,
187 #define kthread_init_worker(worker) \ argument
190 __kthread_init_worker((worker), "("#worker")->lock", &__key); \
263 bool kthread_queue_work(struct kthread_worker *worker,
266 bool kthread_queue_delayed_work(struct kthread_worker *worker,
270 bool kthread_mod_delayed_work(struct kthread_worker *worker,
275 void kthread_flush_worker(struct kthread_worker *worker);
280 void kthread_destroy_worker(struct kthread_worker *worker);
H A Ddevm-helpers.h48 work_func_t worker) in devm_delayed_work_autocancel() argument
50 INIT_DELAYED_WORK(w, worker); in devm_delayed_work_autocancel()
73 work_func_t worker) in devm_work_autocancel() argument
75 INIT_WORK(w, worker); in devm_work_autocancel()
/linux/drivers/gpio/
H A Dgpio-mpsse.c370 struct mpsse_worker *worker, *worker_tmp; in gpio_mpsse_stop_all_except() local
374 list_for_each_entry_safe(worker, worker_tmp, in gpio_mpsse_stop_all_except()
377 if (worker == my_worker) in gpio_mpsse_stop_all_except()
380 list_del(&worker->list); in gpio_mpsse_stop_all_except()
383 atomic_set(&worker->cancelled, 1); in gpio_mpsse_stop_all_except()
385 INIT_LIST_HEAD(&worker->destroy); in gpio_mpsse_stop_all_except()
386 list_add(&worker->destroy, &destructors); in gpio_mpsse_stop_all_except()
390 list_for_each_entry_safe(worker, worker_tmp, in gpio_mpsse_stop_all_except()
392 list_del(&worker->destroy); in gpio_mpsse_stop_all_except()
393 cancel_work_sync(&worker->work); in gpio_mpsse_stop_all_except()
[all …]
/linux/tools/testing/selftests/sched_ext/
H A Dcyclic_kick_wait.c45 struct worker_ctx *worker = arg; in worker_fn() local
49 CPU_SET(worker->cpu, &mask); in worker_fn()
54 while (!worker->stop) { in worker_fn()
56 worker->iters++; in worker_fn()
62 static int join_worker(struct worker_ctx *worker) in join_worker() argument
68 if (!worker->started) in join_worker()
75 err = pthread_timedjoin_np(worker->tid, &ret, &ts); in join_worker()
77 pthread_detach(worker->tid); in join_worker()
/linux/samples/seccomp/
H A Duser-trap.c208 pid_t worker = 0 , tracer = 0; in main() local
215 worker = fork(); in main()
216 if (worker < 0) { in main()
221 if (worker == 0) { in main()
347 if (waitpid(worker, &status, 0) != worker) { in main()
372 if (worker > 0) in main()
373 kill(worker, SIGKILL); in main()
/linux/drivers/block/
H A Dloop.c799 struct loop_worker *cur_worker, *worker = NULL; in loop_queue_work() local
814 worker = cur_worker; in loop_queue_work()
822 if (worker) in loop_queue_work()
825 worker = kzalloc_obj(struct loop_worker, GFP_NOWAIT); in loop_queue_work()
830 if (!worker) { in loop_queue_work()
838 worker->blkcg_css = cmd->blkcg_css; in loop_queue_work()
839 css_get(worker->blkcg_css); in loop_queue_work()
840 INIT_WORK(&worker->work, loop_workfn); in loop_queue_work()
841 INIT_LIST_HEAD(&worker->cmd_list); in loop_queue_work()
842 INIT_LIST_HEAD(&worker->idle_list); in loop_queue_work()
[all …]
/linux/drivers/md/
H A Ddm-delay.c39 struct task_struct *worker; member
71 return !!dc->worker; in delay_is_fast()
174 if (dc->worker) in delay_dtr()
175 kthread_stop(dc->worker); in delay_dtr()
284 dc->worker = kthread_run(&flush_worker_fn, dc, "dm-delay-flush-worker"); in delay_ctr()
285 if (IS_ERR(dc->worker)) { in delay_ctr()
286 ret = PTR_ERR(dc->worker); in delay_ctr()
287 dc->worker = NULL; in delay_ctr()
337 wake_up_process(dc->worker); in delay_bio()
/linux/drivers/gpu/drm/msm/
H A Dmsm_kms.c247 if (kms->event_thread[i].worker) in msm_drm_kms_uninit()
248 kthread_destroy_worker(kms->event_thread[i].worker); in msm_drm_kms_uninit()
309 ev_thread->worker = kthread_run_worker(0, "crtc_event:%d", crtc->base.id); in msm_drm_kms_init()
310 if (IS_ERR(ev_thread->worker)) { in msm_drm_kms_init()
311 ret = PTR_ERR(ev_thread->worker); in msm_drm_kms_init()
313 ev_thread->worker = NULL; in msm_drm_kms_init()
317 sched_set_fifo(ev_thread->worker->task); in msm_drm_kms_init()
/linux/fs/erofs/
H A Dzdata.c296 struct kthread_worker *worker; in erofs_destroy_percpu_workers() local
300 worker = rcu_dereference_protected( in erofs_destroy_percpu_workers()
303 if (worker) in erofs_destroy_percpu_workers()
304 kthread_destroy_worker(worker); in erofs_destroy_percpu_workers()
311 struct kthread_worker *worker = in erofs_init_percpu_worker() local
314 if (IS_ERR(worker)) in erofs_init_percpu_worker()
315 return worker; in erofs_init_percpu_worker()
317 sched_set_fifo_low(worker->task); in erofs_init_percpu_worker()
318 return worker; in erofs_init_percpu_worker()
323 struct kthread_worker *worker; in erofs_init_percpu_workers() local
[all …]
/linux/drivers/i2c/
H A Di2c-slave-testunit.c50 struct delayed_work worker; member
127 queue_delayed_work(system_long_wq, &tu->worker, in i2c_slave_testunit_slave_cb()
170 struct testunit_data *tu = container_of(work, struct testunit_data, worker.work); in i2c_slave_testunit_work()
247 INIT_DELAYED_WORK(&tu->worker, i2c_slave_testunit_work); in i2c_slave_testunit_probe()
268 cancel_delayed_work_sync(&tu->worker); in i2c_slave_testunit_remove()
/linux/drivers/gpu/drm/i915/selftests/
H A Di915_request.c304 struct kthread_worker *worker; member
494 struct kthread_worker *worker; in mock_breadcrumbs_smoketest() local
496 worker = kthread_run_worker(0, "igt/%d", n); in mock_breadcrumbs_smoketest()
497 if (IS_ERR(worker)) { in mock_breadcrumbs_smoketest()
498 ret = PTR_ERR(worker); in mock_breadcrumbs_smoketest()
503 threads[n].worker = worker; in mock_breadcrumbs_smoketest()
510 kthread_queue_work(worker, &threads[n].work); in mock_breadcrumbs_smoketest()
524 kthread_destroy_worker(threads[n].worker); in mock_breadcrumbs_smoketest()
1459 struct kthread_worker *worker; member
1647 struct kthread_worker *worker; in live_parallel_engines() local
[all …]
/linux/drivers/crypto/caam/
H A Dcaamrng.c43 struct work_struct worker; member
143 worker); in caam_rng_worker()
161 schedule_work(&ctx->worker); in caam_read()
170 flush_work(&ctx->worker); in caam_cleanup()
241 INIT_WORK(&ctx->worker, caam_rng_worker); in caam_init()
/linux/drivers/gpu/drm/
H A Ddrm_flip_work.c98 queue_work(wq, &work->worker); in drm_flip_work_commit()
104 struct drm_flip_work *work = container_of(w, struct drm_flip_work, worker); in flip_worker()
144 INIT_WORK(&work->worker, flip_worker); in drm_flip_work_init()

12345