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