Il 04/09/2013 14:35, Stefan Hajnoczi ha scritto:
> Changing from 512 KB to 64 KB can affect performance.  8 times as many
> iops may be issued to copy data.
> 
> Also, the image's cluster size should really be taken into account.
> Otherwise additional inefficiency will be suffered when we populate a
> 128 KB cluster with a COMMIT_BUFFER_SECTORS (64 KB) write only to
> overwrite the remaining part in the next loop iteration.
> 
> This can be solved by setting dirty bitmap granularity to cluster size
> or 64 KB minimum *and* finding continuous runs of dirty bits so larger
> I/Os can be performed by the main loop (up to 512 KB in one request).

At this point, you're basically reinventing the algorithms in
block/mirror.c (even more than this patch is already doing :)).

I wonder if commit-to-active should be internally a separate kind of
job, implemented in block/mirror.c instead of block/commit.c.

Paolo

Reply via email to