[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v5 0/5] qcow2: async handling of fragmented io
From: |
Max Reitz |
Subject: |
Re: [PATCH v5 0/5] qcow2: async handling of fragmented io |
Date: |
Fri, 20 Sep 2019 13:10:04 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.8.0 |
On 16.09.19 19:53, Vladimir Sementsov-Ogievskiy wrote:
> Hi all!
>
> Here is an asynchronous scheme for handling fragmented qcow2
> reads and writes. Both qcow2 read and write functions loops through
> sequential portions of data. The series aim it to parallelize these
> loops iterations.
> It improves performance for fragmented qcow2 images, I've tested it
> as described below.
Thanks again, applied to my block branch:
https://git.xanclic.moe/XanClic/qemu/commits/branch/block
> v5: fix 026 and rebase on Max's block branch [perf results not updated]:
>
> 01: new, prepare 026 to not fail
> 03: - drop read_encrypted blkdbg event [Kevin]
> - assert((x & (BDRV_SECTOR_SIZE - 1)) == 0) -> assert(QEMU_IS_ALIGNED(x,
> BDRV_SECTOR_SIZE)) [rebase]
> - full host offset in argument of qcow2_co_decrypt [rebase]
> 04: - substitute remaining qcow2_co_do_pwritev by qcow2_co_pwritev_task in
> comment [Max]
> - full host offset in argument of qcow2_co_encrypt [rebase]
> 05: - Now patch don't affect 026 iotest, so its output is not changed
>
> Rebase changes seems trivial, so, I've kept r-b marks.
(For the record, I didn’t consider them trivial, or I’d’ve applied
Maxim’s series on top of yours. I consider a conflict to be trivially
resolvable only if there is only one way of doing it; but when I
resolved the conflicts myself, I resolved the one in patch 3 differently
from you – I added an offset_in_cluster variable to
qcow2_co_preadv_encrypted(). Sure, it’s still simple and the difference
is minor, but that was exactly where I thought that I can’t consider
this trivial.)
Max
signature.asc
Description: OpenPGP digital signature
- [Qemu-block] [PATCH v5 0/5] qcow2: async handling of fragmented io, Vladimir Sementsov-Ogievskiy, 2019/09/16
- [Qemu-block] [PATCH v5 4/5] block/qcow2: refactor qcow2_co_pwritev_part, Vladimir Sementsov-Ogievskiy, 2019/09/16
- [Qemu-block] [PATCH v5 2/5] block: introduce aio task pool, Vladimir Sementsov-Ogievskiy, 2019/09/16
- [Qemu-block] [PATCH v5 3/5] block/qcow2: refactor qcow2_co_preadv_part, Vladimir Sementsov-Ogievskiy, 2019/09/16
- [Qemu-block] [PATCH v5 1/5] qemu-iotests: ignore leaks on failure paths in 026, Vladimir Sementsov-Ogievskiy, 2019/09/16
- [Qemu-block] [PATCH v5 5/5] block/qcow2: introduce parallel subrequest handling in read and write, Vladimir Sementsov-Ogievskiy, 2019/09/16
- Re: [Qemu-block] [PATCH v5 0/5] qcow2: async handling of fragmented io, Vladimir Sementsov-Ogievskiy, 2019/09/17
- Re: [PATCH v5 0/5] qcow2: async handling of fragmented io,
Max Reitz <=
- Re: [PATCH v5 0/5] qcow2: async handling of fragmented io, Vladimir Sementsov-Ogievskiy, 2019/09/20
- Re: [PATCH v5 0/5] qcow2: async handling of fragmented io, Max Reitz, 2019/09/20
- Re: [PATCH v5 0/5] qcow2: async handling of fragmented io, Vladimir Sementsov-Ogievskiy, 2019/09/20
- Re: [PATCH v5 0/5] qcow2: async handling of fragmented io, Max Reitz, 2019/09/20
- Re: [PATCH v5 0/5] qcow2: async handling of fragmented io, Vladimir Sementsov-Ogievskiy, 2019/09/20
- Re: [PATCH v5 0/5] qcow2: async handling of fragmented io, Max Reitz, 2019/09/20
- Re: [PATCH v5 0/5] qcow2: async handling of fragmented io, Eric Blake, 2019/09/20
- Re: [PATCH v5 0/5] qcow2: async handling of fragmented io, Vladimir Sementsov-Ogievskiy, 2019/09/20