32 lines · c
1// SPDX-License-Identifier: GPL-2.02 3struct 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 24int io_sq_offload_create(struct io_ring_ctx *ctx, struct io_uring_params *p) HWJS_SUSPENDS;25void io_sq_thread_finish(struct io_ring_ctx *ctx) HWJS_SUSPENDS;26void io_sq_thread_stop(struct io_sq_data *sqd) HWJS_SUSPENDS;27void io_sq_thread_park(struct io_sq_data *sqd) HWJS_SUSPENDS;28void io_sq_thread_unpark(struct io_sq_data *sqd) HWJS_SUSPENDS;29void io_put_sq_data(struct io_sq_data *sqd) HWJS_SUSPENDS;30void io_sqpoll_wait_sq(struct io_ring_ctx *ctx) HWJS_SUSPENDS;31int io_sqpoll_wq_cpu_affinity(struct io_ring_ctx *ctx, cpumask_var_t mask) HWJS_SUSPENDS;32