xref: /kernel/linux/linux-5.10/tools/io_uring/README (revision 8c2ecf20)
18c2ecf20Sopenharmony_ciThis directory includes a few programs that demonstrate how to use io_uring
28c2ecf20Sopenharmony_ciin an application. The examples are:
38c2ecf20Sopenharmony_ci
48c2ecf20Sopenharmony_ciio_uring-cp
58c2ecf20Sopenharmony_ci	A very basic io_uring implementation of cp(1). It takes two
68c2ecf20Sopenharmony_ci	arguments, copies the first argument to the second. This example
78c2ecf20Sopenharmony_ci	is part of liburing, and hence uses the simplified liburing API
88c2ecf20Sopenharmony_ci	for setting up an io_uring instance, submitting IO, completing IO,
98c2ecf20Sopenharmony_ci	etc. The support functions in queue.c and setup.c are straight
108c2ecf20Sopenharmony_ci	out of liburing.
118c2ecf20Sopenharmony_ci
128c2ecf20Sopenharmony_ciio_uring-bench
138c2ecf20Sopenharmony_ci	Benchmark program that does random reads on a number of files. This
148c2ecf20Sopenharmony_ci	app demonstrates the various features of io_uring, like fixed files,
158c2ecf20Sopenharmony_ci	fixed buffers, and polled IO. There are options in the program to
168c2ecf20Sopenharmony_ci	control which features to use. Arguments is the file (or files) that
178c2ecf20Sopenharmony_ci	io_uring-bench should operate on. This uses the raw io_uring
188c2ecf20Sopenharmony_ci	interface.
198c2ecf20Sopenharmony_ci
208c2ecf20Sopenharmony_ciliburing can be cloned with git here:
218c2ecf20Sopenharmony_ci
228c2ecf20Sopenharmony_ci	git://git.kernel.dk/liburing
238c2ecf20Sopenharmony_ci
248c2ecf20Sopenharmony_ciand contains a number of unit tests as well for testing io_uring. It also
258c2ecf20Sopenharmony_cicomes with man pages for the three system calls.
268c2ecf20Sopenharmony_ci
278c2ecf20Sopenharmony_ciFio includes an io_uring engine, you can clone fio here:
288c2ecf20Sopenharmony_ci
298c2ecf20Sopenharmony_ci	git://git.kernel.dk/fio
30