Home
last modified time | relevance | path

Searched refs:io_uring (Results 1 – 25 of 48) sorted by relevance

12

/linux/io_uring/
H A Dtctx.c48 struct io_uring_task *tctx = tsk->io_uring; in __io_uring_free()
68 tsk->io_uring = NULL; in __io_uring_free()
106 task->io_uring = tctx; in io_uring_alloc_task_context()
114 struct io_uring_task *tctx = current->io_uring; in __io_uring_add_tctx_node()
123 tctx = current->io_uring; in __io_uring_add_tctx_node()
174 current->io_uring->last = ctx; in __io_uring_add_tctx_node_from_submit()
183 struct io_uring_task *tctx = current->io_uring; in io_uring_del_tctx_node()
229 struct io_uring_task *tctx = current->io_uring; in io_uring_unreg_ringfd()
299 tctx = current->io_uring; in io_ringfd_register()
345 struct io_uring_task *tctx = current->io_uring; in io_ringfd_unregister()
H A Dcancel.c111 WARN_ON_ONCE(!io_wq_current_is_worker() && tctx != current->io_uring); in io_try_cancel()
191 ret = io_async_cancel_one(node->task->io_uring, cd); in __io_async_cancel()
298 ret = __io_sync_cancel(current->io_uring, &cd, sc.fd); in io_sync_cancel()
322 ret = __io_sync_cancel(current->io_uring, &cd, sc.fd); in io_sync_cancel()
491 struct io_uring_task *tctx = node->task->io_uring; in io_uring_try_cancel_iowq()
579 struct io_uring_task *tctx = current->io_uring; in io_uring_cancel_generic()
588 if (!current->io_uring) in io_uring_cancel_generic()
612 current->io_uring, in io_uring_cancel_generic()
619 current->io_uring, in io_uring_cancel_generic()
H A Dtw.h72 if (current->io_uring) { in io_run_task_work()
76 tctx_task_work_run(current->io_uring, UINT_MAX, &count); in io_run_task_work()
H A Dsqpoll.c270 struct io_uring_task *tctx = current->io_uring; in io_sq_tw()
288 struct io_uring_task *tctx = current->io_uring; in io_sq_tw_pending()
303 if (!current->io_uring) { in io_sq_thread()
558 ret = io_wq_cpu_affinity(tsk->io_uring, mask); in io_sqpoll_wq_cpu_affinity()
H A DKconfig3 # io_uring configuration
H A Dtctx.h27 struct io_uring_task *tctx = current->io_uring; in io_uring_add_tctx_node()
H A DMakefile9 obj-$(CONFIG_IO_URING) += io_uring.o opdef.o kbuf.o rsrc.o notif.o \
H A Dregister.c297 ret = io_wq_cpu_affinity(current->io_uring, new_mask); in __io_register_iowq_aff()
376 tctx = tsk->io_uring; in io_register_iowq_max_workers()
379 tctx = current->io_uring; in io_register_iowq_max_workers()
414 tctx = node->task->io_uring; in io_register_iowq_max_workers()
955 struct io_uring_task *tctx = current->io_uring; in io_uring_register_get_file()
H A Dzcrx.h48 struct io_uring *rq_ring;
H A Dquery.c40 e->rq_hdr_size = sizeof(struct io_uring); in io_query_zcrx()
H A Dio_uring.c618 struct io_uring_task *tctx = task->io_uring; in io_uring_drop_tctx_refs()
1731 req->tctx = current->io_uring; in io_init_req()
1755 current->io_uring->cached_refs++; in io_init_req()
2055 current->io_uring->cached_refs += left; in io_submit_sqes()
2284 struct io_uring_task *tctx = current->io_uring; in io_tctx_exit_cb()
2334 if (tsk && tsk->io_uring && tsk->io_uring->io_wq) in io_ring_exit_work()
2335 io_wq_cancel_cb(tsk->io_uring->io_wq, in io_ring_exit_work()
2555 struct io_uring_task *tctx = current->io_uring; in SYSCALL_DEFINE6()
3034 tctx = current->io_uring; in io_uring_create()
H A Dnotif.c126 notif->tctx = current->io_uring; in io_alloc_notif()
H A Dzcrx.c370 offsets->head = offsetof(struct io_uring, head); in io_fill_zcrx_offsets()
371 offsets->tail = offsetof(struct io_uring, tail); in io_fill_zcrx_offsets()
372 offsets->rqes = ALIGN(sizeof(struct io_uring), L1_CACHE_BYTES); in io_fill_zcrx_offsets()
400 ifq->rq_ring = (struct io_uring *)ptr; in io_allocate_rbuf_ring()
/linux/tools/include/io_uring/
H A Dmini_liburing.h55 struct io_uring { struct
140 struct io_uring *ring, in io_uring_queue_init_params()
161 struct io_uring *ring, in io_uring_queue_init()
173 static inline struct io_uring_sqe *io_uring_get_sqe(struct io_uring *ring) in io_uring_get_sqe()
182 static inline int io_uring_wait_cqe(struct io_uring *ring, in io_uring_wait_cqe()
206 static inline int io_uring_submit(struct io_uring *ring) in io_uring_submit()
249 static inline void io_uring_queue_exit(struct io_uring *ring) in io_uring_queue_exit()
276 static inline int io_uring_register_buffers(struct io_uring *ring, in io_uring_register_buffers()
307 static inline void io_uring_cqe_seen(struct io_uring *ring) in io_uring_cqe_seen()
/linux/include/linux/
H A Dio_uring.h19 if (current->io_uring) in io_uring_files_cancel()
24 if (current->io_uring) in io_uring_task_cancel()
29 if (tsk->io_uring || tsk->io_uring_restrict) in io_uring_free()
H A Dio_uring_types.h139 struct io_uring { struct
160 struct io_uring sq, cq; argument
/linux/tools/testing/selftests/drivers/net/hw/
H A Diou-zcrx.c141 static void setup_zcrx(struct io_uring *ring) in setup_zcrx()
221 static void add_accept(struct io_uring *ring, int sockfd) in add_accept()
231 static void add_recvzc(struct io_uring *ring, int sockfd) in add_recvzc()
242 static void add_recvzc_oneshot(struct io_uring *ring, int sockfd, size_t len) in add_recvzc_oneshot()
253 static void process_accept(struct io_uring *ring, struct io_uring_cqe *cqe) in process_accept()
267 static void process_recvzc(struct io_uring *ring, struct io_uring_cqe *cqe) in process_recvzc()
313 static void server_loop(struct io_uring *ring) in server_loop()
337 struct io_uring ring; in run_server()
/linux/Documentation/networking/
H A Diou-zcrx.rst4 io_uring zero copy Rx
10 io_uring zero copy Rx (ZC Rx) is a feature that removes kernel-to-user copy on
20 Several NIC HW features are required for io_uring ZC Rx to work. For now the
36 configured for io_uring ZC Rx.
42 copy flows away from queues that are configured for io_uring ZC Rx.
68 Setup io_uring
71 This section describes the low level io_uring kernel API. Please refer to
74 Create an io_uring instance with the following required setup flags::
203 This limits the maximum buffer size returned in a single io_uring CQE. Users
/linux/Documentation/block/
H A Dublk.rst47 ``io_uring`` passthrough command; that is why ublk is also one io_uring based
48 block driver. It has been observed that using io_uring passthrough command can
51 done by io_uring, but also the preferred IO handling in ublk server is io_uring
76 # do anything. all IOs are handled by io_uring
119 threads & io_uring for handling ublk IO), this command is sent to the
127 io_uring).
245 thread should have its own io_uring through which it is notified of new
259 The following IO commands are communicated via io_uring passthrough command,
290 the IO notification via io_uring.
340 - **Multishot commands**: Use io_uring multishot for reduced submission overhead
[all …]
/linux/tools/testing/vsock/
H A Dvsock_uring_test.c64 struct io_uring ring; in vsock_io_uring_client()
117 struct io_uring ring; in vsock_io_uring_server()
/linux/tools/testing/selftests/ublk/
H A Dkublk.h247 struct io_uring ring;
260 struct io_uring ring;
377 struct io_uring *ring = &t->ring; in ublk_io_alloc_sqes()
H A Dtest_common.sh322 fio --name=batchjob --filename=/dev/ublkb"${dev_id}" --ioengine=io_uring \
/linux/
H A DKconfig34 source "io_uring/Kconfig"
/linux/init/
H A Dinit_task.c158 .io_uring = NULL,
/linux/tools/testing/selftests/net/
H A Dio_uring_zerocopy_tx.c99 struct io_uring ring; in do_tx()

12