RE: [QEMU v2 0/9] Fast (de)inflating & fast live migration

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Ping ...

Liang

> -----Original Message-----
> From: kvm-owner@xxxxxxxxxxxxxxx [mailto:kvm-owner@xxxxxxxxxxxxxxx]
> On Behalf Of Liang Li
> Sent: Friday, July 15, 2016 10:47 AM
> To: qemu-devel@xxxxxxxxxx
> Cc: mst@xxxxxxxxxx; pbonzini@xxxxxxxxxx; quintela@xxxxxxxxxx;
> amit.shah@xxxxxxxxxx; kvm@xxxxxxxxxxxxxxx; dgilbert@xxxxxxxxxx;
> thuth@xxxxxxxxxx; Li, Liang Z
> Subject: [QEMU v2 0/9] Fast (de)inflating & fast live migration
> 
> This patch set intends to do two optimizations, one is to speed up the
> (de)inflating process of virtio balloon, and another one which is to speed up
> the live migration process. We put them together because both of them are
> required to change the virtio balloon spec.
> 
> The main idea of speeding up the (de)inflating process is to use bitmap to
> send the page information to host instead of the PFNs, to reduce the
> overhead of virtio data transmission, address translation and madvise(). This
> can help to improve the performance by about 85%.
> 
> The idea of speeding up live migration is to skip process guest's free pages in
> the first round of data copy, to reduce needless data processing, this can
> help to save quite a lot of CPU cycles and network bandwidth. We get guest's
> free page information through the virt queue of virtio-balloon, and filter out
> these free pages during live migration. For an idle 8GB guest, this can help to
> shorten the total live migration time from 2Sec to about 500ms in the 10Gbps
> network environment.
> 
> Changes from v1 to v2:
>     * Abandon the patch for dropping page cache.
>     * Get a struct from vq instead of separate variables.
>     * Use two separate APIs to request free pages and query the status.
>     * Changed the virtio balloon interface.
>     * Addressed some of the comments of v1.
> 
> Liang Li (9):
>   virtio-balloon: Remove needless precompiled directive
>   virtio-balloon: update linux head file
>   virtio-balloon: speed up inflating & deflating process
>   virtio-balloon: update linux head file for new feature
>   balloon: get free page info from guest
>   balloon: migrate vq elem to destination
>   bitmap: Add a new bitmap_move function
>   kvm: Add two new arch specific functions
>   migration: skip free pages during live migration
> 
>  balloon.c                                       |  47 +++-
>  hw/virtio/virtio-balloon.c                      | 304 ++++++++++++++++++++++--
>  include/hw/virtio/virtio-balloon.h              |  18 +-
>  include/qemu/bitmap.h                           |  13 +
>  include/standard-headers/linux/virtio_balloon.h |  41 ++++
>  include/sysemu/balloon.h                        |  18 +-
>  include/sysemu/kvm.h                            |  18 ++
>  migration/ram.c                                 |  86 +++++++
>  target-arm/kvm.c                                |  14 ++
>  target-i386/kvm.c                               |  37 +++
>  target-mips/kvm.c                               |  14 ++
>  target-ppc/kvm.c                                |  14 ++
>  target-s390x/kvm.c                              |  14 ++
>  13 files changed, 608 insertions(+), 30 deletions(-)
> 
> --
> 1.9.1
> 
> --
> To unsubscribe from this list: send the line "unsubscribe kvm" in the body of
> a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at
> http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux