From patchwork Tue Aug 7 19:31:21 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alex Williamson X-Patchwork-Id: 954660 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=nongnu.org (client-ip=2001:4830:134:3::11; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=redhat.com Received: from lists.gnu.org (lists.gnu.org [IPv6:2001:4830:134:3::11]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 41lPmX2758z9s4c for ; Wed, 8 Aug 2018 05:32:27 +1000 (AEST) Received: from localhost ([::1]:40548 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fn7iT-0005G0-Kc for incoming@patchwork.ozlabs.org; Tue, 07 Aug 2018 15:32:25 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:44291) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fn7hm-0005Fh-Tp for qemu-devel@nongnu.org; Tue, 07 Aug 2018 15:31:44 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fn7hj-0007y8-Qg for qemu-devel@nongnu.org; Tue, 07 Aug 2018 15:31:42 -0400 Received: from mx1.redhat.com ([209.132.183.28]:58960) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1fn7hj-0007xF-L4 for qemu-devel@nongnu.org; Tue, 07 Aug 2018 15:31:39 -0400 Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.phx2.redhat.com [10.5.11.16]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id B44C5C047B63; Tue, 7 Aug 2018 19:31:38 +0000 (UTC) Received: from gimli.home (ovpn-116-35.phx2.redhat.com [10.3.116.35]) by smtp.corp.redhat.com (Postfix) with ESMTP id 826AD82776; Tue, 7 Aug 2018 19:31:25 +0000 (UTC) From: Alex Williamson To: alex.williamson@redhat.com, qemu-devel@nongnu.org Date: Tue, 7 Aug 2018 13:31:21 -0600 Message-Id: <20180807193125.30378-1-alex.williamson@redhat.com> X-Scanned-By: MIMEDefang 2.79 on 10.5.11.16 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.31]); Tue, 07 Aug 2018 19:31:38 +0000 (UTC) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 209.132.183.28 Subject: [Qemu-devel] [PATCH v3 0/4] Balloon inhibit enhancements, vfio restriction X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Cornelia Huck , david@redhat.com, kvm@vger.kernel.org, peterx@redhat.com, "Michael S. Tsirkin" Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" v3: - Drop "nested" term in commit log (David) - Adopt suggested wording in ccw code (Cornelia) - Explain balloon inhibitor usage in vfio common (Peter) - Fix to call inhibitor prior to re-using existing containers to avoid gap that pinning may have occurred in set container ioctl (self) - Peter, this change is the reason I didn't include your R-b. - Add R-b to patches 1 & 2 v2: - Use atomic ops for balloon inhibit counter (Peter) - Allow endpoint driver opt-in for ballooning, vfio-ccw opt-in by default, vfio-pci opt-in by device option, only allowed for mdev devices, no support added for platform as there are no platform mdev devices. See patch 3/4 for detailed explanation why ballooning and device assignment typically don't mix. If this eventually changes, flags on the iommu info struct or perhaps device info struct can inform us for automatic opt-in. Thanks, Alex Alex Williamson (4): balloon: Allow multiple inhibit users kvm: Use inhibit to prevent ballooning without synchronous mmu vfio: Inhibit ballooning based on group attachment to a container vfio/ccw/pci: Allow devices to opt-in for ballooning accel/kvm/kvm-all.c | 4 +++ balloon.c | 13 ++++++--- hw/vfio/ccw.c | 9 +++++++ hw/vfio/common.c | 51 +++++++++++++++++++++++++++++++++++ hw/vfio/pci.c | 26 +++++++++++++++++- hw/vfio/trace-events | 1 + hw/virtio/virtio-balloon.c | 4 +-- include/hw/vfio/vfio-common.h | 2 ++ 8 files changed, 103 insertions(+), 7 deletions(-)