From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Li, Liang Z" Subject: RE: [QEMU v2 0/9] Fast (de)inflating & fast live migration Date: Thu, 21 Jul 2016 08:10:31 +0000 Message-ID: References: <1468550849-22172-1-git-send-email-liang.z.li@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 8BIT Cc: "mst@redhat.com" , "pbonzini@redhat.com" , "quintela@redhat.com" , "amit.shah@redhat.com" , "kvm@vger.kernel.org" , "dgilbert@redhat.com" , "thuth@redhat.com" To: "Li, Liang Z" , "qemu-devel@nongnu.org" Return-path: Received: from mga04.intel.com ([192.55.52.120]:54532 "EHLO mga04.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751495AbcGUIKf convert rfc822-to-8bit (ORCPT ); Thu, 21 Jul 2016 04:10:35 -0400 In-Reply-To: <1468550849-22172-1-git-send-email-liang.z.li@intel.com> Content-Language: en-US Sender: kvm-owner@vger.kernel.org List-ID: Ping ... Liang > -----Original Message----- > From: kvm-owner@vger.kernel.org [mailto:kvm-owner@vger.kernel.org] > On Behalf Of Liang Li > Sent: Friday, July 15, 2016 10:47 AM > To: qemu-devel@nongnu.org > Cc: mst@redhat.com; pbonzini@redhat.com; quintela@redhat.com; > amit.shah@redhat.com; kvm@vger.kernel.org; dgilbert@redhat.com; > thuth@redhat.com; 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@vger.kernel.org More majordomo info at > http://vger.kernel.org/majordomo-info.html From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:34224) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bQ945-0002g7-T3 for qemu-devel@nongnu.org; Thu, 21 Jul 2016 04:10:43 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bQ940-0005c7-Jm for qemu-devel@nongnu.org; Thu, 21 Jul 2016 04:10:40 -0400 Received: from mga03.intel.com ([134.134.136.65]:16088) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bQ940-0005bx-71 for qemu-devel@nongnu.org; Thu, 21 Jul 2016 04:10:36 -0400 From: "Li, Liang Z" Date: Thu, 21 Jul 2016 08:10:31 +0000 Message-ID: References: <1468550849-22172-1-git-send-email-liang.z.li@intel.com> In-Reply-To: <1468550849-22172-1-git-send-email-liang.z.li@intel.com> Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Subject: Re: [Qemu-devel] [QEMU v2 0/9] Fast (de)inflating & fast live migration List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: "Li, Liang Z" , "qemu-devel@nongnu.org" Cc: "mst@redhat.com" , "pbonzini@redhat.com" , "quintela@redhat.com" , "amit.shah@redhat.com" , "kvm@vger.kernel.org" , "dgilbert@redhat.com" , "thuth@redhat.com" Ping ... Liang > -----Original Message----- > From: kvm-owner@vger.kernel.org [mailto:kvm-owner@vger.kernel.org] > On Behalf Of Liang Li > Sent: Friday, July 15, 2016 10:47 AM > To: qemu-devel@nongnu.org > Cc: mst@redhat.com; pbonzini@redhat.com; quintela@redhat.com; > amit.shah@redhat.com; kvm@vger.kernel.org; dgilbert@redhat.com; > thuth@redhat.com; Li, Liang Z > Subject: [QEMU v2 0/9] Fast (de)inflating & fast live migration >=20 > 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 spee= d up > the live migration process. We put them together because both of them are > required to change the virtio balloon spec. >=20 > The main idea of speeding up the (de)inflating process is to use bitmap t= o > 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%. >=20 > The idea of speeding up live migration is to skip process guest's free pa= ges in > the first round of data copy, to reduce needless data processing, this ca= n > help to save quite a lot of CPU cycles and network bandwidth. We get gues= t's > free page information through the virt queue of virtio-balloon, and filte= r out > these free pages during live migration. For an idle 8GB guest, this can h= elp to > shorten the total live migration time from 2Sec to about 500ms in the 10G= bps > network environment. >=20 > 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. >=20 > 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 >=20 > 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(-) >=20 > -- > 1.9.1 >=20 > -- > To unsubscribe from this list: send the line "unsubscribe kvm" in the bod= y of > a message to majordomo@vger.kernel.org More majordomo info at > http://vger.kernel.org/majordomo-info.html