Home
last modified time | relevance | path

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

12

/linux-6.3-rc2/tools/io_uring/
A 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
A 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:
A 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()
A 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()
A 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()
A 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.3-rc2/io_uring/
A 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()
A 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()
A Dtctx.h27 struct io_uring_task *tctx = current->io_uring; in io_uring_add_tctx_node()
A DMakefile5 obj-$(CONFIG_IO_URING) += io_uring.o xattr.o nop.o fs.o splice.o \
A Dio_uring.c456 struct io_uring_task *tctx = req->task->io_uring; in io_queue_iowq()
719 struct io_uring_task *tctx = task->io_uring; in io_put_task_remote()
730 task->io_uring->cached_refs += nr; in io_put_task_local()
753 struct io_uring_task *tctx = task->io_uring; in io_uring_drop_tctx_refs()
2462 current->io_uring->cached_refs += left; in io_submit_sqes()
2935 struct io_uring_task *tctx = current->io_uring; in io_tctx_exit_cb()
2991 if (tsk && tsk->io_uring && tsk->io_uring->io_wq) in io_ring_exit_work()
2992 io_wq_cancel_cb(tsk->io_uring->io_wq, in io_ring_exit_work()
3208 if (!current->io_uring) in io_uring_cancel_generic()
4083 tctx = sqd->thread->io_uring; in io_register_iowq_max_workers()
[all …]
A Dio_uring.h334 struct io_uring_task *tctx = current->io_uring; in io_get_task_refs()
A Dtimeout.c282 ret = io_try_cancel(req->task->io_uring, &cd, issue_flags); in io_req_task_link_timeout()
/linux-6.3-rc2/include/linux/
A Dio_uring.h53 if (current->io_uring) { in io_uring_files_cancel()
60 if (current->io_uring) in io_uring_task_cancel()
65 if (tsk->io_uring) in io_uring_free()
A Dio_uring_types.h71 struct io_uring { struct
92 struct io_uring sq, cq; argument
A Dsched.h1091 struct io_uring_task *io_uring; member
/linux-6.3-rc2/tools/testing/selftests/net/
A 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.3-rc2/Documentation/block/
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 pthread & io_uring for handling ublk IO), this command is sent to the
127 io_uring).
232 ublk server needs to create per-queue IO pthread & io_uring for handling IO
233 commands via io_uring passthrough. The per-queue IO pthread
246 The following IO commands are communicated via io_uring passthrough command,
262 the IO notification via io_uring.
/linux-6.3-rc2/
A DKbuild91 obj-$(CONFIG_IO_URING) += io_uring/
/linux-6.3-rc2/init/
A Dinit_task.c119 .io_uring = NULL,
/linux-6.3-rc2/scripts/
A DMakefile.package10 include init io_uring ipc kernel lib mm net rust \
/linux-6.3-rc2/drivers/block/
A DKconfig377 io_uring based userspace block driver. Together with ublk server, ublk
383 can be used in IO path for replacing io_uring cmd, which will become
/linux-6.3-rc2/include/trace/events/
A Dio_uring.h3 #define TRACE_SYSTEM io_uring
/linux-6.3-rc2/tools/testing/selftests/mm/
A Dcow.c412 struct io_uring ring; in do_test_iouring()
/linux-6.3-rc2/kernel/
A Dfork.c2174 p->io_uring = NULL; in copy_process()

Completed in 59 milliseconds

12