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