From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751494AbdCCG3y (ORCPT ); Fri, 3 Mar 2017 01:29:54 -0500 Received: from mga11.intel.com ([192.55.52.93]:50841 "EHLO mga11.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750975AbdCCG3x (ORCPT ); Fri, 3 Mar 2017 01:29:53 -0500 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.35,235,1484035200"; d="scan'208";a="71114449" From: Wei Wang To: virtio-dev@lists.oasis-open.org, kvm@vger.kernel.org, qemu-devel@nongnu.org, linux-kernel@vger.kernel.org, virtualization@lists.linux-foundation.org, linux-mm@kvack.org Cc: Wei Wang , "Michael S . Tsirkin" , Paolo Bonzini , Cornelia Huck , Amit Shah , Dave Hansen , Andrea Arcangeli , David Hildenbrand , Liang Li Subject: [PATCH v7 kernel 0/5] Extend virtio-balloon for fast (de)inflating & fast live migration Date: Fri, 3 Mar 2017 13:40:25 +0800 Message-Id: <1488519630-89058-1-git-send-email-wei.w.wang@intel.com> X-Mailer: git-send-email 2.7.4 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Take over this work from Liang. This patch series implements two optimizations: 1) transfer pages in chuncks between the guest and host; 1) transfer the guest unused pages to the host so that they can be skipped to migrate in live migration. Please check patch 0003 for more details about optimization 1). For an idle guest with 8GB RAM, optimization 2) can help shorten the total live migration time from 2Sec to about 500ms in 10Gbps network environment. For a guest with quite a lot of page cache and little unused pages, it's possible to let the guest drop its page cache before live migration, this case can benefit from this new feature too. Cc: Michael S. Tsirkin Cc: Paolo Bonzini Cc: Cornelia Huck Cc: Amit Shah Cc: Dave Hansen Cc: Andrea Arcangeli Cc: David Hildenbrand Cc: Liang Li Cc: Wei Wang Liang Li (5): virtio-balloon: rework deflate to add page to a list virtio-balloon: VIRTIO_BALLOON_F_CHUNK_TRANSFER virtio-balloon: implementation of VIRTIO_BALLOON_F_CHUNK_TRANSFER virtio-balloon: define flags and head for host request vq This patch contains two parts: drivers/virtio/virtio_balloon.c | 510 ++++++++++++++++++++++++++++++++---- include/linux/mm.h | 3 + include/uapi/linux/virtio_balloon.h | 34 +++ mm/page_alloc.c | 120 +++++++++ 4 files changed, 620 insertions(+), 47 deletions(-) -- 2.7.4