qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Sergio Lopez <slp@redhat.com>
To: Aarushi Mehta <mehta.aaru20@gmail.com>
Cc: Fam Zheng <fam@euphon.net>, Kevin Wolf <kwolf@redhat.com>,
	qemu-block@nongnu.org, Markus Armbruster <armbru@redhat.com>,
	QEMU Developers <qemu-devel@nongnu.org>,
	Max Reitz <mreitz@redhat.com>,
	saket.sinha89@gmail.com, Stefan Hajnoczi <stefanha@redhat.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Julia Suvorova <jusual@mail.ru>,
	Aarushi Mehta <mehta.aaru20@gmail.com>
Subject: Re: [Qemu-devel] [PATCH v4 0/9] Add support for io_uring
Date: Fri, 07 Jun 2019 12:59:54 +0200	[thread overview]
Message-ID: <878sudu0d1.fsf@redhat.com> (raw)
In-Reply-To: <20190603123823.32661-1-mehta.aaru20@gmail.com>

[-- Attachment #1: Type: text/plain, Size: 2788 bytes --]


Aarushi Mehta <mehta.aaru20@gmail.com> writes:

> This patch series adds support for the newly developed io_uring Linux AIO
> interface. Linux io_uring is faster than Linux's AIO asynchronous I/O code,
> offers efficient buffered asynchronous I/O support, the ability to do I/O
> without performing a system call via polled I/O, and other efficiency enhancements.
>
> Testing it requires a host kernel (5.1+) and the liburing library.
> Use the option -drive aio=io_uring to enable it.
>
> v4:
> - Add error handling
> - Add trace events
> - Remove aio submission based code
>
> v3:
> - Fix major errors in io_uring (sorry)
> - Option now enumerates for CONFIG_LINUX_IO_URING
> - pkg config support added
>
> Aarushi Mehta (9):
>   configure: permit use of io_uring
>   qapi/block-core: add option for io_uring
>   block/block: add BDRV flag for io_uring
>   block/io_uring: implements interfaces for io_uring
>   stubs: add stubs for io_uring interface
>   util/async: add aio interfaces for io_uring
>   blockdev: accept io_uring as option
>   block/file-posix.c: extend to use io_uring
>   block: add trace events for io_uring
>
>  MAINTAINERS             |   8 +
>  block/Makefile.objs     |   3 +
>  block/file-posix.c      |  85 +++++++++--
>  block/io_uring.c        | 325 ++++++++++++++++++++++++++++++++++++++++
>  block/trace-events      |   8 +
>  blockdev.c              |   4 +-
>  configure               |  27 ++++
>  include/block/aio.h     |  16 +-
>  include/block/block.h   |   1 +
>  include/block/raw-aio.h |  12 ++
>  qapi/block-core.json    |   4 +-
>  stubs/Makefile.objs     |   1 +
>  stubs/io_uring.c        |  32 ++++
>  util/async.c            |  36 +++++
>  14 files changed, 543 insertions(+), 19 deletions(-)
>  create mode 100644 block/io_uring.c
>  create mode 100644 stubs/io_uring.c

Hi Aarushi,

I gave this version of the patchset a try, and found that IO hangs when
the device is assigned to an IOThread. Sometimes is able to serve a few
requests getting through the Guest OS boot process, to hang the moment
you try generate some IO on the device, while others it hangs when Linux
tries to read the partitions from the device.

I'm starting QEMU this way:

./x86_64-softmmu/qemu-system-x86_64 -enable-kvm -name rhel80,debug-threads=on -m 2g -smp 4 -object iothread,id=iothread0 -blockdev node-name=rhel80,driver=qcow2,file.driver=file,file.filename=/home/VirtualMachines/rhel80.qcow2 -device virtio-blk,drive=rhel80 -serial tcp::6667,server,nowait -qmp tcp::6668,server,nowait -nographic -net user,hostfwd=tcp::6666-:22 -net nic,model=virtio -device virtio-rng -drive file=/dev/nullb0,format=raw,cache=none,aio=io_uring,if=none,id=test -device virtio-blk,drive=test,iothread=iothread0

Could you please take a look at this issue?

Thanks,
Sergio.

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 832 bytes --]

  parent reply	other threads:[~2019-06-07 12:24 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-06-03 12:38 [Qemu-devel] [PATCH v4 0/9] Add support for io_uring Aarushi Mehta
2019-06-03 12:38 ` [Qemu-devel] [PATCH v4 1/9] configure: permit use of io_uring Aarushi Mehta
2019-06-06 11:47   ` [Qemu-devel] [Qemu-block] " Maxim Levitsky
2019-06-03 12:38 ` [Qemu-devel] [PATCH v4 2/9] qapi/block-core: add option for io_uring Aarushi Mehta
2019-06-05  5:58   ` Markus Armbruster
2019-06-06 11:49     ` [Qemu-devel] [Qemu-block] " Maxim Levitsky
2019-06-07 12:25     ` [Qemu-devel] " Stefan Hajnoczi
2019-06-03 12:38 ` [Qemu-devel] [PATCH v4 3/9] block/block: add BDRV flag " Aarushi Mehta
2019-06-06 11:52   ` [Qemu-devel] [Qemu-block] " Maxim Levitsky
2019-06-03 12:38 ` [Qemu-devel] [PATCH v4 4/9] block/io_uring: implements interfaces " Aarushi Mehta
2019-06-07 13:45   ` Stefan Hajnoczi
2019-06-03 12:38 ` [Qemu-devel] [PATCH v4 5/9] stubs: add stubs for io_uring interface Aarushi Mehta
2019-06-03 12:38 ` [Qemu-devel] [PATCH v4 6/9] util/async: add aio interfaces for io_uring Aarushi Mehta
2019-06-03 12:38 ` [Qemu-devel] [PATCH v4 7/9] blockdev: accept io_uring as option Aarushi Mehta
2019-06-03 12:38 ` [Qemu-devel] [PATCH v4 8/9] block/file-posix.c: extend to use io_uring Aarushi Mehta
2019-06-03 12:38 ` [Qemu-devel] [PATCH v4 9/9] block: add trace events for io_uring Aarushi Mehta
2019-06-07 10:59 ` Sergio Lopez [this message]
2019-06-07 13:46   ` [Qemu-devel] [PATCH v4 0/9] Add support " Stefan Hajnoczi
2019-06-07 14:10   ` Stefan Hajnoczi
2019-06-07 14:17     ` Sergio Lopez

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=878sudu0d1.fsf@redhat.com \
    --to=slp@redhat.com \
    --cc=armbru@redhat.com \
    --cc=fam@euphon.net \
    --cc=jusual@mail.ru \
    --cc=kwolf@redhat.com \
    --cc=mehta.aaru20@gmail.com \
    --cc=mreitz@redhat.com \
    --cc=pbonzini@redhat.com \
    --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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).