xref: /OK3568_Linux_fs/kernel/tools/io_uring/README (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593SmuzhiyunThis directory includes a few programs that demonstrate how to use io_uring
2*4882a593Smuzhiyunin an application. The examples are:
3*4882a593Smuzhiyun
4*4882a593Smuzhiyunio_uring-cp
5*4882a593Smuzhiyun	A very basic io_uring implementation of cp(1). It takes two
6*4882a593Smuzhiyun	arguments, copies the first argument to the second. This example
7*4882a593Smuzhiyun	is part of liburing, and hence uses the simplified liburing API
8*4882a593Smuzhiyun	for setting up an io_uring instance, submitting IO, completing IO,
9*4882a593Smuzhiyun	etc. The support functions in queue.c and setup.c are straight
10*4882a593Smuzhiyun	out of liburing.
11*4882a593Smuzhiyun
12*4882a593Smuzhiyunio_uring-bench
13*4882a593Smuzhiyun	Benchmark program that does random reads on a number of files. This
14*4882a593Smuzhiyun	app demonstrates the various features of io_uring, like fixed files,
15*4882a593Smuzhiyun	fixed buffers, and polled IO. There are options in the program to
16*4882a593Smuzhiyun	control which features to use. Arguments is the file (or files) that
17*4882a593Smuzhiyun	io_uring-bench should operate on. This uses the raw io_uring
18*4882a593Smuzhiyun	interface.
19*4882a593Smuzhiyun
20*4882a593Smuzhiyunliburing can be cloned with git here:
21*4882a593Smuzhiyun
22*4882a593Smuzhiyun	git://git.kernel.dk/liburing
23*4882a593Smuzhiyun
24*4882a593Smuzhiyunand contains a number of unit tests as well for testing io_uring. It also
25*4882a593Smuzhiyuncomes with man pages for the three system calls.
26*4882a593Smuzhiyun
27*4882a593SmuzhiyunFio includes an io_uring engine, you can clone fio here:
28*4882a593Smuzhiyun
29*4882a593Smuzhiyun	git://git.kernel.dk/fio
30