[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v3 0/6] aio-posix: split poll check from ready handler



On Tue, Dec 07, 2021 at 01:23:30PM +0000, Stefan Hajnoczi wrote:
> 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
> 
> 

Thanks, applied to my block-next tree:
https://gitlab.com/stefanha/qemu/commits/block-next

Stefan

Attachment: signature.asc
Description: PGP signature


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.