qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v3 0/6] aio-posix: split poll check from ready handler
@ 2021-12-07 13:23 Stefan Hajnoczi
  2021-12-07 13:23 ` [PATCH v3 1/6] " Stefan Hajnoczi
                   ` (7 more replies)
  0 siblings, 8 replies; 9+ messages in thread
From: Stefan Hajnoczi @ 2021-12-07 13:23 UTC (permalink / raw)
  To: qemu-devel
  Cc: Fam Zheng, Stefan Hajnoczi, Michael S. Tsirkin,
	Stefano Stabellini, qemu-block, Juan Quintela, Paul Durrant,
	Anthony Perard, xen-devel, Philippe Mathieu-Daudé,
	Stefano Garzarella, Peter Lieven, Stefan Weil, Julia Suvorova,
	Dr. David Alan Gilbert, Ronnie Sahlberg, Aarushi Mehta,
	Kevin Wolf, Daniel P. Berrangé, Richard W.M. Jones, Coiby Xu,
	Hanna Reitz, Paolo Bonzini

v3:
- Fixed FUSE export aio_set_fd_handler() call that I missed and double-checked
  for any other missing call sites using Coccinelle [Rich]
v2:
- Cleaned up unused return values in nvme and virtio-blk [Stefano]
- Documented try_poll_mode() ready_list argument [Stefano]
- Unified virtio-blk/scsi dataplane and non-dataplane virtqueue handlers [Stefano]

The first patch improves AioContext's adaptive polling execution time
measurement. This can result in better performance because the algorithm makes
better decisions about when to poll versus when to fall back to file descriptor
monitoring.

The remaining patches unify the virtio-blk and virtio-scsi dataplane and
non-dataplane virtqueue handlers. This became possible because the dataplane
handler function now has the same function signature as the non-dataplane
handler function. Stefano Garzarella prompted me to make this refactoring.

Stefan Hajnoczi (6):
  aio-posix: split poll check from ready handler
  virtio: get rid of VirtIOHandleAIOOutput
  virtio-blk: drop unused virtio_blk_handle_vq() return value
  virtio-scsi: prepare virtio_scsi_handle_cmd for dataplane
  virtio: use ->handle_output() instead of ->handle_aio_output()
  virtio: unify dataplane and non-dataplane ->handle_output()

 include/block/aio.h             |  4 +-
 include/hw/virtio/virtio-blk.h  |  2 +-
 include/hw/virtio/virtio.h      |  5 +-
 util/aio-posix.h                |  1 +
 block/curl.c                    | 11 ++--
 block/export/fuse.c             |  4 +-
 block/io_uring.c                | 19 ++++---
 block/iscsi.c                   |  4 +-
 block/linux-aio.c               | 16 +++---
 block/nfs.c                     |  6 +--
 block/nvme.c                    | 51 ++++++++++++-------
 block/ssh.c                     |  4 +-
 block/win32-aio.c               |  4 +-
 hw/block/dataplane/virtio-blk.c | 16 +-----
 hw/block/virtio-blk.c           | 14 ++----
 hw/scsi/virtio-scsi-dataplane.c | 60 +++-------------------
 hw/scsi/virtio-scsi.c           |  2 +-
 hw/virtio/virtio.c              | 73 +++++++++------------------
 hw/xen/xen-bus.c                |  6 +--
 io/channel-command.c            |  6 ++-
 io/channel-file.c               |  3 +-
 io/channel-socket.c             |  3 +-
 migration/rdma.c                |  8 +--
 tests/unit/test-aio.c           |  4 +-
 util/aio-posix.c                | 89 +++++++++++++++++++++++++--------
 util/aio-win32.c                |  4 +-
 util/async.c                    | 10 +++-
 util/main-loop.c                |  4 +-
 util/qemu-coroutine-io.c        |  5 +-
 util/vhost-user-server.c        | 11 ++--
 30 files changed, 219 insertions(+), 230 deletions(-)

-- 
2.33.1




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

end of thread, other threads:[~2021-12-13 16:03 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-12-07 13:23 [PATCH v3 0/6] aio-posix: split poll check from ready handler Stefan Hajnoczi
2021-12-07 13:23 ` [PATCH v3 1/6] " Stefan Hajnoczi
2021-12-07 13:23 ` [PATCH v3 2/6] virtio: get rid of VirtIOHandleAIOOutput Stefan Hajnoczi
2021-12-07 13:23 ` [PATCH v3 3/6] virtio-blk: drop unused virtio_blk_handle_vq() return value Stefan Hajnoczi
2021-12-07 13:23 ` [PATCH v3 4/6] virtio-scsi: prepare virtio_scsi_handle_cmd for dataplane Stefan Hajnoczi
2021-12-07 13:23 ` [PATCH v3 5/6] virtio: use ->handle_output() instead of ->handle_aio_output() Stefan Hajnoczi
2021-12-07 13:23 ` [PATCH v3 6/6] virtio: unify dataplane and non-dataplane ->handle_output() Stefan Hajnoczi
2021-12-09 10:16 ` [PATCH v3 0/6] aio-posix: split poll check from ready handler Stefano Garzarella
2021-12-13 16:01 ` Stefan Hajnoczi

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).