[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v2 00/45] Block job improvements for 1.3
From: |
Kevin Wolf |
Subject: |
Re: [Qemu-devel] [PATCH v2 00/45] Block job improvements for 1.3 |
Date: |
Thu, 27 Sep 2012 16:05:55 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:13.0) Gecko/20120605 Thunderbird/13.0 |
Am 26.09.2012 17:56, schrieb Paolo Bonzini:
> Hi all, this is the resubmission of my block job patches, originally
> meant for 1.2. This still does not include a persistent dirty bitmap,
> which I hope to post in October.
>
> The patches are organized as follows:
>
> 01-13 preparatory work for block job errors, including support for
> pausing and resuming jobs
>
> 14-18 introduce block job errors, and add support in block-stream
Completed review of patches 1-18 now. Do you think it would make sense
to split them off and do a v3 while the review goes on for the rest of
the series? Dealing with huge series is hard for me as a reviewer, and
probably for you as an author as well.
> 19-25 preparatory work for block mirroring: new commands/concepts
> and creating new functions out of existing code.
>
> 26-33 introduce a simple version of mirroring. The initial patch
> add the mirroring logic, followed by the ability to switch to
> the destination of migration and to handle errors during the job.
> All these changes come with testcases. Removing the ability to
> query the target file is the main change from v1.
We can probably make a similar cut at patch 33 if necessary.
> 34-41 These patches introduce the first optimizations, namely supporting
> an arbitrary granularity for the dirty bitmap. The current default,
> 1M, is too coarse to let the job converge quickly and in almost
> real-time. These patches reimplement the block device dirty bitmap
> to allow efficient iteration, and add cluster copy-on-write logic.
> Cluster copy-on-write is needed because management will want to
> start the copy before the backing file is in place in the destination;
> if mirroring takes care of copy-on-write, BDRV_O_NO_BACKING can be
> used even if the granularity is smaller than the cluster size.
>
> 42-45 A second round optimizations, replacing serialized read-write
> operations with multiple asynchronous I/O operations. The various
> in-flight operations can be of arbitrary size. The initial copy
> will end up reading large chunks sequentially (10M by default),
> while subsequent passes can mimic more closely the guest's I/O
> patterns.
Kevin
- Re: [Qemu-devel] [PATCH v2 15/45] stream: add on-error argument, (continued)
- [Qemu-devel] [PATCH v2 30/45] iostatus: forward block_job_iostatus_reset to block job, Paolo Bonzini, 2012/09/26
- [Qemu-devel] [PATCH v2 31/45] mirror: add support for on-source-error/on-target-error, Paolo Bonzini, 2012/09/26
- [Qemu-devel] [PATCH v2 29/45] qemu-iotests: add mirroring test case, Paolo Bonzini, 2012/09/26
- [Qemu-devel] [PATCH v2 25/45] block: introduce BLOCK_JOB_READY event, Paolo Bonzini, 2012/09/26
- [Qemu-devel] [PATCH v2 40/45] block: allow customizing the granularity of the dirty bitmap, Paolo Bonzini, 2012/09/26
- [Qemu-devel] [PATCH v2 33/45] qemu-iotests: add testcases for mirroring on-source-error/on-target-error, Paolo Bonzini, 2012/09/26
- Re: [Qemu-devel] [PATCH v2 00/45] Block job improvements for 1.3,
Kevin Wolf <=