[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-block] [PATCH v2] mirror: double performance of the bulk stage
From: |
Max Reitz |
Subject: |
Re: [Qemu-block] [PATCH v2] mirror: double performance of the bulk stage if the disc is full |
Date: |
Fri, 22 Jul 2016 18:41:24 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.2.0 |
On 14.07.2016 19:19, Vladimir Sementsov-Ogievskiy wrote:
> Mirror can do up to 16 in-flight requests, but actually on full copy
> (the whole source disk is non-zero) in-flight is always 1. This happens
> as the request is not limited in size: the data occupies maximum available
> capacity of s->buf.
>
> The patch limits the size of the request to some artificial constant
> (1 Mb here), which is not that big or small. This effectively enables
> back parallelism in mirror code as it was designed.
>
> The result is important: the time to migrate 10 Gb disk is reduced from
> ~350 sec to 170 sec.
>
> Signed-off-by: Vladimir Sementsov-Ogievskiy <address@hidden>
> Signed-off-by: Denis V. Lunev <address@hidden>
> CC: Stefan Hajnoczi <address@hidden>
> CC: Fam Zheng <address@hidden>
> CC: Kevin Wolf <address@hidden>
> CC: Max Reitz <address@hidden>
> CC: Jeff Cody <address@hidden>
> CC: Eric Blake <address@hidden>
> ---
>
> v2: in case of s->buf_size larger than default use it to limit io_sectors
>
> block/mirror.c | 10 ++++++++--
> 1 file changed, 8 insertions(+), 2 deletions(-)
Reviewed-by: Max Reitz <address@hidden>
I think that this can be considered a bugfix, but strictly speaking it's
a patch for Jeff's tree, so I'm hesitant to take it.
Max
signature.asc
Description: OpenPGP digital signature