On 14/07/2020 11:07, Miklos Szeredi wrote:
On Tue, Jul 14, 2020 at 8:51 AM Pavel Machek pavel@denx.de wrote:
Hi!
At first, I thought that the proposed system call is capable of reading *multiple* small files using a single system call - which would help increase HDD/SSD queue utilization and increase IOPS (I/O operations per second) - but that isn't the case and the proposed system call can read just a single file.
If you want to do this for multple files, use io_ring, that's what it was designed for. I think Jens was going to be adding support for the open/read/close pattern to it as well, after some other more pressing features/fixes were finished.
What about... just using io_uring for single file, too? I'm pretty sure it can be wrapped in a library that is simple to use, avoiding need for new syscall.
Just wondering: is there a plan to add strace support to io_uring? And I don't just mean the syscalls associated with io_uring, but tracing the ring itself.
What kind of support do you mean? io_uring is asynchronous in nature with all intrinsic tracing/debugging/etc. problems of such APIs. And there are a lot of handy trace points, are those not enough?
Though, this can be an interesting project to rethink how async APIs are worked with.
I think that's quite important as io_uring becomes mainstream.