From patchwork Wed Aug 25 16:18:14 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alexandru Elisei X-Patchwork-Id: 12458371 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-17.5 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id CDC10C4338F for ; Wed, 25 Aug 2021 16:47:46 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 98B2F60F25 for ; Wed, 25 Aug 2021 16:47:46 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org 98B2F60F25 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=arm.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-Id:Date:Subject:To:From:Reply-To:Cc:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=4gbK5ID4JYPXm+l7+/7oJb/Mi3UN972HYiV+s8s7LzQ=; b=t1b/I1uW4lYSBz sfa6p399czwsX5K+ThuzqHD2w7NQtFw9oINeU8albAb5w/GDg8S/mi5C6NOekh2uH1q5E3xr7xpgb QTloThKKhUpOoMlWl6s1efMagFdJqnXuaRaGNQJy+4NXGl0S8+H1LuOVDsCidxuFBrU0AlXnYT6v6 UC69gYo4u6oJ1dAuDmyj6vIocjScY5DEp1byoBBzT2JHViW0aUZcPUfgwn3bVbXuD0tThHrplaRRc plDJmqTiznuJPITMSfbXY9VRPYwWzmO4stFJkzZ3nuK9Cbx19psJHyuH6/tE3cCN/WFXDpSm33aJQ ObjTWkuJUS1MDt5l4SeQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1mIw1x-007u83-3C; Wed, 25 Aug 2021 16:45:37 +0000 Received: from foss.arm.com ([217.140.110.172]) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1mIvbR-007gnT-Rz for linux-arm-kernel@lists.infradead.org; Wed, 25 Aug 2021 16:18:15 +0000 Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id ABECD1042; Wed, 25 Aug 2021 09:18:13 -0700 (PDT) Received: from monolith.cable.virginm.net (unknown [172.31.20.19]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 5B7E43F66F; Wed, 25 Aug 2021 09:18:12 -0700 (PDT) From: Alexandru Elisei To: maz@kernel.org, james.morse@arm.com, suzuki.poulose@arm.com, linux-arm-kernel@lists.infradead.org, kvmarm@lists.cs.columbia.edu, will@kernel.org, linux-kernel@vger.kernel.org Subject: [RFC PATCH v4 38/39] KVM: arm64: Make CONFIG_KVM_ARM_SPE depend on !CONFIG_NUMA_BALANCING Date: Wed, 25 Aug 2021 17:18:14 +0100 Message-Id: <20210825161815.266051-39-alexandru.elisei@arm.com> X-Mailer: git-send-email 2.33.0 In-Reply-To: <20210825161815.266051-1-alexandru.elisei@arm.com> References: <20210825161815.266051-1-alexandru.elisei@arm.com> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210825_091814_011038_20BE875A X-CRM114-Status: GOOD ( 13.51 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Automatic NUMA balancing is a performance strategy that Linux uses to reduce the cost associated with memory accesses by having a task use the memory closest to the NUMA node where the task is executing. This is accomplished by triggering periodic page faults to examine the memory location that a task uses, and decide if page migration is necessary. The periodic page faults that drive automatic NUMA balancing are triggered by clearing permissions on certain pages from the task's address space. Clearing the permissions invokes mmu_notifier_invalidate_range_start(), which causes guest memory from being unmapped from stage 2. As a result, SPE can start reporting stage 2 faults, which KVM has no way of handling. Make CONFIG_KVM_ARM_SPE depend on !CONFIG_NUMA_BALANCING to keep SPE usable for a guest. Signed-off-by: Alexandru Elisei --- arch/arm64/kvm/Kconfig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/arm64/kvm/Kconfig b/arch/arm64/kvm/Kconfig index c6ad5a05efb3..1ea34eb29fb4 100644 --- a/arch/arm64/kvm/Kconfig +++ b/arch/arm64/kvm/Kconfig @@ -48,7 +48,7 @@ source "virt/kvm/Kconfig" config KVM_ARM_SPE bool "Virtual Statistical Profiling Extension (SPE) support" - depends on ARM_SPE_PMU=y + depends on ARM_SPE_PMU=y && !NUMA_BALANCING default y help Adds support for Statistical Profiling Extension (SPE) in virtual