* [Qemu-devel] [PATCH] migration/block: Avoid involve into blk_drain too frequently @ 2017-03-14 7:57 jemmy858585 2017-03-14 15:12 ` Eric Blake 0 siblings, 1 reply; 7+ messages in thread From: jemmy858585 @ 2017-03-14 7:57 UTC (permalink / raw) To: stefanha, famz, quintela, dgilbert, qemu-block, qemu-devel; +Cc: Lidong Chen From: Lidong Chen <jemmy858585@gmail.com> Increase bmds->cur_dirty after submit io, so reduce the frequency involve into blk_drain, and improve the performance obviously when block migration. Signed-off-by: Lidong Chen <jemmy858585@gmail.com> --- migration/block.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/migration/block.c b/migration/block.c index 6741228..f059cca 100644 --- a/migration/block.c +++ b/migration/block.c @@ -576,6 +576,8 @@ static int mig_save_device_dirty(QEMUFile *f, BlkMigDevState *bmds, } bdrv_reset_dirty_bitmap(bmds->dirty_bitmap, sector, nr_sectors); + sector += nr_sectors; + bmds->cur_dirty = sector; break; } sector += BDRV_SECTORS_PER_DIRTY_CHUNK; -- 1.8.3.1 ^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [Qemu-devel] [PATCH] migration/block: Avoid involve into blk_drain too frequently 2017-03-14 7:57 [Qemu-devel] [PATCH] migration/block: Avoid involve into blk_drain too frequently jemmy858585 @ 2017-03-14 15:12 ` Eric Blake 2017-03-14 15:15 ` Eric Blake 2017-03-15 2:28 ` 858585 jemmy 0 siblings, 2 replies; 7+ messages in thread From: Eric Blake @ 2017-03-14 15:12 UTC (permalink / raw) To: jemmy858585, stefanha, famz, quintela, dgilbert, qemu-block, qemu-devel [-- Attachment #1: Type: text/plain, Size: 1313 bytes --] On 03/14/2017 02:57 AM, jemmy858585@gmail.com wrote: > From: Lidong Chen <jemmy858585@gmail.com> > > Increase bmds->cur_dirty after submit io, so reduce the frequency involve into blk_drain, and improve the performance obviously when block migration. Long line; please wrap your commit messages, preferably around 70 bytes since 'git log' displays them indented, and it is still nice to read them in an 80-column window. Do you have benchmark numbers to prove the impact of this patch, or even a formula for reproducing the benchmark testing? > > Signed-off-by: Lidong Chen <jemmy858585@gmail.com> > --- > migration/block.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/migration/block.c b/migration/block.c > index 6741228..f059cca 100644 > --- a/migration/block.c > +++ b/migration/block.c > @@ -576,6 +576,8 @@ static int mig_save_device_dirty(QEMUFile *f, BlkMigDevState *bmds, > } > > bdrv_reset_dirty_bitmap(bmds->dirty_bitmap, sector, nr_sectors); > + sector += nr_sectors; > + bmds->cur_dirty = sector; > break; > } > sector += BDRV_SECTORS_PER_DIRTY_CHUNK; > -- Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org [-- Attachment #2: OpenPGP digital signature --] [-- Type: application/pgp-signature, Size: 604 bytes --] ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Qemu-devel] [PATCH] migration/block: Avoid involve into blk_drain too frequently 2017-03-14 15:12 ` Eric Blake @ 2017-03-14 15:15 ` Eric Blake 2017-03-15 2:34 ` 858585 jemmy 2017-03-15 2:28 ` 858585 jemmy 1 sibling, 1 reply; 7+ messages in thread From: Eric Blake @ 2017-03-14 15:15 UTC (permalink / raw) To: jemmy858585, stefanha, famz, quintela, dgilbert, qemu-block, qemu-devel [-- Attachment #1: Type: text/plain, Size: 650 bytes --] On 03/14/2017 10:12 AM, Eric Blake wrote: > On 03/14/2017 02:57 AM, jemmy858585@gmail.com wrote: >> From: Lidong Chen <jemmy858585@gmail.com> >> >> Increase bmds->cur_dirty after submit io, so reduce the frequency involve into blk_drain, and improve the performance obviously when block migration. > > Long line; please wrap your commit messages, preferably around 70 bytes > since 'git log' displays them indented, and it is still nice to read > them in an 80-column window. Also, in the subject: s/involve into/invoking/ -- Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org [-- Attachment #2: OpenPGP digital signature --] [-- Type: application/pgp-signature, Size: 604 bytes --] ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Qemu-devel] [PATCH] migration/block: Avoid involve into blk_drain too frequently 2017-03-14 15:15 ` Eric Blake @ 2017-03-15 2:34 ` 858585 jemmy 0 siblings, 0 replies; 7+ messages in thread From: 858585 jemmy @ 2017-03-15 2:34 UTC (permalink / raw) To: Eric Blake; +Cc: stefanha, famz, quintela, dgilbert, qemu-block, qemu-devel On Tue, Mar 14, 2017 at 11:15 PM, Eric Blake <eblake@redhat.com> wrote: > > On 03/14/2017 10:12 AM, Eric Blake wrote: > > On 03/14/2017 02:57 AM, jemmy858585@gmail.com wrote: > >> From: Lidong Chen <jemmy858585@gmail.com> > >> > >> Increase bmds->cur_dirty after submit io, so reduce the frequency involve into blk_drain, and improve the performance obviously when block migration. > > > > Long line; please wrap your commit messages, preferably around 70 bytes > > since 'git log' displays them indented, and it is still nice to read > > them in an 80-column window. > > Also, in the subject: > > s/involve into/invoking/ thanks for you suggestion. this is the first time i commit a patch for qemu, i will send a new version. > > -- > Eric Blake eblake redhat com +1-919-301-3266 > Libvirt virtualization library http://libvirt.org > ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Qemu-devel] [PATCH] migration/block: Avoid involve into blk_drain too frequently 2017-03-14 15:12 ` Eric Blake 2017-03-14 15:15 ` Eric Blake @ 2017-03-15 2:28 ` 858585 jemmy 2017-03-15 2:57 ` Fam Zheng 1 sibling, 1 reply; 7+ messages in thread From: 858585 jemmy @ 2017-03-15 2:28 UTC (permalink / raw) To: Eric Blake; +Cc: stefanha, famz, quintela, dgilbert, qemu-block, qemu-devel On Tue, Mar 14, 2017 at 11:12 PM, Eric Blake <eblake@redhat.com> wrote: > On 03/14/2017 02:57 AM, jemmy858585@gmail.com wrote: >> From: Lidong Chen <jemmy858585@gmail.com> >> >> Increase bmds->cur_dirty after submit io, so reduce the frequency involve into blk_drain, and improve the performance obviously when block migration. > > Long line; please wrap your commit messages, preferably around 70 bytes > since 'git log' displays them indented, and it is still nice to read > them in an 80-column window. > > Do you have benchmark numbers to prove the impact of this patch, or even > a formula for reproducing the benchmark testing? > the test result is base on current git master version. the xml of guest os: <disk type='file' device='disk'> <driver name='qemu' type='qcow2' cache='none'/> <source file='/instanceimage/ab3ba978-c7a3-463d-a1d0-48649fb7df00/ab3ba978-c7a3-463d-a1d0-48649fb7df00_vda.qcow2'/> <target dev='vda' bus='virtio'/> <alias name='virtio-disk0'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/> </disk> <disk type='block' device='disk'> <driver name='qemu' type='raw' cache='none' io='native'/> <source dev='/dev/domu/ab3ba978-c7a3-463d-a1d0-48649fb7df00_vdb'/> <target dev='vdb' bus='virtio'/> <alias name='virtio-disk1'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/> </disk> i used fio running in guest os. and the context of fio configuration is below: [randwrite] ioengine=libaio iodepth=128 bs=512 filename=/dev/vdb rw=randwrite direct=1 when the vm is not durning migrate, the iops is about 10.7K. then i used this command to start migrate virtual machine. virsh migrate-setspeed ab3ba978-c7a3-463d-a1d0-48649fb7df00 1000 virsh migrate --live ab3ba978-c7a3-463d-a1d0-48649fb7df00 --copy-storage-inc qemu+ssh://10.59.163.38/system before apply this patch, during the block dirty save phase, the iops in guest os is only 4.0K, the migrate speed is about 505856 rsec/s. after apply this patch, during the block dirty save phase, the iops in guest os is is 9.5K. the migrate speed is about 855756 rsec/s. with old version qemu(1.2.0), call bdrv_drain_all function to wait aio complete, before apply this patch, the result is worse. because the main thread is block by bdrv_drain_all for a long time, the vnc is becoming response very slowly. this bug is only obvious when set the migrate speed with a big number. >> >> Signed-off-by: Lidong Chen <jemmy858585@gmail.com> >> --- >> migration/block.c | 2 ++ >> 1 file changed, 2 insertions(+) >> >> diff --git a/migration/block.c b/migration/block.c >> index 6741228..f059cca 100644 >> --- a/migration/block.c >> +++ b/migration/block.c >> @@ -576,6 +576,8 @@ static int mig_save_device_dirty(QEMUFile *f, BlkMigDevState *bmds, >> } >> >> bdrv_reset_dirty_bitmap(bmds->dirty_bitmap, sector, nr_sectors); >> + sector += nr_sectors; >> + bmds->cur_dirty = sector; >> break; >> } >> sector += BDRV_SECTORS_PER_DIRTY_CHUNK; >> > > -- > Eric Blake eblake redhat com +1-919-301-3266 > Libvirt virtualization library http://libvirt.org > ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Qemu-devel] [PATCH] migration/block: Avoid involve into blk_drain too frequently 2017-03-15 2:28 ` 858585 jemmy @ 2017-03-15 2:57 ` Fam Zheng 2017-03-15 3:11 ` 858585 jemmy 0 siblings, 1 reply; 7+ messages in thread From: Fam Zheng @ 2017-03-15 2:57 UTC (permalink / raw) To: 858585 jemmy Cc: Eric Blake, stefanha, quintela, dgilbert, qemu-block, qemu-devel On Wed, 03/15 10:28, 858585 jemmy wrote: > On Tue, Mar 14, 2017 at 11:12 PM, Eric Blake <eblake@redhat.com> wrote: > > On 03/14/2017 02:57 AM, jemmy858585@gmail.com wrote: > >> From: Lidong Chen <jemmy858585@gmail.com> > >> > >> Increase bmds->cur_dirty after submit io, so reduce the frequency involve into blk_drain, and improve the performance obviously when block migration. > > > > Long line; please wrap your commit messages, preferably around 70 bytes > > since 'git log' displays them indented, and it is still nice to read > > them in an 80-column window. > > > > Do you have benchmark numbers to prove the impact of this patch, or even > > a formula for reproducing the benchmark testing? > > > > the test result is base on current git master version. > > the xml of guest os: > <disk type='file' device='disk'> > <driver name='qemu' type='qcow2' cache='none'/> > <source file='/instanceimage/ab3ba978-c7a3-463d-a1d0-48649fb7df00/ab3ba978-c7a3-463d-a1d0-48649fb7df00_vda.qcow2'/> > <target dev='vda' bus='virtio'/> > <alias name='virtio-disk0'/> > <address type='pci' domain='0x0000' bus='0x00' slot='0x04' > function='0x0'/> > </disk> > <disk type='block' device='disk'> > <driver name='qemu' type='raw' cache='none' io='native'/> > <source dev='/dev/domu/ab3ba978-c7a3-463d-a1d0-48649fb7df00_vdb'/> > <target dev='vdb' bus='virtio'/> > <alias name='virtio-disk1'/> > <address type='pci' domain='0x0000' bus='0x00' slot='0x05' > function='0x0'/> > </disk> > > i used fio running in guest os. and the context of fio configuration is below: > [randwrite] > ioengine=libaio > iodepth=128 > bs=512 > filename=/dev/vdb > rw=randwrite > direct=1 > > when the vm is not durning migrate, the iops is about 10.7K. > > then i used this command to start migrate virtual machine. > > virsh migrate-setspeed ab3ba978-c7a3-463d-a1d0-48649fb7df00 1000 > virsh migrate --live ab3ba978-c7a3-463d-a1d0-48649fb7df00 > --copy-storage-inc qemu+ssh://10.59.163.38/system > > before apply this patch, during the block dirty save phase, the iops > in guest os is only 4.0K, the migrate speed is about 505856 rsec/s. > after apply this patch, during the block dirty save phase, the iops in > guest os is is 9.5K. the migrate speed is about 855756 rsec/s. Thanks, please include these numbers in the commit message too. Fam ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Qemu-devel] [PATCH] migration/block: Avoid involve into blk_drain too frequently 2017-03-15 2:57 ` Fam Zheng @ 2017-03-15 3:11 ` 858585 jemmy 0 siblings, 0 replies; 7+ messages in thread From: 858585 jemmy @ 2017-03-15 3:11 UTC (permalink / raw) To: Fam Zheng Cc: Eric Blake, stefanha, quintela, dgilbert, qemu-block, qemu-devel On Wed, Mar 15, 2017 at 10:57 AM, Fam Zheng <famz@redhat.com> wrote: > On Wed, 03/15 10:28, 858585 jemmy wrote: >> On Tue, Mar 14, 2017 at 11:12 PM, Eric Blake <eblake@redhat.com> wrote: >> > On 03/14/2017 02:57 AM, jemmy858585@gmail.com wrote: >> >> From: Lidong Chen <jemmy858585@gmail.com> >> >> >> >> Increase bmds->cur_dirty after submit io, so reduce the frequency involve into blk_drain, and improve the performance obviously when block migration. >> > >> > Long line; please wrap your commit messages, preferably around 70 bytes >> > since 'git log' displays them indented, and it is still nice to read >> > them in an 80-column window. >> > >> > Do you have benchmark numbers to prove the impact of this patch, or even >> > a formula for reproducing the benchmark testing? >> > >> >> the test result is base on current git master version. >> >> the xml of guest os: >> <disk type='file' device='disk'> >> <driver name='qemu' type='qcow2' cache='none'/> >> <source file='/instanceimage/ab3ba978-c7a3-463d-a1d0-48649fb7df00/ab3ba978-c7a3-463d-a1d0-48649fb7df00_vda.qcow2'/> >> <target dev='vda' bus='virtio'/> >> <alias name='virtio-disk0'/> >> <address type='pci' domain='0x0000' bus='0x00' slot='0x04' >> function='0x0'/> >> </disk> >> <disk type='block' device='disk'> >> <driver name='qemu' type='raw' cache='none' io='native'/> >> <source dev='/dev/domu/ab3ba978-c7a3-463d-a1d0-48649fb7df00_vdb'/> >> <target dev='vdb' bus='virtio'/> >> <alias name='virtio-disk1'/> >> <address type='pci' domain='0x0000' bus='0x00' slot='0x05' >> function='0x0'/> >> </disk> >> >> i used fio running in guest os. and the context of fio configuration is below: >> [randwrite] >> ioengine=libaio >> iodepth=128 >> bs=512 >> filename=/dev/vdb >> rw=randwrite >> direct=1 >> >> when the vm is not durning migrate, the iops is about 10.7K. >> >> then i used this command to start migrate virtual machine. >> >> virsh migrate-setspeed ab3ba978-c7a3-463d-a1d0-48649fb7df00 1000 >> virsh migrate --live ab3ba978-c7a3-463d-a1d0-48649fb7df00 >> --copy-storage-inc qemu+ssh://10.59.163.38/system >> >> before apply this patch, during the block dirty save phase, the iops >> in guest os is only 4.0K, the migrate speed is about 505856 rsec/s. >> after apply this patch, during the block dirty save phase, the iops in >> guest os is is 9.5K. the migrate speed is about 855756 rsec/s. > > Thanks, please include these numbers in the commit message too. OK, i will. > > Fam ^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2017-03-15 3:11 UTC | newest] Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2017-03-14 7:57 [Qemu-devel] [PATCH] migration/block: Avoid involve into blk_drain too frequently jemmy858585 2017-03-14 15:12 ` Eric Blake 2017-03-14 15:15 ` Eric Blake 2017-03-15 2:34 ` 858585 jemmy 2017-03-15 2:28 ` 858585 jemmy 2017-03-15 2:57 ` Fam Zheng 2017-03-15 3:11 ` 858585 jemmy
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.