Re: [Qemu-devel] [PATCH 11/20] mirror: support more than one in-flight AIO operation

2013-01-14 Thread Paolo Bonzini
Il 14/01/2013 13:56, Stefan Hajnoczi ha scritto: >> > +/* Wait for I/O to this cluster (from a previous iteration) to be >> > done. */ >> > +while (test_bit(cluster_num, s->in_flight_bitmap)) { >> > +trace_mirror_yield_in_flight(s, sector_num, s->in_flight); >> > +qemu_cor

Re: [Qemu-devel] [PATCH 11/20] mirror: support more than one in-flight AIO operation

2013-01-14 Thread Stefan Hajnoczi
On Wed, Dec 12, 2012 at 02:46:30PM +0100, Paolo Bonzini wrote: > @@ -137,21 +163,58 @@ static void coroutine_fn > mirror_iteration(MirrorBlockJob *s) > bdrv_round_to_clusters(s->target, > sector_num, nb_sectors_chunk, > §or_n

Re: [Qemu-devel] [PATCH 11/20] mirror: support more than one in-flight AIO operation

2012-12-14 Thread Eric Blake
On 12/12/2012 06:46 AM, Paolo Bonzini wrote: > With AIO support in place, we can start copying more than one chunk > in parallel. This patch introduces the required infrastructure for > this: the buffer is split into multiple granularity-sized chunks, > and there is a free list to access them. >

[Qemu-devel] [PATCH 11/20] mirror: support more than one in-flight AIO operation

2012-12-12 Thread Paolo Bonzini
With AIO support in place, we can start copying more than one chunk in parallel. This patch introduces the required infrastructure for this: the buffer is split into multiple granularity-sized chunks, and there is a free list to access them. Because of copy-on-write, a single operation may alread