All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH v4 0/9] Add support for io_uring
@ 2019-06-03 12:38 Aarushi Mehta
  2019-06-03 12:38 ` [Qemu-devel] [PATCH v4 1/9] configure: permit use of io_uring Aarushi Mehta
                   ` (9 more replies)
  0 siblings, 10 replies; 20+ messages in thread
From: Aarushi Mehta @ 2019-06-03 12:38 UTC (permalink / raw)
  To: qemu-devel
  Cc: Fam Zheng, Kevin Wolf, qemu-block, Markus Armbruster, Max Reitz,
	saket.sinha89, Stefan Hajnoczi, Paolo Bonzini, Julia Suvorova,
	Aarushi Mehta

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

-- 
2.17.1



^ permalink raw reply	[flat|nested] 20+ messages in thread

end of thread, other threads:[~2019-06-07 14:53 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
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 ` [Qemu-devel] [PATCH v4 0/9] Add support " Sergio Lopez
2019-06-07 13:46   ` Stefan Hajnoczi
2019-06-07 14:10   ` Stefan Hajnoczi
2019-06-07 14:17     ` Sergio Lopez

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.