[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-block] [Qemu-devel] [PATCH v2 00/12] block: qiov_offset parame
From: |
Stefan Hajnoczi |
Subject: |
Re: [Qemu-block] [Qemu-devel] [PATCH v2 00/12] block: qiov_offset parameter for io |
Date: |
Fri, 28 Jun 2019 09:43:24 +0100 |
User-agent: |
Mutt/1.12.0 (2019-05-25) |
On Tue, Jun 04, 2019 at 07:15:02PM +0300, Vladimir Sementsov-Ogievskiy wrote:
> Hi all!
>
> Here is new parameter qiov_offset for io path, to avoid
> a lot of places with same pattern of creating local_qiov or hd_qiov
> variables.
>
> These series also includes my
> "[Qemu-devel] [PATCH 0/2] block/io: refactor padding"
> with some changes [described in 01 and 03 emails]
>
> Vladimir Sementsov-Ogievskiy (12):
> util/iov: introduce qemu_iovec_init_extended
> util/iov: improve qemu_iovec_is_zero
> block/io: refactor padding
> block: define .*_part io handlers in BlockDriver
> block/io: bdrv_co_do_copy_on_readv: use and support qiov_offset
> block/io: bdrv_co_do_copy_on_readv: lazy allocation
> block/io: bdrv_aligned_preadv: use and support qiov_offset
> block/io: bdrv_aligned_pwritev: use and support qiov_offset
> block/io: introduce bdrv_co_p{read,write}v_part
> block/qcow2: refactor qcow2_co_preadv to use buffer-based io
> block/qcow2: implement .bdrv_co_preadv_part
> block/qcow2: implement .bdrv_co_pwritev(_compressed)_part
>
> block/qcow2.h | 1 +
> include/block/block_int.h | 21 ++
> include/qemu/iov.h | 10 +-
> block/backup.c | 2 +-
> block/io.c | 532 ++++++++++++++++++++++----------------
> block/qcow2-cluster.c | 14 +-
> block/qcow2.c | 131 +++++-----
> qemu-img.c | 4 +-
> util/iov.c | 153 +++++++++--
> 9 files changed, 559 insertions(+), 309 deletions(-)
>
> --
> 2.18.0
>
>
I don't see a significant advantage after taking into account more
complex code (e.g. additional block driver interfaces) and the risk of
introducing new bugs. A measurable performance improvement would make
this refactoring more attractive. Still:
Acked-by: Stefan Hajnoczi <address@hidden>
signature.asc
Description: PGP signature
- [Qemu-block] [PATCH v2 06/12] block/io: bdrv_co_do_copy_on_readv: lazy allocation, (continued)
- [Qemu-block] [PATCH v2 06/12] block/io: bdrv_co_do_copy_on_readv: lazy allocation, Vladimir Sementsov-Ogievskiy, 2019/06/04
- [Qemu-block] [PATCH v2 01/12] util/iov: introduce qemu_iovec_init_extended, Vladimir Sementsov-Ogievskiy, 2019/06/04
- [Qemu-block] [PATCH v2 02/12] util/iov: improve qemu_iovec_is_zero, Vladimir Sementsov-Ogievskiy, 2019/06/04
- [Qemu-block] [PATCH v2 05/12] block/io: bdrv_co_do_copy_on_readv: use and support qiov_offset, Vladimir Sementsov-Ogievskiy, 2019/06/04
- [Qemu-block] [PATCH v2 11/12] block/qcow2: implement .bdrv_co_preadv_part, Vladimir Sementsov-Ogievskiy, 2019/06/04
- [Qemu-block] [PATCH v2 04/12] block: define .*_part io handlers in BlockDriver, Vladimir Sementsov-Ogievskiy, 2019/06/04
- [Qemu-block] [PATCH v2 03/12] block/io: refactor padding, Vladimir Sementsov-Ogievskiy, 2019/06/04
- [Qemu-block] [PATCH v2 09/12] block/io: introduce bdrv_co_p{read, write}v_part, Vladimir Sementsov-Ogievskiy, 2019/06/04
- Re: [Qemu-block] [Qemu-devel] [PATCH v2 00/12] block: qiov_offset parameter for io, no-reply, 2019/06/05
- Re: [Qemu-block] [Qemu-devel] [PATCH v2 00/12] block: qiov_offset parameter for io,
Stefan Hajnoczi <=