From: Aarushi Mehta <mehta.aaru20@gmail.com>
To: Eric Blake <eblake@redhat.com>, qemu-devel@nongnu.org
Cc: saket.sinha89@gmail.com, Julia Suvorova <jusual@mail.ru>,
Stefan Hajnoczi <stefanha@redhat.com>,
qemu-block@nongnu.org
Subject: Re: [Qemu-devel] [RFC PATCH 1/9] qapi/block-core: add option for io_uring
Date: Wed, 22 May 2019 06:21:51 +0530 [thread overview]
Message-ID: <1c277edc76e47fbbaae0ecdd6774e24ac9a94ee5.camel@gmail.com> (raw)
In-Reply-To: <d932237b-03bc-5dbb-17dd-bcca5ce121c8@redhat.com>
On Tue, 2019-05-21 at 19:39 -0500, Eric Blake wrote:
> On 5/21/19 6:52 PM, Aarushi Mehta wrote:
> > Signed-off-by: Aarushi Mehta <mehta.aaru20@gmail.com>
>
> Sparse on the details. The subject line says what, but without a
> 'why'
> for how io_uring is different from existing aio options, it's hard to
> see why I'd want to use it. Do you have any benchmark numbers?
For peak performance, io_uring helps us get to 1.7M 4k IOPS with
polling. aio reaches a performance cliff much lower than that, at 608K.
If we disable polling, io_uring is able to drive about 1.2M IOPS for
the (otherwise) same test case.
More details, and the source for the above is at
http://kernel.dk/io_uring.pdf
> > ---
> > qapi/block-core.json | 3 ++-
> > 1 file changed, 2 insertions(+), 1 deletion(-)
> >
> > diff --git a/qapi/block-core.json b/qapi/block-core.json
> > index 7ccbfff9d0..116995810a 100644
> > --- a/qapi/block-core.json
> > +++ b/qapi/block-core.json
> > @@ -2776,11 +2776,12 @@
> > #
> > # @threads: Use qemu's thread pool
> > # @native: Use native AIO backend (only Linux and Windows)
> > +# @io_uring: Use linux io_uring
>
> Missing a '(since 4.1)' tag.
>
> > #
> > # Since: 2.9
> > ##
> > { 'enum': 'BlockdevAioOptions',
> > - 'data': [ 'threads', 'native' ] }
> > + 'data': [ 'threads', 'native','io_uring' ] }
>
> Missing space after ',' (not essential, but matching style is nice).
> Should the new element be defined conditionally, so that
> introspection
> only sees the new enum member when compiled for Linux?
>
I'm not sure what would be the benefits of that? We already check for
Linux at configure, and this would reduce readability. We aren't doing
this for native.
>
next prev parent reply other threads:[~2019-05-22 0:53 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-05-21 23:52 [Qemu-devel] [RFC PATCH 0/9] Add support for io_uring Aarushi Mehta
2019-05-21 23:52 ` [Qemu-devel] [RFC PATCH 1/9] qapi/block-core: add option " Aarushi Mehta
2019-05-22 0:39 ` Eric Blake
2019-05-22 0:51 ` Aarushi Mehta [this message]
2019-05-22 1:01 ` Eric Blake
2019-05-22 9:16 ` [Qemu-devel] [Qemu-block] " Kevin Wolf
2019-05-22 13:07 ` [Qemu-devel] " Stefan Hajnoczi
2019-05-21 23:52 ` [Qemu-devel] [RFC PATCH 2/9] block/block: add BDRV flag " Aarushi Mehta
2019-05-21 23:52 ` [Qemu-devel] [RFC PATCH 3/9] include/block: declare interfaces " Aarushi Mehta
2019-05-22 13:09 ` Stefan Hajnoczi
2019-05-21 23:52 ` [Qemu-devel] [RFC PATCH 4/9] stubs: add aio interface stubs " Aarushi Mehta
2019-05-22 13:10 ` Stefan Hajnoczi
2019-05-21 23:52 ` [Qemu-devel] [RFC PATCH 5/9] util/asyn: add aio interfaces " Aarushi Mehta
2019-05-22 13:16 ` Stefan Hajnoczi
2019-05-21 23:52 ` [Qemu-devel] [RFC PATCH 6/9] block/io_uring: implements " Aarushi Mehta
2019-05-22 15:43 ` Stefan Hajnoczi
2019-05-21 23:52 ` [Qemu-devel] [RFC PATCH 7/9] blockdev: accept io_uring as option Aarushi Mehta
2019-05-21 23:52 ` [Qemu-devel] [RFC PATCH 8/9] block/file-posix: extends to use with io_uring Aarushi Mehta
2019-05-22 15:45 ` Stefan Hajnoczi
2019-05-21 23:52 ` [Qemu-devel] [RFC PATCH 9/9] configure: permits use of io_uring with probe Aarushi Mehta
2019-05-22 0:09 ` [Qemu-devel] [RFC PATCH 0/9] Add support for io_uring no-reply
2019-05-22 15:46 ` Stefan Hajnoczi
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1c277edc76e47fbbaae0ecdd6774e24ac9a94ee5.camel@gmail.com \
--to=mehta.aaru20@gmail.com \
--cc=eblake@redhat.com \
--cc=jusual@mail.ru \
--cc=qemu-block@nongnu.org \
--cc=qemu-devel@nongnu.org \
--cc=saket.sinha89@gmail.com \
--cc=stefanha@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.