On 14/07/2020 14:55, Miklos Szeredi wrote: > On Tue, Jul 14, 2020 at 1:36 PM Pavel Begunkov <asml.silence@xxxxxxxxx> wrote: >> >> On 14/07/2020 11:07, Miklos Szeredi wrote: >>> On Tue, Jul 14, 2020 at 8:51 AM Pavel Machek <pavel@xxxxxxx> 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. > > Yeah, it's an interesting problem. The uring has the same events, as > far as I understand, that are recorded in a multithreaded strace > output (syscall entry, syscall exit); nothing more is needed> > I do think this needs to be integrated into strace(1), otherwise the > usefulness of that tool (which I think is *very* high) would go down > drastically as io_uring usage goes up. Not touching the topic of usefulness of strace + io_uring, but I'd rather have a tool that solves a problem, than a problem that created and honed for a tool. -- Pavel Begunkov