Received: by 2002:ac0:a5a6:0:0:0:0:0 with SMTP id m35-v6csp2285770imm; Thu, 20 Sep 2018 10:34:39 -0700 (PDT) X-Google-Smtp-Source: ANB0Vdangf+6FrX17G66PSilcM4PH9QihLPJg16RfNT/4cx2PebdgmxlFdmYaWV4B6LK3ywObZvG X-Received: by 2002:a63:4606:: with SMTP id t6-v6mr37711205pga.271.1537464879150; Thu, 20 Sep 2018 10:34:39 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1537464879; cv=none; d=google.com; s=arc-20160816; b=vbOtuiye2Rm8yl5nDkiL94YXrxXIrkg/YEU5baTRRtqe8xex29mQYzgQ9qBi9d1mUN tizC4865Hh0NobfRCK3DKvQtjSGsRLYCzLWwFMcgydzv2+EcTwRDc+crenHxnJ9qv4f5 rT8QkgHoDuWy2vhlRPlYizH9Zw0rWsK/Em31dSKDfSgFp2TPli7t1grgloWKTbh30GW1 6Nty0NxUOZV0NHKMTlq/egPZF8a4/B/WT8vHqrOY3wgqphC3sTA1i3k9eg50KgzTiRrC dq8hyphltQ5aXs4mG0vV0ujed09sc4OzECzdqe1FLmmIrC/cMR0grjG3B7J+V6/mC9uy QghQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:message-id:date:subject:cc :to:from; bh=xQzoQO5W2oX+IozbXrJx+pVdev3tlBnwNPAHg7s+zAo=; b=u2ZZX+qI8VuUVswoa4tllnDP1Gt94eg6sTYyLCoWxmUthayAN0utKfcWSwxaKNfIrw 1D5m/PQkZ0D7VdQ9r6fg2R8qPYOg1caxELp7wouOIS3ysbBAA+oO/4yWnGzB5ZyPoiYC pD6FVkTS28v9/sot2mP/duna+ZH9mXO2rQ2hxUcZ4yOFx4C4Ep3Yn8qIMuvxrZST6olc AcJtL6Q+/jvkSekg/vGOlZOtxEkTNXupDgAXb6Ebb9NBTziCSpc82o9znzv08shOfW8I XAoIAhhxPv+czcyicZDEJwcMHZb7Epi94lJgFA8YDTk6P2GCMQl8aX//DnOFMMvkgcK6 KIsg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=vmware.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id d27-v6si23971568pgd.223.2018.09.20.10.34.20; Thu, 20 Sep 2018 10:34:39 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=vmware.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2388340AbeITXSC (ORCPT + 99 others); Thu, 20 Sep 2018 19:18:02 -0400 Received: from ex13-edg-ou-002.vmware.com ([208.91.0.190]:19626 "EHLO EX13-EDG-OU-002.vmware.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1732601AbeITXQX (ORCPT ); Thu, 20 Sep 2018 19:16:23 -0400 Received: from sc9-mailhost3.vmware.com (10.113.161.73) by EX13-EDG-OU-002.vmware.com (10.113.208.156) with Microsoft SMTP Server id 15.0.1156.6; Thu, 20 Sep 2018 10:31:20 -0700 Received: from sc2-haas01-esx0118.eng.vmware.com (sc2-haas01-esx0118.eng.vmware.com [10.172.44.118]) by sc9-mailhost3.vmware.com (Postfix) with ESMTP id C45B440691; Thu, 20 Sep 2018 10:31:47 -0700 (PDT) From: Nadav Amit To: Greg Kroah-Hartman , Arnd Bergmann CC: , Xavier Deguillard , Nadav Amit , "Michael S. Tsirkin" , Jason Wang , , Subject: [PATCH v2 00/20] vmw_balloon: compaction, shrinker, 64-bit, etc. Date: Thu, 20 Sep 2018 10:30:06 -0700 Message-ID: <20180920173026.141333-1-namit@vmware.com> X-Mailer: git-send-email 2.17.1 MIME-Version: 1.0 Content-Type: text/plain Received-SPF: None (EX13-EDG-OU-002.vmware.com: namit@vmware.com does not designate permitted sender hosts) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This patch-set adds the following enhancements to the VMware balloon driver: 1. Balloon compaction support. 2. Report the number of inflated/deflated ballooned pages through vmstat. 3. Memory shrinker to avoid balloon over-inflation (and OOM). 4. Support VMs with memory limit that is greater than 16TB. 5. Faster and more aggressive inflation. To support compaction we wish to use the existing infrastructure. However, we need to make slight adaptions for it. We add a new list interface to balloon-compaction, which is more generic and efficient, since it does not require as many IRQ save/restore operations. We leave the old interface that is used by the virtio balloon. Big parts of this patch-set are cleanup and documentation. Patches 1-13 simplify the balloon code, document its behavior and allow the balloon code to run concurrently. The support for concurrency is required for compaction and the shrinker interface. For documentation we use the kernel-doc format. We are aware that the balloon interface is not public, but following the kernel-doc format may be useful one day. v1->v2: * Fix build error when THP is off (kbuild) * Fix build error on i386 (kbuild) Cc: Xavier Deguillard Cc: "Michael S. Tsirkin" Cc: Jason Wang Cc: linux-mm@kvack.org Cc: virtualization@lists.linux-foundation.org Nadav Amit (19): vmw_balloon: handle commands in a single function. vmw_balloon: unify commands tracing and stats vmw_balloon: merge send_lock and send_unlock path vmw_balloon: simplifying batch access vmw_balloon: remove sleeping allocations vmw_balloon: change batch/single lock abstractions vmw_balloon: treat all refused pages equally vmw_balloon: rename VMW_BALLOON_2M_SHIFT to VMW_BALLOON_2M_ORDER vmw_balloon: refactor change size from vmballoon_work vmw_balloon: simplify vmballoon_send_get_target() vmw_balloon: stats rework vmw_balloon: rework the inflate and deflate loops vmw_balloon: general style cleanup vmw_balloon: add reset stat mm/balloon_compaction: suppress allocation warnings mm/balloon_compaction: list interfaces vmw_balloon: compaction support vmw_balloon: memory shrinker vmw_balloon: split refused pages Xavier Deguillard (1): vmw_balloon: support 64-bit memory limit drivers/misc/Kconfig | 1 + drivers/misc/vmw_balloon.c | 2196 +++++++++++++++++++--------- include/linux/balloon_compaction.h | 4 + include/uapi/linux/magic.h | 1 + mm/balloon_compaction.c | 142 +- 5 files changed, 1577 insertions(+), 767 deletions(-) -- 2.17.1