[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAJfpegvroouw5ndHv+395w5PP1c+pUyp=-T8qhhvSnFbhbRehg@mail.gmail.com>
Date: Tue, 14 Jul 2020 13:55:50 +0200
From: Miklos Szeredi <miklos@...redi.hu>
To: Pavel Begunkov <asml.silence@...il.com>
Cc: Pavel Machek <pavel@...x.de>, Greg KH <gregkh@...uxfoundation.org>,
Jan Ziak <0xe2.0x9a.0x9b@...il.com>,
Linux API <linux-api@...r.kernel.org>,
linux-fsdevel@...r.kernel.org, linux-kernel@...r.kernel.org,
linux-kselftest@...r.kernel.org,
linux-man <linux-man@...r.kernel.org>,
Michael Kerrisk <mtk.manpages@...il.com>, shuah@...nel.org,
Al Viro <viro@...iv.linux.org.uk>, io-uring@...r.kernel.org
Subject: Re: [PATCH 0/3] readfile(2): a new syscall to make open/read/close faster
On Tue, Jul 14, 2020 at 1:36 PM Pavel Begunkov <asml.silence@...il.com> wrote:
>
> On 14/07/2020 11:07, Miklos Szeredi wrote:
> > On Tue, Jul 14, 2020 at 8:51 AM Pavel Machek <pavel@...x.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.
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.
Thanks,
Miklos
Powered by blists - more mailing lists