Home
last modified time | relevance | path

Searched refs:io_ring_ctx (Results 1 – 25 of 29) sorted by relevance

12

/linux/io_uring/
H A Dnapi.h12 void io_napi_init(struct io_ring_ctx *ctx);
13 void io_napi_free(struct io_ring_ctx *ctx);
15 int io_register_napi(struct io_ring_ctx *ctx, void __user *arg);
16 int io_unregister_napi(struct io_ring_ctx *ctx, void __user *arg);
18 int __io_napi_add_id(struct io_ring_ctx *ctx, unsigned int napi_id,
21 void __io_napi_busy_loop(struct io_ring_ctx *ctx, struct io_wait_queue *iowq);
22 int io_napi_sqpoll_busy_poll(struct io_ring_ctx *ctx);
24 static inline bool io_napi(struct io_ring_ctx *ctx) in io_napi()
29 static inline void io_napi_busy_loop(struct io_ring_ctx *ctx, in io_napi_busy_loop()
45 struct io_ring_ctx *ctx = req->ctx; in io_napi_add()
[all …]
H A Dio_uring.h130 struct io_ring_ctx *ctx;
145 static inline struct io_rings *io_get_rings(struct io_ring_ctx *ctx) in io_get_rings()
154 struct io_ring_ctx *ctx = iowq->ctx; in io_should_wake()
175 bool io_cqe_cache_refill(struct io_ring_ctx *ctx, bool overflow, bool cqe32);
177 bool io_post_aux_cqe(struct io_ring_ctx *ctx, u64 user_data, s32 res, u32 cflags);
178 void io_add_aux_cqe(struct io_ring_ctx *ctx, u64 user_data, s32 res, u32 cflags);
181 void __io_commit_cqring_flush(struct io_ring_ctx *ctx);
201 int io_submit_sqes(struct io_ring_ctx *ctx, unsigned int nr);
202 int io_do_iopoll(struct io_ring_ctx *ctx, bool force_nonspin);
203 __cold void io_iopoll_try_reap_events(struct io_ring_ctx *ctx);
[all …]
H A Drsrc.h59 bool io_rsrc_cache_init(struct io_ring_ctx *ctx);
60 void io_rsrc_cache_free(struct io_ring_ctx *ctx);
61 struct io_rsrc_node *io_rsrc_node_alloc(struct io_ring_ctx *ctx, int type);
62 void io_free_rsrc_node(struct io_ring_ctx *ctx, struct io_rsrc_node *node);
63 void io_rsrc_data_free(struct io_ring_ctx *ctx, struct io_rsrc_data *data);
77 int io_register_clone_buffers(struct io_ring_ctx *ctx, void __user *arg);
78 int io_sqe_buffers_unregister(struct io_ring_ctx *ctx);
79 int io_sqe_buffers_register(struct io_ring_ctx *ctx, void __user *arg,
81 int io_sqe_files_unregister(struct io_ring_ctx *ctx);
82 int io_sqe_files_register(struct io_ring_ctx *ctx, void __user *arg,
[all …]
H A Dwait.h24 int io_cqring_wait(struct io_ring_ctx *ctx, int min_events, u32 flags,
26 int io_run_task_work_sig(struct io_ring_ctx *ctx);
27 void io_cqring_do_overflow_flush(struct io_ring_ctx *ctx);
28 void io_cqring_overflow_flush_locked(struct io_ring_ctx *ctx);
30 static inline unsigned int __io_cqring_events(struct io_ring_ctx *ctx) in __io_cqring_events()
36 static inline unsigned int __io_cqring_events_user(struct io_ring_ctx *ctx) in __io_cqring_events_user()
47 static inline unsigned io_cqring_events(struct io_ring_ctx *ctx) in io_cqring_events()
H A Dnapi.c41 int __io_napi_add_id(struct io_ring_ctx *ctx, unsigned int napi_id, in __io_napi_add_id()
90 static int __io_napi_del_id(struct io_ring_ctx *ctx, unsigned int napi_id) in __io_napi_del_id()
111 static void __io_napi_remove_stale(struct io_ring_ctx *ctx) in __io_napi_remove_stale()
131 static inline void io_napi_remove_stale(struct io_ring_ctx *ctx, bool is_stale) in io_napi_remove_stale()
169 static bool static_tracking_do_busy_loop(struct io_ring_ctx *ctx, in static_tracking_do_busy_loop()
182 dynamic_tracking_do_busy_loop(struct io_ring_ctx *ctx, in dynamic_tracking_do_busy_loop()
201 __io_napi_do_busy_loop(struct io_ring_ctx *ctx, in __io_napi_do_busy_loop()
215 static void io_napi_blocking_busy_loop(struct io_ring_ctx *ctx, in io_napi_blocking_busy_loop()
248 void io_napi_init(struct io_ring_ctx *ctx) in io_napi_init()
265 void io_napi_free(struct io_ring_ctx *ctx) in io_napi_free()
[all …]
H A Dtw.c20 struct io_ring_ctx *ctx = container_of(work, struct io_ring_ctx, in io_fallback_req_func()
36 static void ctx_flush_and_put(struct io_ring_ctx *ctx, io_tw_token_t tw) in ctx_flush_and_put()
57 struct io_ring_ctx *ctx = NULL; in io_handle_tw_list()
90 struct io_ring_ctx *last_ctx = NULL; in __io_fallback_tw()
159 static void io_ctx_mark_taskrun(struct io_ring_ctx *ctx) in io_ctx_mark_taskrun()
172 struct io_ring_ctx *ctx = req->ctx; in io_req_local_work_add()
242 struct io_ring_ctx *ctx = req->ctx; in io_req_normal_work_add()
274 void __cold io_move_task_work_from_local(struct io_ring_ctx *ctx) in io_move_task_work_from_local()
293 static bool io_run_local_work_continue(struct io_ring_ctx *ctx, int events, in io_run_local_work_continue()
326 static int __io_run_local_work(struct io_ring_ctx *ctx, io_tw_token_t tw, in __io_run_local_work()
[all …]
H A Dio_uring.c122 static void __io_req_caches_free(struct io_ring_ctx *ctx);
179 static inline void io_req_add_to_cache(struct io_kiocb *req, struct io_ring_ctx *ctx) in io_req_add_to_cache()
188 struct io_ring_ctx *ctx = container_of(ref, struct io_ring_ctx, refs); in io_ring_ctx_ref_free()
215 static void io_free_alloc_caches(struct io_ring_ctx *ctx) in io_free_alloc_caches()
225 static __cold struct io_ring_ctx *io_ring_ctx_alloc(struct io_uring_params *p) in io_ring_ctx_alloc()
227 struct io_ring_ctx *ctx; in io_ring_ctx_alloc()
395 struct io_ring_ctx *ctx = req->ctx; in io_prep_async_link()
456 static __cold noinline void io_queue_deferred(struct io_ring_ctx *ctx) in io_queue_deferred()
479 void __io_commit_cqring_flush(struct io_ring_ctx *ctx) in __io_commit_cqring_flush()
489 static inline void __io_cq_lock(struct io_ring_ctx *ctx) in __io_cq_lock()
[all …]
H A Dsqpoll.h24 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);
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);
H A Drsrc.c30 static struct io_rsrc_node *io_sqe_buffer_register(struct io_ring_ctx *ctx,
111 static struct io_mapped_ubuf *io_alloc_imu(struct io_ring_ctx *ctx, in io_alloc_imu()
119 static void io_free_imu(struct io_ring_ctx *ctx, struct io_mapped_ubuf *imu) in io_free_imu()
127 static void io_buffer_unmap(struct io_ring_ctx *ctx, struct io_mapped_ubuf *imu) in io_buffer_unmap()
140 struct io_rsrc_node *io_rsrc_node_alloc(struct io_ring_ctx *ctx, int type) in io_rsrc_node_alloc()
154 bool io_rsrc_cache_init(struct io_ring_ctx *ctx) in io_rsrc_cache_init()
168 void io_rsrc_cache_free(struct io_ring_ctx *ctx) in io_rsrc_cache_free()
186 __cold void io_rsrc_data_free(struct io_ring_ctx *ctx, in io_rsrc_data_free()
211 static int __io_sqe_files_update(struct io_ring_ctx *ctx, in __io_sqe_files_update()
279 static int __io_sqe_buffers_update(struct io_ring_ctx *ctx, in __io_sqe_buffers_update()
[all …]
H A Dkbuf.h76 void io_destroy_buffers(struct io_ring_ctx *ctx);
82 int io_register_pbuf_ring(struct io_ring_ctx *ctx, void __user *arg);
83 int io_unregister_pbuf_ring(struct io_ring_ctx *ctx, void __user *arg);
84 int io_register_pbuf_status(struct io_ring_ctx *ctx, void __user *arg);
94 struct io_mapped_region *io_pbuf_get_region(struct io_ring_ctx *ctx,
H A Dkbuf.c78 static inline struct io_buffer_list *io_buffer_get_list(struct io_ring_ctx *ctx, in io_buffer_get_list()
86 static int io_buffer_add_list(struct io_ring_ctx *ctx, in io_buffer_add_list()
110 struct io_ring_ctx *ctx = req->ctx; in io_kbuf_recycle_legacy()
229 struct io_ring_ctx *ctx = req->ctx; in io_buffer_select()
334 struct io_ring_ctx *ctx = req->ctx; in io_buffers_select()
370 struct io_ring_ctx *ctx = req->ctx; in io_buffers_peek()
424 static int io_remove_buffers_legacy(struct io_ring_ctx *ctx, in io_remove_buffers_legacy()
445 static void io_put_bl(struct io_ring_ctx *ctx, struct io_buffer_list *bl) in io_put_bl()
455 void io_destroy_buffers(struct io_ring_ctx *ctx) in io_destroy_buffers()
473 static void io_destroy_bl(struct io_ring_ctx *ctx, struct io_buffer_list *bl) in io_destroy_bl()
[all …]
H A Dmemmap.c184 int io_create_region(struct io_ring_ctx *ctx, struct io_mapped_region *mr, in io_create_region()
233 static struct io_mapped_region *io_mmap_get_region(struct io_ring_ctx *ctx, in io_mmap_get_region()
258 static void *io_region_validate_mmap(struct io_ring_ctx *ctx, in io_region_validate_mmap()
273 struct io_ring_ctx *ctx = file->private_data; in io_uring_validate_mmap_request()
284 static int io_region_mmap(struct io_ring_ctx *ctx, in io_region_mmap()
297 struct io_ring_ctx *ctx = file->private_data; in io_uring_mmap()
325 struct io_ring_ctx *ctx = filp->private_data; in io_uring_get_unmapped_area()
390 struct io_ring_ctx *ctx = file->private_data; in io_uring_mmap()
427 struct io_ring_ctx *ctx = file->private_data; in io_uring_get_unmapped_area()
H A Dfutex.c37 bool io_futex_cache_init(struct io_ring_ctx *ctx) in io_futex_cache_init()
43 void io_futex_cache_free(struct io_ring_ctx *ctx) in io_futex_cache_free()
57 struct io_ring_ctx *ctx = req->ctx; in io_futex_complete()
115 int io_futex_cancel(struct io_ring_ctx *ctx, struct io_cancel_data *cd, in io_futex_cancel()
121 bool io_futex_remove_all(struct io_ring_ctx *ctx, struct io_uring_task *tctx, in io_futex_remove_all()
227 struct io_ring_ctx *ctx = req->ctx; in io_futexv_wait()
279 struct io_ring_ctx *ctx = req->ctx; in io_futex_wait()
H A Dtimeout.c115 struct io_ring_ctx *ctx = req->ctx; in io_timeout_complete()
165 __cold void io_flush_timeouts(struct io_ring_ctx *ctx) in io_flush_timeouts()
263 struct io_ring_ctx *ctx = req->ctx; in io_disarm_next()
302 struct io_ring_ctx *ctx = req->ctx; in io_timeout_fn()
320 static struct io_kiocb *io_timeout_extract(struct io_ring_ctx *ctx, in io_timeout_extract()
347 int io_timeout_cancel(struct io_ring_ctx *ctx, struct io_cancel_data *cd) in io_timeout_cancel()
395 struct io_ring_ctx *ctx = req->ctx; in io_link_timeout_fn()
425 static int io_linked_timeout_update(struct io_ring_ctx *ctx, __u64 user_data, in io_linked_timeout_update()
452 static int io_timeout_update(struct io_ring_ctx *ctx, __u64 user_data, in io_timeout_update()
521 struct io_ring_ctx *ctx = req->ctx; in io_timeout_remove()
[all …]
H A Dtctx.c16 static struct io_wq *io_init_wq_offload(struct io_ring_ctx *ctx, in io_init_wq_offload()
78 struct io_ring_ctx *ctx) in io_uring_alloc_task_context()
111 static int io_tctx_install_node(struct io_ring_ctx *ctx, in io_tctx_install_node()
139 int __io_uring_add_tctx_node(struct io_ring_ctx *ctx) in __io_uring_add_tctx_node()
188 int __io_uring_add_tctx_node_from_submit(struct io_ring_ctx *ctx) in __io_uring_add_tctx_node_from_submit()
308 int io_ringfd_register(struct io_ring_ctx *ctx, void __user *__arg, in io_ringfd_register()
367 int io_ringfd_unregister(struct io_ring_ctx *ctx, void __user *__arg, in io_ringfd_unregister()
H A Dregister.c41 static __cold int io_probe(struct io_ring_ctx *ctx, void __user *arg, in io_probe()
76 int io_unregister_personality(struct io_ring_ctx *ctx, unsigned id) in io_unregister_personality()
90 static int io_register_personality(struct io_ring_ctx *ctx) in io_register_personality()
167 static __cold int io_register_restrictions(struct io_ring_ctx *ctx, in io_register_restrictions()
277 static int io_register_enable_rings(struct io_ring_ctx *ctx) in io_register_enable_rings()
299 static __cold int __io_register_iowq_aff(struct io_ring_ctx *ctx, in __io_register_iowq_aff()
315 static __cold int io_register_iowq_aff(struct io_ring_ctx *ctx, in io_register_iowq_aff()
347 static __cold int io_unregister_iowq_aff(struct io_ring_ctx *ctx) in io_unregister_iowq_aff()
352 static __cold int io_register_iowq_max_workers(struct io_ring_ctx *ctx, in io_register_iowq_max_workers()
443 static int io_register_clock(struct io_ring_ctx *ctx, in io_register_clock()
[all …]
H A Dfdinfo.c21 static __cold void common_tracking_show_fdinfo(struct io_ring_ctx *ctx, in common_tracking_show_fdinfo()
34 static __cold void napi_show_fdinfo(struct io_ring_ctx *ctx, in napi_show_fdinfo()
54 static inline void napi_show_fdinfo(struct io_ring_ctx *ctx, in napi_show_fdinfo()
60 static void __io_uring_show_fdinfo(struct io_ring_ctx *ctx, struct seq_file *m) in __io_uring_show_fdinfo()
260 struct io_ring_ctx *ctx = file->private_data; in io_uring_show_fdinfo()
H A Dwait.c32 int io_run_task_work_sig(struct io_ring_ctx *ctx) in io_run_task_work_sig()
73 struct io_ring_ctx *ctx = iowq->ctx; in io_cqring_min_timer_wakeup()
143 static int __io_cqring_wait_schedule(struct io_ring_ctx *ctx, in __io_cqring_wait_schedule()
166 static inline int io_cqring_wait_schedule(struct io_ring_ctx *ctx, in io_cqring_wait_schedule()
189 int io_cqring_wait(struct io_ring_ctx *ctx, int min_events, u32 flags, in io_cqring_wait()
H A Deventfd.c76 void io_eventfd_signal(struct io_ring_ctx *ctx, bool cqe_event) in io_eventfd_signal()
120 int io_eventfd_register(struct io_ring_ctx *ctx, void __user *arg, in io_eventfd_register()
159 int io_eventfd_unregister(struct io_ring_ctx *ctx) in io_eventfd_unregister()
H A Dnotif.h26 struct io_kiocb *io_alloc_notif(struct io_ring_ctx *ctx);
45 struct io_ring_ctx *ctx = notif->ctx; in io_notif_account_mem()
H A Dwaitid.c167 int io_waitid_cancel(struct io_ring_ctx *ctx, struct io_cancel_data *cd, in io_waitid_cancel()
173 bool io_waitid_remove_all(struct io_ring_ctx *ctx, struct io_uring_task *tctx, in io_waitid_remove_all()
201 struct io_ring_ctx *ctx = req->ctx; in io_waitid_cb()
285 struct io_ring_ctx *ctx = req->ctx; in io_waitid()
H A Dpoll.c539 struct io_ring_ctx *ctx = req->ctx; in io_poll_add_hash()
657 struct io_ring_ctx *ctx = req->ctx; in io_req_alloc_apoll()
733 __cold bool io_poll_remove_all(struct io_ring_ctx *ctx, struct io_uring_task *tctx, in io_poll_remove_all()
758 static struct io_kiocb *io_poll_find(struct io_ring_ctx *ctx, bool poll_only, in io_poll_find()
779 static struct io_kiocb *io_poll_file_find(struct io_ring_ctx *ctx, in io_poll_file_find()
808 static int __io_poll_cancel(struct io_ring_ctx *ctx, struct io_cancel_data *cd) in __io_poll_cancel()
825 int io_poll_cancel(struct io_ring_ctx *ctx, struct io_cancel_data *cd, in io_poll_cancel()
919 struct io_ring_ctx *ctx = req->ctx; in io_poll_remove()
H A Dzcrx.c371 static int io_allocate_rbuf_ring(struct io_ring_ctx *ctx, in io_allocate_rbuf_ring()
524 static struct io_zcrx_ifq *io_zcrx_ifq_alloc(struct io_ring_ctx *ctx) in io_zcrx_ifq_alloc()
669 struct io_mapped_region *io_zcrx_get_region(struct io_ring_ctx *ctx, in io_zcrx_get_region()
694 static int zcrx_export(struct io_ring_ctx *ctx, struct io_zcrx_ifq *ifq, in zcrx_export()
728 static int import_zcrx(struct io_ring_ctx *ctx, in import_zcrx()
828 int io_register_zcrx(struct io_ring_ctx *ctx, in io_register_zcrx()
937 static inline bool is_zcrx_entry_marked(struct io_ring_ctx *ctx, unsigned long id) in is_zcrx_entry_marked()
942 static inline void set_zcrx_entry_mark(struct io_ring_ctx *ctx, unsigned long id) in set_zcrx_entry_mark()
947 void io_terminate_zcrx(struct io_ring_ctx *ctx) in io_terminate_zcrx()
967 void io_unregister_zcrx(struct io_ring_ctx *ctx) in io_unregister_zcrx()
[all …]
H A During_cmd.h16 bool io_uring_try_cancel_uring_cmd(struct io_ring_ctx *ctx,
/linux/include/linux/
H A Dio_uring_types.h119 const struct io_ring_ctx *last;
293 struct io_ring_ctx { struct
369 int (*loop_step)(struct io_ring_ctx *ctx,
735 struct io_ring_ctx *ctx;

12