From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 857E5C3DA5D for ; Thu, 25 Jul 2024 18:24:47 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 16F9C6B0082; Thu, 25 Jul 2024 14:24:47 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 1208D6B0083; Thu, 25 Jul 2024 14:24:47 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id F023D6B0085; Thu, 25 Jul 2024 14:24:46 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id CC5F66B0082 for ; Thu, 25 Jul 2024 14:24:46 -0400 (EDT) Received: from smtpin10.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 58F2EA57BC for ; Thu, 25 Jul 2024 18:24:46 +0000 (UTC) X-FDA: 82379100972.10.34C4586 Received: from mail-pl1-f172.google.com (mail-pl1-f172.google.com [209.85.214.172]) by imf19.hostedemail.com (Postfix) with ESMTP id 6CE141A000C for ; Thu, 25 Jul 2024 18:24:44 +0000 (UTC) Authentication-Results: imf19.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b="2/b44mIj"; spf=pass (imf19.hostedemail.com: domain of dmatlack@google.com designates 209.85.214.172 as permitted sender) smtp.mailfrom=dmatlack@google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1721931835; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=Se8gRYY5LIzNKXtdqfpnU7+bApyeWuI8Q5DVjozYskA=; b=vl3DDiMlq8MEwhYPKo/rT/Wj2SB9cskKbqdqcioIPcYLhIbxMTJY4qkdPCizwSjmaP7n6P mXsXnoQfc0AER+1QZWa2u8v5OleDFfVpBZGy6N0PR3oFwKjtU4sty2+5VSdCrI9wB9/u3V 4RS3Cfck4SiiwFOPvCIAKbbM3tmC0tM= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1721931835; a=rsa-sha256; cv=none; b=oh7ZkyxxxFfEo9tTfhbHm3TvUWCu+YX2jfn14Wxi89MiXlZqKIE/2/OVaKpA9Zx+XOBqYY jZFEYFmv4riD8C+ZKOMwIGUTmBQUkNIPXuUu89q3yRbc+5dBCJY//TiCG1ogPwLszVxRbQ BEg5KvFHXRGD94tSYd6Rqk6/DkxpG4Y= ARC-Authentication-Results: i=1; imf19.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b="2/b44mIj"; spf=pass (imf19.hostedemail.com: domain of dmatlack@google.com designates 209.85.214.172 as permitted sender) smtp.mailfrom=dmatlack@google.com; dmarc=pass (policy=reject) header.from=google.com Received: by mail-pl1-f172.google.com with SMTP id d9443c01a7336-1fc658b6b2eso11269065ad.0 for ; Thu, 25 Jul 2024 11:24:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1721931883; x=1722536683; darn=kvack.org; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=Se8gRYY5LIzNKXtdqfpnU7+bApyeWuI8Q5DVjozYskA=; b=2/b44mIjPT30y8ariXCoMYm6nYV81auo8evoZOw+yVQpyoAhYxZ5lCrmKDyFUXNcWt GiRVjyHJwEnnqxzAtfeoAca43kBejoDAPFhmjDQAMz7m2/Bk8RtK/A7UwzaxKC7q6FGh 8n62VkpNCgRPSYyFOaQ7hPQ8ga0DuGgJfV0WZgkAtrI+tMvoC7kXg7mk/9BvD5HLj+wi V5fQVKLzIMRvfn18bt2ot/X7yQSCr6VBjhNTBXD60/p+bpEVqGVD8CrMPFWvmRdLnTz3 0/FYCxT270KzDlyBQRcFFyX3cuNoWD/G5dwc5/1uEDwKwCST+TV+p8MTYQIlR9aFxx1R zviQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1721931883; x=1722536683; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=Se8gRYY5LIzNKXtdqfpnU7+bApyeWuI8Q5DVjozYskA=; b=B11EG7rT2aDOSnUmFpnWltQcVHp/9EUaGUWQqFxk3AuOFvEthoPhpYxE4HZeJ4p4XS 2n42p5ns6aO/XdUabt6spVNbIu/flWbKi9Bx3OkPeMffDmwchY3uL1O4Rw4KsMITWHw7 pMhHFegqqiaQSJ+NIx+GVwY7ZNP7umAq1lYVwBJIQjdd9E0cE/qeMtW30SbunUkzh9o+ XrUcOODfcES5WsIKOXCcL+bm7BHOeRPy2YkkFQdSv+kkC/9YFi2kxV8jKraXVhndIC0v VOZoS7u1wYd5CWLcSU80Kmz1gLRksbho9r3vdrvue4pL5EBvpYkzJ8TD9GydM4Rknc4S eS6A== X-Forwarded-Encrypted: i=1; AJvYcCWQUj+QoYIjdIFXE1a4Z42SnK4o4wBVNqc94t+3oqRpXjGDwF/vuV1QhnjkSwJEkI9DofEeBfJb4ldadtRRRXua4OU= X-Gm-Message-State: AOJu0Yyu1aMgSe1bTrp6xPDPmHneeEuPOM4C2Rj5BxHK1sqYNJnzy7Kh XM7OK8k10O9Fq577CgouKF/K6a3WTbxHxt1vDGCJDgPMwHHesmrYH87v8VYPvw== X-Google-Smtp-Source: AGHT+IGk5VWe3MPnS2h4842sbCO2M3IxnHPFyqsvxia4EgfDcheEN/25uzJzuwNsHLA2SFZv0xA2tg== X-Received: by 2002:a17:902:da91:b0:1fc:5b68:ffb8 with SMTP id d9443c01a7336-1fed38ba92fmr44676985ad.30.1721931882617; Thu, 25 Jul 2024 11:24:42 -0700 (PDT) Received: from google.com (61.139.125.34.bc.googleusercontent.com. [34.125.139.61]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-1fed7fa4045sm17298215ad.258.2024.07.25.11.24.41 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 25 Jul 2024 11:24:42 -0700 (PDT) Date: Thu, 25 Jul 2024 11:24:37 -0700 From: David Matlack To: James Houghton Cc: Andrew Morton , Paolo Bonzini , Ankit Agrawal , Axel Rasmussen , Catalin Marinas , David Rientjes , James Morse , Jason Gunthorpe , Jonathan Corbet , Marc Zyngier , Oliver Upton , Raghavendra Rao Ananta , Ryan Roberts , Sean Christopherson , Shaoqin Huang , Suzuki K Poulose , Wei Xu , Will Deacon , Yu Zhao , Zenghui Yu , kvmarm@lists.linux.dev, kvm@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org Subject: Re: [PATCH v6 09/11] KVM: x86: Implement fast_only versions of kvm_{test_,}age_gfn Message-ID: References: <20240724011037.3671523-1-jthoughton@google.com> <20240724011037.3671523-10-jthoughton@google.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20240724011037.3671523-10-jthoughton@google.com> X-Rspam-User: X-Rspamd-Server: rspam04 X-Rspamd-Queue-Id: 6CE141A000C X-Stat-Signature: yq9bjywk94dgixeocigeoggnnrmb48cu X-HE-Tag: 1721931884-886074 X-HE-Meta: U2FsdGVkX19pBpzVsXQqLLs+qVgy753PFeDVebU88E+cGxnCskTLV4eLeEaHcvqHhS5tm1DN4Hwyxq2T7ZO1PA/caNdmnMbRA0lJndy0Nc0o2phRd3X7WWKYax1yfu1yxDFiqGlnOws9DtiSK6Tw8okrlmwnSzdgQY/XSwunpmFCwieak4hben7GO76fJfv8Vni5PAlWIPzCZTMyI3/DrdaoU9FubwBWrVEgZaUAFoZHCiV7V/Ze5MVian8tB07z9wbnGMDPXhqiZymBI58U0qD9kUBxGK2y520yaV9XbE5X0vMVqKp6zDSBLBUtaYISKg/TlBLjQEE3Sf6SB/7978S+WLyFEV7KotZC+s1NAD+NxiU6UE50L4OU2/EILh/csllluQo9E7tMfBXl6gn9+OdF7GBy+uiD5E9NiY8lYxuoEFtfOzE91MGk/8cA2YBk5qmvDfoKOt3BlqSimYvom3oViJncZlR/PL50b7+w9T3jKF87Tz96e04B0Inzv8jZ7K7bjSz2IgAZ4wsiZ5lLaWiwKdwme0zvlEc2u3aztm/Z8G0OsMO9JfG2ZnG4Wf9e/801FR9Gw+uee+Rk0spCD1Ptx2yqjMnXs6Vn7ZUg9XqJhl6R3r1P1VIcuFkhIgdA6LKo3ybPJKES8PFQPHRileWeXUstD8P5UP0gZfix6QBjaovGfLE8SKAbgbnI56gd/5NJ4b1QfUD/6x7WS09vmtrDEGpQQXqXG+i8wQS+d85d1Rtj7rBQAwoRHOveFIw0vx4aNWPBmZn96m5B44IdqL061Cei7/Nt9EQ4xBaAlFRxRvVeYjk6PZP6Beo8JMqH0y2MK1O1g3Z+oQ1VlRNtVwXxyoEbP8H7ocw9kY6SYpDYIqjINsVH6dnprb1OJlBkf6lpFYpLVQUbak0cfI3RSzrwj/cZyiaqy7qtnSN+iAUokKzzBGaqyIENypk9LG6120iIxnrHbnKZ6pm1Wc5 stYS4laM YzRaaDL/H4VyK/bQPytGqSLkbBC1TLZ2ne4Ns3bt50NPpWRMj8wZhV273zLKQjBtVGNTMwEcOILrHBuZ979NsJ/QqZSA11OS9Iw1n5hfw8T5tPd6qeYu3njdyIwTV9WT5WOFJA53UmD3dLzN+gjKQd67J0mdV3DMAQcTIGUMIaRQCqP73RDvnQxAyDxuZLHoVlf38+Hn6EXnANTwsVVkwa3f3GGw5wjOFcio4O3GP9cbCygWEBZe2AmhOc4AwenAaGJuioIqovuK0lWS55BCxujx9hsHtUQQ9ZwVkpptJFHpMSF8PUfVoqwWVJxidQ9CqfjzolPPpOMUIne9ubVKZjTpBvMNtrZ4KXEHm44cNz7jMkZXKqp2fU1wn7A== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: On 2024-07-24 01:10 AM, James Houghton wrote: > These fast-only versions simply ignore the shadow MMU. We can locklessly > handle the shadow MMU later. > > Set HAVE_KVM_MMU_NOTIFIER_YOUNG_FAST_ONLY for X86_64 only, as that is > the only case where the TDP MMU might be used. Without the TDP MMU, the > fast-only notifiers will always be no-ops. It would be ideal not to > report has_fast_only if !tdp_mmu_enabled, but tdp_mmu_enabled can be > changed at any time. tdp_mmu_enabled is a read-only KVM parameter. And even when it was writable, it was still fixed for a given VM at VM creation time. Would it make more sense to have kvm_arch_post_init_vm() set has_fast_aging if the architecture supports it. And for x86 that means iff tdp_mmu_enabled. > > Signed-off-by: James Houghton > --- > arch/x86/kvm/Kconfig | 1 + > arch/x86/kvm/mmu/mmu.c | 4 ++-- > 2 files changed, 3 insertions(+), 2 deletions(-) > > diff --git a/arch/x86/kvm/Kconfig b/arch/x86/kvm/Kconfig > index 6ac43074c5e9..ed9049cf1255 100644 > --- a/arch/x86/kvm/Kconfig > +++ b/arch/x86/kvm/Kconfig > @@ -24,6 +24,7 @@ config KVM > select KVM_COMMON > select KVM_GENERIC_MMU_NOTIFIER > select KVM_MMU_NOTIFIER_YOUNG_LOCKLESS > + select HAVE_KVM_MMU_NOTIFIER_YOUNG_FAST_ONLY if X86_64 > select HAVE_KVM_IRQCHIP > select HAVE_KVM_PFNCACHE > select HAVE_KVM_DIRTY_RING_TSO > diff --git a/arch/x86/kvm/mmu/mmu.c b/arch/x86/kvm/mmu/mmu.c > index 919d59385f89..3c6c9442434a 100644 > --- a/arch/x86/kvm/mmu/mmu.c > +++ b/arch/x86/kvm/mmu/mmu.c > @@ -1641,7 +1641,7 @@ bool kvm_age_gfn(struct kvm *kvm, struct kvm_gfn_range *range) > if (tdp_mmu_enabled) > young |= kvm_tdp_mmu_age_gfn_range(kvm, range); > > - if (kvm_has_shadow_mmu_sptes(kvm)) { > + if (!range->arg.fast_only && kvm_has_shadow_mmu_sptes(kvm)) { > write_lock(&kvm->mmu_lock); > young = kvm_handle_gfn_range(kvm, range, kvm_age_rmap); > write_unlock(&kvm->mmu_lock); > @@ -1657,7 +1657,7 @@ bool kvm_test_age_gfn(struct kvm *kvm, struct kvm_gfn_range *range) > if (tdp_mmu_enabled) > young |= kvm_tdp_mmu_test_age_gfn(kvm, range); > > - if (!young && kvm_has_shadow_mmu_sptes(kvm)) { > + if (!young && !range->arg.fast_only && kvm_has_shadow_mmu_sptes(kvm)) { > write_lock(&kvm->mmu_lock); > young = kvm_handle_gfn_range(kvm, range, kvm_test_age_rmap); > write_unlock(&kvm->mmu_lock); > -- > 2.46.0.rc1.232.g9752f9e123-goog >