Home
last modified time | relevance | path

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

12

/linux-6.1.9/tools/io_uring/
DMakefile6 all: io_uring-cp io_uring-bench
10 io_uring-bench: syscall.o io_uring-bench.o
13 io_uring-cp: setup.o syscall.o queue.o
16 $(RM) io_uring-cp io_uring-bench *.o
DREADME1 This directory includes a few programs that demonstrate how to use io_uring
4 io_uring-cp
5 A very basic io_uring implementation of cp(1). It takes two
8 for setting up an io_uring instance, submitting IO, completing IO,
12 io_uring-bench
14 app demonstrates the various features of io_uring, like fixed files,
17 io_uring-bench should operate on. This uses the raw io_uring
24 and contains a number of unit tests as well for testing io_uring. It also
27 Fio includes an io_uring engine, you can clone fio here:
Dliburing.h46 struct io_uring { struct
64 extern int io_uring_queue_init(unsigned entries, struct io_uring *ring, argument
67 struct io_uring *ring);
68 extern void io_uring_queue_exit(struct io_uring *ring);
69 extern int io_uring_peek_cqe(struct io_uring *ring,
71 extern int io_uring_wait_cqe(struct io_uring *ring,
73 extern int io_uring_submit(struct io_uring *ring);
74 extern struct io_uring_sqe *io_uring_get_sqe(struct io_uring *ring);
80 static inline void io_uring_cqe_seen(struct io_uring *ring, in io_uring_cqe_seen()
Dqueue.c11 static int __io_uring_get_cqe(struct io_uring *ring, in __io_uring_get_cqe()
49 int io_uring_peek_cqe(struct io_uring *ring, struct io_uring_cqe **cqe_ptr) in io_uring_peek_cqe()
58 int io_uring_wait_cqe(struct io_uring *ring, struct io_uring_cqe **cqe_ptr) in io_uring_wait_cqe()
68 int io_uring_submit(struct io_uring *ring) in io_uring_submit()
141 struct io_uring_sqe *io_uring_get_sqe(struct io_uring *ring) in io_uring_get_sqe()
Dio_uring-cp.c34 static int setup_context(unsigned entries, struct io_uring *ring) in setup_context()
69 static void queue_prepped(struct io_uring *ring, struct io_data *data) in queue_prepped()
84 static int queue_read(struct io_uring *ring, off_t size, off_t offset) in queue_read()
111 static void queue_write(struct io_uring *ring, struct io_data *data) in queue_write()
123 static int copy_file(struct io_uring *ring, off_t insize) in copy_file()
252 struct io_uring ring; in main()
Dsetup.c64 int io_uring_queue_mmap(int fd, struct io_uring_params *p, struct io_uring *ring) in io_uring_queue_mmap()
79 int io_uring_queue_init(unsigned entries, struct io_uring *ring, unsigned flags) in io_uring_queue_init()
98 void io_uring_queue_exit(struct io_uring *ring) in io_uring_queue_exit()
/linux-6.1.9/io_uring/
Dtctx.c49 struct io_uring_task *tctx = tsk->io_uring; in __io_uring_free()
57 tsk->io_uring = NULL; in __io_uring_free()
88 task->io_uring = tctx; in io_uring_alloc_task_context()
96 struct io_uring_task *tctx = current->io_uring; in __io_uring_add_tctx_node()
105 tctx = current->io_uring; in __io_uring_add_tctx_node()
148 current->io_uring->last = ctx; in __io_uring_add_tctx_node_from_submit()
157 struct io_uring_task *tctx = current->io_uring; in io_uring_del_tctx_node()
200 struct io_uring_task *tctx = current->io_uring; in io_uring_unreg_ringfd()
261 tctx = current->io_uring; in io_ringfd_register()
307 struct io_uring_task *tctx = current->io_uring; in io_ringfd_unregister()
Dcancel.c87 WARN_ON_ONCE(!io_wq_current_is_worker() && tctx != current->io_uring); in io_try_cancel()
152 struct io_uring_task *tctx = node->task->io_uring; in __io_async_cancel()
174 struct io_uring_task *tctx = req->task->io_uring; in io_async_cancel()
265 ret = __io_sync_cancel(current->io_uring, &cd, sc.fd); in io_sync_cancel()
289 ret = __io_sync_cancel(current->io_uring, &cd, sc.fd); in io_sync_cancel()
Dtctx.h27 struct io_uring_task *tctx = current->io_uring; in io_uring_add_tctx_node()
DMakefile5 obj-$(CONFIG_IO_URING) += io_uring.o xattr.o nop.o fs.o splice.o \
Dio_uring.c369 atomic_inc(&req->task->io_uring->inflight_tracked); in io_req_track_inflight()
453 struct io_uring_task *tctx = req->task->io_uring; in io_queue_iowq()
661 struct io_uring_task *tctx = task->io_uring; in __io_put_task()
680 struct io_uring_task *tctx = task->io_uring; in io_uring_drop_tctx_refs()
1113 if (unlikely(atomic_read(&req->task->io_uring->in_idle))) { in io_req_local_work_add()
1130 struct io_uring_task *tctx = req->task->io_uring; in __io_req_task_work_add()
1679 struct io_uring_task *tctx = req->task->io_uring; in io_clean_op()
2277 current->io_uring->cached_refs += left; in io_submit_sqes()
2683 struct io_uring_task *tctx = current->io_uring; in io_tctx_exit_cb()
2733 if (tsk && tsk->io_uring && tsk->io_uring->io_wq) in io_ring_exit_work()
[all …]
Dio_uring.h342 task->io_uring->cached_refs += nr; in io_put_task()
349 struct io_uring_task *tctx = current->io_uring; in io_get_task_refs()
Dtimeout.c284 ret = io_try_cancel(req->task->io_uring, &cd, issue_flags); in io_req_task_link_timeout()
/linux-6.1.9/include/linux/
Dio_uring.h52 if (current->io_uring) { in io_uring_files_cancel()
59 if (current->io_uring) in io_uring_task_cancel()
64 if (tsk->io_uring) in io_uring_free()
Dio_uring_types.h71 struct io_uring { struct
92 struct io_uring sq, cq; argument
Dsched.h1097 struct io_uring_task *io_uring; member
/linux-6.1.9/tools/testing/selftests/net/
Dio_uring_zerocopy_tx.c107 struct io_uring { struct
157 static int io_uring_register_buffers(struct io_uring *ring, in io_uring_register_buffers()
215 static int io_uring_queue_init(unsigned entries, struct io_uring *ring, in io_uring_queue_init()
236 static int io_uring_submit(struct io_uring *ring) in io_uring_submit()
291 static struct io_uring_sqe *io_uring_get_sqe(struct io_uring *ring) in io_uring_get_sqe()
300 static int io_uring_wait_cqe(struct io_uring *ring, struct io_uring_cqe **cqe_ptr) in io_uring_wait_cqe()
323 static inline void io_uring_cqe_seen(struct io_uring *ring) in io_uring_cqe_seen()
363 struct io_uring ring; in do_tx()
/linux-6.1.9/Documentation/block/
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 pthread & io_uring for handling ublk IO), this command is sent to the
127 io_uring).
186 ublk server needs to create per-queue IO pthread & io_uring for handling IO
187 commands via io_uring passthrough. The per-queue IO pthread
200 The following IO commands are communicated via io_uring passthrough command,
216 the IO notification via io_uring.
/linux-6.1.9/
DKbuild91 obj-$(CONFIG_IO_URING) += io_uring/
/linux-6.1.9/init/
Dinit_task.c119 .io_uring = NULL,
DKconfig1696 This option enables support for the io_uring interface, enabling
/linux-6.1.9/scripts/
DMakefile.package33 include init io_uring ipc kernel lib mm net rust \
/linux-6.1.9/include/trace/events/
Dio_uring.h3 #define TRACE_SYSTEM io_uring
/linux-6.1.9/drivers/block/
DKconfig406 io_uring based userspace block driver. Together with ublk server, ublk
412 can be used in IO path for replacing io_uring cmd, which will become
/linux-6.1.9/kernel/
Dfork.c2161 p->io_uring = NULL; in copy_process()

12