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