Re: [Qemu-devel] qcow2 performance plan

2010-09-14 Thread Anthony Liguori
On 09/14/2010 12:23 PM, Avi Kivity wrote: On 09/14/2010 07:08 PM, Anthony Liguori wrote: Yes, I hit this too. So without this patch, it does serialize all allocating writes? Yes, but my patch is not enough as it turns out. When dealing with O_DIRECT, we have to handle RMW on our own which

Re: [Qemu-devel] qcow2 performance plan

2010-09-14 Thread Avi Kivity
On 09/14/2010 07:08 PM, Anthony Liguori wrote: Yes, I hit this too. So without this patch, it does serialize all allocating writes? Yes, but my patch is not enough as it turns out. When dealing with O_DIRECT, we have to handle RMW on our own which means we need to serialize access to the s

Re: [Qemu-devel] qcow2 performance plan

2010-09-14 Thread Anthony Liguori
On 09/14/2010 11:28 AM, Avi Kivity wrote: On 09/14/2010 06:16 PM, Anthony Liguori wrote: Right, it should only freeze if the L2 table needs to be allocated, not if it only needs to be updated. IOW, diff --git a/block/qed.c b/block/qed.c index 4c4e7a2..0357c03 100644 --- a/block/qed.c +++ b

Re: [Qemu-devel] qcow2 performance plan

2010-09-14 Thread Avi Kivity
On 09/14/2010 06:16 PM, Anthony Liguori wrote: Right, it should only freeze if the L2 table needs to be allocated, not if it only needs to be updated. IOW, diff --git a/block/qed.c b/block/qed.c index 4c4e7a2..0357c03 100644 --- a/block/qed.c +++ b/block/qed.c @@ -948,7 +948,7 @@ static voi

Re: [Qemu-devel] qcow2 performance plan

2010-09-14 Thread Anthony Liguori
On 09/14/2010 11:03 AM, Stefan Hajnoczi wrote: On Tue, Sep 14, 2010 at 4:47 PM, Kevin Wolf wrote: Am 14.09.2010 17:20, schrieb Anthony Liguori: On 09/14/2010 10:11 AM, Kevin Wolf wrote: Am 14.09.2010 15:43, schrieb Anthony Liguori: Hi Avi, On 09/14/2010 08:07 AM

Re: [Qemu-devel] qcow2 performance plan

2010-09-14 Thread Avi Kivity
On 09/14/2010 05:25 PM, Anthony Liguori wrote: The incremental version of this is hard for me to understand. bdrv_read() may be implemented in terms of bdrv_aio_read() + qemu_io_wait() which dispatches bottom halves. This is done through a shared resource so if you allow bdrv_read() to be

Re: [Qemu-devel] qcow2 performance plan

2010-09-14 Thread Stefan Hajnoczi
On Tue, Sep 14, 2010 at 4:47 PM, Kevin Wolf wrote: > Am 14.09.2010 17:20, schrieb Anthony Liguori: >> On 09/14/2010 10:11 AM, Kevin Wolf wrote: >>> Am 14.09.2010 15:43, schrieb Anthony Liguori: >>> Hi Avi, On 09/14/2010 08:07 AM, Avi Kivity wrote: >   Here's a draft of a pl

Re: [Qemu-devel] qcow2 performance plan

2010-09-14 Thread Kevin Wolf
Am 14.09.2010 17:20, schrieb Anthony Liguori: > On 09/14/2010 10:11 AM, Kevin Wolf wrote: >> Am 14.09.2010 15:43, schrieb Anthony Liguori: >> >>> Hi Avi, >>> >>> On 09/14/2010 08:07 AM, Avi Kivity wrote: >>> Here's a draft of a plan that should improve qcow2 performance. It's

Re: [Qemu-devel] qcow2 performance plan

2010-09-14 Thread Anthony Liguori
On 09/14/2010 08:07 AM, Avi Kivity wrote: Here's a draft of a plan that should improve qcow2 performance. It's written in wiki syntax for eventual upload to wiki.qemu.org; lines starting with # are numbered lists, not comments. = Basics = At the minimum level, no operation should block the

Re: [Qemu-devel] qcow2 performance plan

2010-09-14 Thread Anthony Liguori
On 09/14/2010 10:11 AM, Kevin Wolf wrote: Am 14.09.2010 15:43, schrieb Anthony Liguori: Hi Avi, On 09/14/2010 08:07 AM, Avi Kivity wrote: Here's a draft of a plan that should improve qcow2 performance. It's written in wiki syntax for eventual upload to wiki.qemu.org; lines startin

Re: [Qemu-devel] qcow2 performance plan

2010-09-14 Thread Kevin Wolf
Am 14.09.2010 15:43, schrieb Anthony Liguori: > Hi Avi, > > On 09/14/2010 08:07 AM, Avi Kivity wrote: >> Here's a draft of a plan that should improve qcow2 performance. It's >> written in wiki syntax for eventual upload to wiki.qemu.org; lines >> starting with # are numbered lists, not comment

Re: [Qemu-devel] qcow2 performance plan

2010-09-14 Thread Anthony Liguori
Hi Avi, On 09/14/2010 08:07 AM, Avi Kivity wrote: Here's a draft of a plan that should improve qcow2 performance. It's written in wiki syntax for eventual upload to wiki.qemu.org; lines starting with # are numbered lists, not comments. Thanks for putting this together. I think it's really

[Qemu-devel] qcow2 performance plan

2010-09-14 Thread Avi Kivity
Here's a draft of a plan that should improve qcow2 performance. It's written in wiki syntax for eventual upload to wiki.qemu.org; lines starting with # are numbered lists, not comments. = Basics = At the minimum level, no operation should block the main thread. This could be done in two way