1 // SPDX-License-Identifier: GPL-2.0 2 3 struct io_sq_data { 4 refcount_t refs; 5 atomic_t park_pending; 6 struct mutex lock; 7 8 /* ctx's that are using this sqd */ 9 struct list_head ctx_list; 10 11 struct task_struct *thread; 12 struct wait_queue_head wait; 13 14 unsigned sq_thread_idle; 15 int sq_cpu; 16 pid_t task_pid; 17 pid_t task_tgid; 18 19 u64 work_time; 20 unsigned long state; 21 struct completion exited; 22 }; 23 24 int io_sq_offload_create(struct io_ring_ctx *ctx, struct io_uring_params *p); 25 void io_sq_thread_finish(struct io_ring_ctx *ctx); 26 void io_sq_thread_stop(struct io_sq_data *sqd); 27 void io_sq_thread_park(struct io_sq_data *sqd); 28 void io_sq_thread_unpark(struct io_sq_data *sqd); 29 void io_put_sq_data(struct io_sq_data *sqd); 30 void io_sqpoll_wait_sq(struct io_ring_ctx *ctx); 31 int io_sqpoll_wq_cpu_affinity(struct io_ring_ctx *ctx, cpumask_var_t mask); 32
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.