Linux Audio

Check our new training course

Loading...
v6.2
 1// SPDX-License-Identifier: GPL-2.0
 2
 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	unsigned long		state;
20	struct completion	exited;
21};
22
23int io_sq_offload_create(struct io_ring_ctx *ctx, struct io_uring_params *p);
24void io_sq_thread_finish(struct io_ring_ctx *ctx);
25void io_sq_thread_stop(struct io_sq_data *sqd);
26void io_sq_thread_park(struct io_sq_data *sqd);
27void io_sq_thread_unpark(struct io_sq_data *sqd);
28void io_put_sq_data(struct io_sq_data *sqd);
29int io_sqpoll_wait_sq(struct io_ring_ctx *ctx);
 
v6.8
 1// SPDX-License-Identifier: GPL-2.0
 2
 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	unsigned long		state;
20	struct completion	exited;
21};
22
23int io_sq_offload_create(struct io_ring_ctx *ctx, struct io_uring_params *p);
24void io_sq_thread_finish(struct io_ring_ctx *ctx);
25void io_sq_thread_stop(struct io_sq_data *sqd);
26void io_sq_thread_park(struct io_sq_data *sqd);
27void io_sq_thread_unpark(struct io_sq_data *sqd);
28void io_put_sq_data(struct io_sq_data *sqd);
29void io_sqpoll_wait_sq(struct io_ring_ctx *ctx);
30int io_sqpoll_wq_cpu_affinity(struct io_ring_ctx *ctx, cpumask_var_t mask);