Commit | Line | Data |
---|---|---|
17437f31 JA |
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 | unsigned long state; | |
20 | struct completion exited; | |
21 | }; | |
22 | ||
23 | int io_sq_offload_create(struct io_ring_ctx *ctx, struct io_uring_params *p); | |
24 | void io_sq_thread_finish(struct io_ring_ctx *ctx); | |
25 | void io_sq_thread_stop(struct io_sq_data *sqd); | |
26 | void io_sq_thread_park(struct io_sq_data *sqd); | |
27 | void io_sq_thread_unpark(struct io_sq_data *sqd); | |
28 | void io_put_sq_data(struct io_sq_data *sqd); | |
88b80534 | 29 | void io_sqpoll_wait_sq(struct io_ring_ctx *ctx); |