On 3/3/19 7:34 PM, Linus Torvalds wrote: > On Sun, Mar 3, 2019 at 5:53 PM Jens Axboe <axboe@xxxxxxxxx> wrote: >> >> This pull request adds support for a new IO interface, io_uring. >> io_uring allows an application to communicate with the kernel through >> two rings, the submission queue (SQ) and completion queue (CQ) ring. >> This allows for very efficient handling of IOs, see the v5 posting for >> some basic numbers: > > Having just looked at the bugs in fs/aio.c and not finding a lot of > users of *that*, and absolutely zero actual test-cases, I'm actually > less than thrilled to see a new interface with the same behavior. > > So I would want to see some test programs that actually use this. > Perhaps as part of tools/testing/? I think there's a few things to take into account here. Nothing (basically) uses fs/aio.c. Obviously that's true for io_uring as well right now, but the hope is that that is NOT going to be true going forward as it works for any type of IO, instead of being just O_DIRECT. That said, there are test programs. As mentioned in the pull, there's a fio IO engine that uses it. In the fio repo, there's also a standalone test program, t/io_uring.c. Outside of that, the liburing repo mentioned does have some actual test cases, in the test/ directory. Some are unit tests, some are just random test cases. So it's not like there are NO test cases. Not a huge amount, but most of them have been organically grown as bugs have shown up. Now that you know there are some, how do you want to proceed? I can write some more unit like tests and migrate the ones I do have to tools/testing/? -- Jens Axboe