/linux-master/include/linux/ |
H A D | devm-helpers.h | 38 * @worker: Worker function 48 work_func_t worker) 50 INIT_DELAYED_WORK(w, worker); 63 * @worker: Worker function 73 work_func_t worker) 75 INIT_WORK(w, worker); 46 devm_delayed_work_autocancel(struct device *dev, struct delayed_work *w, work_func_t worker) argument 71 devm_work_autocancel(struct device *dev, struct work_struct *w, work_func_t worker) argument
|
H A D | kthread.h | 135 struct kthread_worker *worker; member in struct:kthread_work 163 extern void __kthread_init_worker(struct kthread_worker *worker, 166 #define kthread_init_worker(worker) \ 169 __kthread_init_worker((worker), "("#worker")->lock", &__key); \ 197 bool kthread_queue_work(struct kthread_worker *worker, 200 bool kthread_queue_delayed_work(struct kthread_worker *worker, 204 bool kthread_mod_delayed_work(struct kthread_worker *worker, 209 void kthread_flush_worker(struct kthread_worker *worker); 214 void kthread_destroy_worker(struct kthread_worker *worker); [all...] |
/linux-master/io_uring/ |
H A D | io-wq.c | 3 * Basic worker thread pool for io_uring 30 IO_WORKER_F_FREE = 4, /* worker on free list */ 137 static void io_wq_dec_running(struct io_worker *worker); 144 static bool io_worker_get(struct io_worker *worker) argument 146 return refcount_inc_not_zero(&worker->ref); 149 static void io_worker_release(struct io_worker *worker) argument 151 if (refcount_dec_and_test(&worker->ref)) 152 complete(&worker->ref_done); 166 static inline struct io_wq_acct *io_wq_get_acct(struct io_worker *worker) argument 168 return io_get_acct(worker 179 struct io_worker *worker = current->worker_private; local 187 io_worker_cancel_cb(struct io_worker *worker) argument 203 struct io_worker *worker; local 211 io_worker_exit(struct io_worker *worker) argument 275 struct io_worker *worker; local 327 io_wq_inc_running(struct io_worker *worker) argument 336 struct io_worker *worker; local 362 io_queue_worker_create(struct io_worker *worker, struct io_wq_acct *acct, task_work_func_t func) argument 408 io_wq_dec_running(struct io_worker *worker) argument 431 __io_worker_busy(struct io_wq *wq, struct io_worker *worker) argument 532 io_assign_current_work(struct io_worker *worker, struct io_wq_work *work) argument 628 struct io_worker *worker = data; local 694 struct io_worker *worker = tsk->worker_private; local 712 struct io_worker *worker = tsk->worker_private; local 725 io_init_new_worker(struct io_wq *wq, struct io_worker *worker, struct task_struct *tsk) argument 767 struct io_worker *worker; local 809 struct io_worker *worker = container_of(work, struct io_worker, work); local 819 struct io_worker *worker; local 865 struct io_worker *worker; local 882 io_wq_worker_wake(struct io_worker *worker, void *data) argument 986 __io_wq_worker_cancel(struct io_worker *worker, struct io_cb_cancel_data *match, struct io_wq_work *work) argument 999 io_wq_worker_cancel(struct io_worker *worker, void *data) argument 1200 struct io_worker *worker; local 1218 struct io_worker *worker; local 1279 io_wq_worker_affinity(struct io_worker *worker, void *data) argument [all...] |
/linux-master/kernel/ |
H A D | kthread.c | 774 void __kthread_init_worker(struct kthread_worker *worker, argument 778 memset(worker, 0, sizeof(struct kthread_worker)); 779 raw_spin_lock_init(&worker->lock); 780 lockdep_set_class_and_name(&worker->lock, key, name); 781 INIT_LIST_HEAD(&worker->work_list); 782 INIT_LIST_HEAD(&worker->delayed_work_list); 790 * This function implements the main cycle of kthread worker. It processes 798 * Also the works must not be handled by more than one worker at the same time, 803 struct kthread_worker *worker = worker_ptr; local 808 * worker user 860 struct kthread_worker *worker; local 903 struct kthread_worker *worker; local 953 struct kthread_worker *worker; local 969 queuing_blocked(struct kthread_worker *worker, struct kthread_work *work) argument 977 kthread_insert_work_sanity_check(struct kthread_worker *worker, struct kthread_work *work) argument 987 kthread_insert_work(struct kthread_worker *worker, struct kthread_work *work, struct list_head *pos) argument 1013 kthread_queue_work(struct kthread_worker *worker, struct kthread_work *work) argument 1041 struct kthread_worker *worker = work->worker; local 1065 __kthread_queue_delayed_work(struct kthread_worker *worker, struct kthread_delayed_work *dwork, unsigned long delay) argument 1109 kthread_queue_delayed_work(struct kthread_worker *worker, struct kthread_delayed_work *dwork, unsigned long delay) argument 1153 struct kthread_worker *worker; local 1191 struct kthread_worker *worker = work->worker; local 1256 kthread_mod_delayed_work(struct kthread_worker *worker, struct kthread_delayed_work *dwork, unsigned long delay) argument 1305 struct kthread_worker *worker = work->worker; local 1384 kthread_flush_worker(struct kthread_worker *worker) argument 1408 kthread_destroy_worker(struct kthread_worker *worker) argument [all...] |
H A D | workqueue.c | 3 * kernel/workqueue.c - generic async execution with shared worker pool 19 * executed in process context. The worker pool is shared and 20 * automatically managed. There are two worker pools for each CPU (one for 88 /* worker flags */ 93 WORKER_UNBOUND = 1 << 7, /* worker is unbound */ 94 WORKER_REBOUND = 1 << 8, /* worker was rebound */ 151 * K: Only modified by worker while holding pool->lock. Can be safely read by 155 * S: Only modified by worker self. 180 /* struct worker is defined in workqueue_internal.h */ 206 struct timer_list idle_timer; /* L: worker idl 981 worker_set_flags(struct worker *worker, unsigned int flags) argument 1003 worker_clr_flags(struct worker *worker, unsigned int flags) argument 1041 worker_enter_idle(struct worker *worker) argument 1074 worker_leave_idle(struct worker *worker) argument 1121 struct worker *worker; local 1186 assign_work(struct work_struct *work, struct worker *worker, struct work_struct **nextp) argument 1244 struct worker *worker = first_idle_worker(pool); local 1392 struct worker *worker = kthread_data(task); local 1426 struct worker *worker = kthread_data(task); local 1472 struct worker *worker = kthread_data(task); local 1539 struct worker *worker = kthread_data(task); local 2262 struct worker *worker; local 2344 struct worker *worker; local 2679 struct worker *worker; local 2709 worker_attach_to_pool(struct worker *worker, struct worker_pool *pool) argument 2743 worker_detach_from_pool(struct worker *worker) argument 2782 struct worker *worker; local 2853 unbind_worker(struct worker *worker) argument 2866 struct worker *worker, *tmp; local 2896 set_worker_dying(struct worker *worker, struct list_head *list) argument 2939 struct worker *worker; local 2982 struct worker *worker; local 3121 manage_workers(struct worker *worker) argument 3324 process_scheduled_works(struct worker *worker) argument 3363 struct worker *worker = __worker; local 3570 bh_worker(struct worker *worker) argument 3718 struct worker *worker; local 3771 insert_wq_barrier(struct pool_workqueue *pwq, struct wq_barrier *barr, struct work_struct *target, struct worker *worker) argument 4139 struct worker *worker = NULL; local 4766 struct worker *worker; local 5808 struct worker *worker = current_wq_worker(); local 5824 struct worker *worker = current_wq_worker(); local 5915 struct worker *worker = current_wq_worker(); local 5946 struct worker *worker; local 5988 pr_cont_worker_id(struct worker *worker) argument 6049 struct worker *worker; local 6169 struct worker *worker; local 6273 struct worker *worker = kthread_data(task); local 6318 struct worker *worker; local 6371 struct worker *worker; local 6432 struct worker *worker; local 7332 struct worker *worker; local [all...] |
H A D | workqueue_internal.h | 24 struct worker { struct 37 int sleeping; /* S: is worker sleeping? */ 39 /* used by the scheduler to determine a worker's last known identity */ 44 struct task_struct *task; /* I: worker task */ 48 /* A: runs through worker->node */ 52 int id; /* I: worker id */ 65 * current_wq_worker - return struct worker if %current is a workqueue worker 67 static inline struct worker *current_wq_worker(void)
|
/linux-master/tools/perf/bench/ |
H A D | futex-hash.c | 43 struct worker { struct 73 struct worker *w = (struct worker *) arg; 130 struct worker *worker = NULL; local 158 worker = calloc(params.nthreads, sizeof(*worker)); 159 if (!worker) 183 worker[i].tid = i; 184 worker[ [all...] |
H A D | futex-lock-pi.c | 27 struct worker { struct 35 static struct worker *worker; variable in typeref:struct:worker 84 struct worker *w = (struct worker *) arg; 121 static void create_threads(struct worker *w, struct perf_cpu_map *cpu) 138 worker[i].tid = i; 141 worker[i].futex = calloc(1, sizeof(u_int32_t)); 142 if (!worker[i].futex) 145 worker[ [all...] |
H A D | epoll-wait.c | 9 * epoll instance for N worker threads): 11 * |---> [worker A] 12 * |---> [worker B] 13 * [combined queue] .---> [worker C] 14 * |---> [worker D] 15 * |---> [worker E] 18 * queueing (which refers to one epoll instance per worker). For example, 21 * worker does a limited amount of processing. 23 * [queue A] ---> [worker] 24 * [queue B] ---> [worker] 118 struct worker { struct 292 do_threads(struct worker *worker, struct perf_cpu_map *cpu) argument 382 struct worker *worker = p; local 431 struct worker *worker = NULL; local [all...] |
H A D | epoll-ctl.c | 67 struct worker { struct 132 static inline void do_epoll_op(struct worker *w, int op, int fd) 160 static inline void do_random_epoll_op(struct worker *w) 174 struct worker *w = (struct worker *) arg; 204 static void init_fdmaps(struct worker *w, int pct) 223 static int do_threads(struct worker *worker, struct perf_cpu_map *cpu) argument 241 struct worker *w = &worker[ 317 struct worker *worker = NULL; local [all...] |
H A D | sched-messaging.c | 150 static void create_thread_worker(union messaging_worker *worker, argument 164 ret = pthread_create(&worker->thread, &attr, func, ctx); 171 static void create_process_worker(union messaging_worker *worker, argument 175 worker->pid = fork(); 177 if (worker->pid == -1) { 179 } else if (worker->pid == 0) { 185 static void create_worker(union messaging_worker *worker, argument 189 return create_process_worker(worker, ctx, func); 191 return create_thread_worker(worker, ctx, func); 194 static void reap_worker(union messaging_worker *worker) argument 210 group(union messaging_worker *worker, unsigned int num_fds, int ready_out, int wakefd) argument [all...] |
H A D | futex-requeue.c | 36 static pthread_t *worker; variable 194 worker = calloc(params.nthreads, sizeof(*worker)); 195 if (!worker) 223 block_threads(worker, cpu); 295 ret = pthread_join(worker[i], NULL); 308 free(worker);
|
H A D | futex-wake.c | 36 static pthread_t *worker; variable 169 worker = calloc(params.nthreads, sizeof(*worker)); 170 if (!worker) 192 block_threads(worker, cpu); 221 ret = pthread_join(worker[i], NULL); 235 free(worker);
|
/linux-master/drivers/net/wireguard/ |
H A D | queueing.c | 13 struct multicore_worker __percpu *worker = alloc_percpu(struct multicore_worker); local 15 if (!worker) 19 per_cpu_ptr(worker, cpu)->ptr = ptr; 20 INIT_WORK(&per_cpu_ptr(worker, cpu)->work, function); 22 return worker; 35 queue->worker = wg_packet_percpu_multicore_worker_alloc(function, queue); 36 if (!queue->worker) { 45 free_percpu(queue->worker);
|
/linux-master/drivers/gpu/drm/xe/ |
H A D | xe_guc_relay_types.h | 20 /** @worker: dispatches incoming action messages. */ 21 struct work_struct worker; member in struct:xe_guc_relay
|
H A D | xe_gt_types.h | 149 * @reset.worker: work so GT resets can done async allowing to reset 152 struct work_struct worker; member in struct:xe_gt::__anon91 226 * moved by worker which processes faults (consumer). 236 /** @usm.pf_queue.worker: to process page faults */ 237 struct work_struct worker; member in struct:xe_gt::__anon93::pf_queue 252 * moved by worker which processes counters 263 /** @usm.acc_queue.worker: to process access counters */ 264 struct work_struct worker; member in struct:xe_gt::__anon93::acc_queue
|
/linux-master/drivers/gpu/drm/ |
H A D | drm_vblank_work.c | 60 kthread_queue_work(vblank->worker, &work->base); 150 ret = kthread_queue_work(vblank->worker, &work->base); 254 struct kthread_worker *worker; local 258 worker = kthread_create_worker(0, "card%d-crtc%d", 261 if (IS_ERR(worker)) 262 return PTR_ERR(worker); 264 vblank->worker = worker; 266 sched_set_fifo(worker->task);
|
H A D | drm_flip_work.c | 97 queue_work(wq, &work->worker); 103 struct drm_flip_work *work = container_of(w, struct drm_flip_work, worker); 143 INIT_WORK(&work->worker, flip_worker);
|
/linux-master/include/drm/ |
H A D | drm_flip_work.h | 57 * @worker: worker which calls @func 65 struct work_struct worker; member in struct:drm_flip_work
|
/linux-master/drivers/vhost/ |
H A D | vhost.c | 236 static void vhost_worker_queue(struct vhost_worker *worker, argument 244 llist_add(&work->node, &worker->work_list); 245 vhost_task_wake(worker->vtsk); 251 struct vhost_worker *worker; local 255 worker = rcu_dereference(vq->worker); 256 if (worker) { 258 vhost_worker_queue(worker, work); 279 * vhost_worker_flush - flush a worker 280 * @worker 285 vhost_worker_flush(struct vhost_worker *worker) argument 298 struct vhost_worker *worker; local 316 struct vhost_worker *worker; local 397 struct vhost_worker *worker = data; local 591 vhost_worker_destroy(struct vhost_dev *dev, struct vhost_worker *worker) argument 605 struct vhost_worker *worker; local 624 struct vhost_worker *worker; local 662 __vhost_vq_attach_worker(struct vhost_virtqueue *vq, struct vhost_worker *worker) argument 718 struct vhost_worker *worker; local 735 struct vhost_worker *worker; local 750 struct vhost_worker *worker; local 794 struct vhost_worker *worker; local 867 struct vhost_worker *worker; local [all...] |
/linux-master/tools/testing/selftests/powerpc/tm/ |
H A D | tm-vmx-unavail.c | 26 void *worker(void *unused) function 104 pthread_create(&thread[i], NULL, &worker, NULL);
|
/linux-master/tools/testing/selftests/bpf/prog_tests/ |
H A D | send_signal_sched_switch.c | 18 static void *worker(void *p) function 50 err = pthread_create(threads + i, NULL, worker, NULL);
|
/linux-master/drivers/gpu/drm/msm/ |
H A D | msm_atomic.c | 118 timer->worker = kthread_create_worker(0, "atomic-worker-%d", crtc_idx); 119 if (IS_ERR(timer->worker)) { 120 int ret = PTR_ERR(timer->worker); 121 timer->worker = NULL; 124 sched_set_fifo(timer->worker->task); 126 msm_hrtimer_work_init(&timer->work, timer->worker, 135 if (timer->worker) 136 kthread_destroy_worker(timer->worker);
|
/linux-master/samples/seccomp/ |
H A D | user-trap.c | 196 * response was be a success, because we want to tell the worker EPERM. 208 pid_t worker = 0 , tracer = 0; local 215 worker = fork(); 216 if (worker < 0) { 221 if (worker == 0) { 347 if (waitpid(worker, &status, 0) != worker) { 363 fprintf(stderr, "worker exited nonzero\n"); 372 if (worker > 0) 373 kill(worker, SIGKIL [all...] |
/linux-master/drivers/i2c/ |
H A D | i2c-slave-testunit.c | 43 struct delayed_work worker; member in struct:testunit_data 48 struct testunit_data *tu = container_of(work, struct testunit_data, worker.work); 118 queue_delayed_work(system_long_wq, &tu->worker, 151 INIT_DELAYED_WORK(&tu->worker, i2c_slave_testunit_work); 160 cancel_delayed_work_sync(&tu->worker);
|