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 1D3B6C83F1A for ; Mon, 21 Jul 2025 15:17:07 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id B427C6B0093; Mon, 21 Jul 2025 11:17:06 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id B19C66B0095; Mon, 21 Jul 2025 11:17:06 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id A570D6B0096; Mon, 21 Jul 2025 11:17:06 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id 9498D6B0093 for ; Mon, 21 Jul 2025 11:17:06 -0400 (EDT) Received: from smtpin24.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 4AFFC112BB6 for ; Mon, 21 Jul 2025 15:17:06 +0000 (UTC) X-FDA: 83688624852.24.A82A1EB Received: from mail-pl1-f201.google.com (mail-pl1-f201.google.com [209.85.214.201]) by imf30.hostedemail.com (Postfix) with ESMTP id 705AA80015 for ; Mon, 21 Jul 2025 15:17:04 +0000 (UTC) Authentication-Results: imf30.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=XKir9YOu; spf=pass (imf30.hostedemail.com: domain of 371l-aAYKCOYaMIVRKOWWOTM.KWUTQVcf-UUSdIKS.WZO@flex--seanjc.bounces.google.com designates 209.85.214.201 as permitted sender) smtp.mailfrom=371l-aAYKCOYaMIVRKOWWOTM.KWUTQVcf-UUSdIKS.WZO@flex--seanjc.bounces.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=1753111024; 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=eZhvDkWg2vIcqb5h1LaFmsKpUFQK58z+6ZtJpc5qCi4=; b=nQjJ3BtX0QTd8wN4ye7f2dLEfyFP+XBUmnm/LCso3TYPIaA8bQBuY9P0oMAQI7tseAt3hz WQco7FIfImcdcRdZ1r24oDBfkXuGU8Y/ZKiIz2rMP5wIlX9RrQMe0fxuDVqqsp9B6jd4ee eqN63PuIVe5H4lUAGhyBtPnaL/dy40c= ARC-Authentication-Results: i=1; imf30.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=XKir9YOu; spf=pass (imf30.hostedemail.com: domain of 371l-aAYKCOYaMIVRKOWWOTM.KWUTQVcf-UUSdIKS.WZO@flex--seanjc.bounces.google.com designates 209.85.214.201 as permitted sender) smtp.mailfrom=371l-aAYKCOYaMIVRKOWWOTM.KWUTQVcf-UUSdIKS.WZO@flex--seanjc.bounces.google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1753111024; a=rsa-sha256; cv=none; b=FgID7eWx3c0c3dNxPWn5jJ1OhQTQswzQxwc5zMb7d0LfjAL506lWtEwtNAbhh3BWD7tM8i uUAYHiESOXUFaqFy3NvjieBtAxvrvSL1FnGtO1JU14WtEiYB8lns5c1+u3FNryPs3K2vwb Jijl8GUFUV6zj5A55eNqTGV9tqli91o= Received: by mail-pl1-f201.google.com with SMTP id d9443c01a7336-23827190886so47593605ad.3 for ; Mon, 21 Jul 2025 08:17:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1753111023; x=1753715823; darn=kvack.org; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:from:to:cc:subject:date:message-id:reply-to; bh=eZhvDkWg2vIcqb5h1LaFmsKpUFQK58z+6ZtJpc5qCi4=; b=XKir9YOuVW0eGJq1m6WhyoPyzIVQ5a4d197D74ecW4g0buIOqSiOg8A+2GzEdLKIBL JnanlR85j8oxfsfENt18KO+kXQr/1+mreg1DuqfK1T55HQoNYdNrHjiVTNwHUAfS2VRa RDakzN+55T2ELBHQd3FgPMczAD5+iRWhK+Viupj74eeMxJyh/Nfq+V1SHlbsmH/5imaf gfDiLkqzQKrRftGcl8wDXUnzH8GBOpOdS7ki5aAs5GAnbF75iHC0EBJ4Yv2seRRf48QD uRHj5NT3fWXEf/PzZxcADxLPWcqh/c7PlUrkbV62s7l/wiUPKL7fbgv7Xkkp/dk12ANV BnRQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1753111023; x=1753715823; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=eZhvDkWg2vIcqb5h1LaFmsKpUFQK58z+6ZtJpc5qCi4=; b=ikQdSH50/9scsbcAxLXEa4WqINdbMXAlm/Bj88ZTa8UHHyU1vqeu9kyLuBxTc8WjhD yD29wexAbZaX6Q8Dyt081m0ep7Ztm0HcuWqgh83CJKsWLFL9wrIfxj2ZCIqGRJjBMBOL w3g9taBnOsxfPyvEmYqduQTnUUOWtChBIPxnDiVm1UJ8B57JMMHU7ikERegm4zLeEoRX cJ3cDycqXk8xGxOmmKWgLOmj3Zi5rczsBAwKFufgy9LEHPbrntGo/vFoXyNtrsZYLqDs IzAlaZclVKoDesD5fXdK45Tfc9nyYeXV7/HjIvZX+RM8KrAHMvW9T3RMI7wUNO7iD45m hPIQ== X-Forwarded-Encrypted: i=1; AJvYcCUf3V7gVUqZtcw5XhFzQ401sW9OgwyFpXAxuCZQ5ATZ/n2WycYJtBXGiEok9WK+ByCCiUYU99eokg==@kvack.org X-Gm-Message-State: AOJu0Yzod8y1/NDFcsd2wyta1O50YGynxAXaOCetzB8s90BPI05kCCAh tBfyNZzbJ9EHyLvrxxJH6jW3bBx3ixD6SQROldor6vsL9myhD1VzT1yUjyBn+aJpZ1nqntrgEJF hZtT73w== X-Google-Smtp-Source: AGHT+IEOUhgoKLdh5nmcOUZ5zQQMJ+il7P7YZIA288keFVcRXhlFL8IRxQfYB3qVxDFSK42KaGDwW30OvDY= X-Received: from pjbqo12.prod.google.com ([2002:a17:90b:3dcc:b0:31c:2fe4:33ba]) (user=seanjc job=prod-delivery.src-stubby-dispatcher) by 2002:a17:902:d50f:b0:234:eb6:a35d with SMTP id d9443c01a7336-23e2572af2dmr282186375ad.27.1753111023196; Mon, 21 Jul 2025 08:17:03 -0700 (PDT) Date: Mon, 21 Jul 2025 08:17:01 -0700 In-Reply-To: <20250717162731.446579-2-tabba@google.com> Mime-Version: 1.0 References: <20250717162731.446579-1-tabba@google.com> <20250717162731.446579-2-tabba@google.com> Message-ID: Subject: Re: [PATCH v15 01/21] KVM: Rename CONFIG_KVM_PRIVATE_MEM to CONFIG_KVM_GMEM From: Sean Christopherson To: Fuad Tabba Cc: kvm@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-mm@kvack.org, kvmarm@lists.linux.dev, pbonzini@redhat.com, chenhuacai@kernel.org, mpe@ellerman.id.au, anup@brainfault.org, paul.walmsley@sifive.com, palmer@dabbelt.com, aou@eecs.berkeley.edu, viro@zeniv.linux.org.uk, brauner@kernel.org, willy@infradead.org, akpm@linux-foundation.org, xiaoyao.li@intel.com, yilun.xu@intel.com, chao.p.peng@linux.intel.com, jarkko@kernel.org, amoorthy@google.com, dmatlack@google.com, isaku.yamahata@intel.com, mic@digikod.net, vbabka@suse.cz, vannapurve@google.com, ackerleytng@google.com, mail@maciej.szmigiero.name, david@redhat.com, michael.roth@amd.com, wei.w.wang@intel.com, liam.merwick@oracle.com, isaku.yamahata@gmail.com, kirill.shutemov@linux.intel.com, suzuki.poulose@arm.com, steven.price@arm.com, quic_eberman@quicinc.com, quic_mnalajal@quicinc.com, quic_tsoni@quicinc.com, quic_svaddagi@quicinc.com, quic_cvanscha@quicinc.com, quic_pderrin@quicinc.com, quic_pheragu@quicinc.com, catalin.marinas@arm.com, james.morse@arm.com, yuzenghui@huawei.com, oliver.upton@linux.dev, maz@kernel.org, will@kernel.org, qperret@google.com, keirf@google.com, roypat@amazon.co.uk, shuah@kernel.org, hch@infradead.org, jgg@nvidia.com, rientjes@google.com, jhubbard@nvidia.com, fvdl@google.com, hughd@google.com, jthoughton@google.com, peterx@redhat.com, pankaj.gupta@amd.com, ira.weiny@intel.com Content-Type: text/plain; charset="us-ascii" X-Stat-Signature: frgyxpz8p5dg13fqjcuzu7d7f4pwiibg X-Rspamd-Server: rspam01 X-Rspamd-Queue-Id: 705AA80015 X-Rspam-User: X-HE-Tag: 1753111024-995552 X-HE-Meta: U2FsdGVkX1/Jj+wicuZw4h0Z+/PMcmQo9PIO8KGWSaiy5u1M0R0yy7Yg4jKODXvxOBUSNsbYUjxO29jVJKj69AwDOb6v0PMr3BdNhDW1/aLqpcQtNlwFPdgNGSN7tL9mWfoEGWvkr6UjtAg0RQ+Na7l4TKEWA1jBKLOrpIPW9VhiocVmjWDGjC/ndkBAZiKBwlhtIH7VMJqiUPZiSLkeVR5eu7QOuS7UPhjFSu0ToNPywZxy/htlkEXhz1AbV1T51IwtZgv5DiPOw20yOzAzZAI0XD0wX0fnfWYaZWNp83zpIslRGSmiUlJQC1lMjmKcIvRxpkGKv7SG/U2KGUOn8l9U+vqgnz9aAm3iL07y2TfZmeQ2kg3LB5jKV1szM1INnhcTGwjXq5lfbbAr8Wo5H7f54OnDbZCfceLgOob3VD4+iT6TXIA/2DRbr/PcA2FR5lthR5H/3Kms5V19erI0DAkP6u1YhUxDMS16/9EVt2IKuEEkSevfbIVIHxadOkdv/jMg3QehMLxCaPfJGXWfKKrkIvcK/D7sTLsuSWt3ViQC6eF3Ojfb2LY5eafGbE3rY64g5JsxYPMpXA0GxDL4BBTvNcoVIO+CvVjPNvjiFNNKQ2TKlsdxGWAYgg71Pf+/CCSNJ/UugJe4UMBet0PSgR595ns89lAcSJzVrMqI/tJQcqD2FAD4UztxCvUhlM+PkDQxJqHnpzNmFHEIdBkN4cSxc+zWH2iGlJ5b9yaVoTSCUrE7CSeTG7MOWrUXautR/+U+QdCJXWF/EDtSs4lKHBENZF5VSrJ3NUT8ByHLhAOmOiTARIeqjlBEt3W1u3KTshrjQh3EC2vdKPQ4hk+TyR6GamkyED6uKLYjyndwk92+dGHsX13lT6aWlrin6knXiS/k7WznPWbreUguxc2Y1hWdhAspDpW82uata4wVHPlff5vNZnHVSdr+i/+3S87z+25QwpDRVhZXWQg8omY xMstHeVo c7rwYLrjLzxslcU6aZAn5x37X6pysU0l4AA6aLOu0QF7DHqCWxmM5ou1gfonQGy5EdYu+VCQGb33yBtfIB+DJCPLEkENfCIajucz/WWbCVkRO5WZbe6iFuLCf9dGBKCd3iuQbY4sXkcR+4cAp7iRQWBV/uUm9Z9vteBsHBt5ZPi2dljNDq5Nu8hlKt4gQvoOql42CHu3Y6fWWxnBP7ej+jwYH7B19d5mv2WHUuBI5Uxn6aEh9Rxb/qL7AB716ffK6fenBKqIez1QnT06To5cIkEAfSjHhXeF05BbB1PIovpRRzCPuLMpOxErrTURePoRz6wdC3i7lkg2I1JuipLFL9hKRWot0HMc0hSh62wV5XGgDO+WvN69roSygCKi1o4vDPkhxNmRt6F6i8Gvt3XH1lFDq4aE/u3aFutzFIuvon48RLsvj/9ydrygPlaO3hdAO+E4V1q1xvmfgQeR84OvKPzxS6wF58uisAKVAdS4vRGh5ahuIEhB7U2zSWuRV2x4nr/VKKq2sBDL2XV5dOyJispIsUn0k71UeurG1kNEKhk56Qmd9RW0IsWG+OvbQ7fWLYp/hJIYjdNFTlri1BH7EY10b1toGu+OSaJBOW7VXCUKmgnwPxkGbKrcP2C1R2sc1gUNhAs2SIr7X4ezesIuFricucAa2VB0iaVXzrhCVZFHECcOEcFEwqBl574khn0p+nKGvoDu6NoCFFSE= 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 Thu, Jul 17, 2025, Fuad Tabba wrote: > Rename the Kconfig option CONFIG_KVM_PRIVATE_MEM to CONFIG_KVM_GMEM. Please name this CONFIG_KVM_GUEST_MEMFD. I'm a-ok using gmem as the namespace for functions/macros/variables, but there's zero reason to shorten things like Kconfigs. > @@ -719,10 +719,10 @@ static inline int kvm_arch_vcpu_memslots_id(struct kvm_vcpu *vcpu) > #endif > > /* > - * Arch code must define kvm_arch_has_private_mem if support for private memory > - * is enabled. > + * Arch code must define kvm_arch_has_private_mem if support for guest_memfd is > + * enabled. This is undesirable, and the comment is flat out wrong. As evidenced by the lack of a #define in arm64, arch does NOT need to #define kvm_arch_has_private_mem if CONFIG_KVM_GUEST_MEMFD=y. It "works" because the sole caller to kvm_arch_has_private_mem() is guarded by CONFIG_KVM_GENERIC_MEMORY_ATTRIBUTES=y, and that's never selected by arm64. I.e. this needs to key off of CONFIG_KVM_GENERIC_MEMORY_ATTRIBUTES=y, not off of CONFIG_KVM_GUEST_MEMFD=y. And I would just drop the comment altogether at that point, because it's all quite self-explanatory: #ifndef CONFIG_KVM_GENERIC_MEMORY_ATTRIBUTES static inline bool kvm_arch_has_private_mem(struct kvm *kvm) { return false; } #endif > */ > -#if !defined(kvm_arch_has_private_mem) && !IS_ENABLED(CONFIG_KVM_PRIVATE_MEM) > +#if !defined(kvm_arch_has_private_mem) && !IS_ENABLED(CONFIG_KVM_GMEM) > static inline bool kvm_arch_has_private_mem(struct kvm *kvm) > { > return false; > @@ -2527,7 +2527,7 @@ bool kvm_arch_post_set_memory_attributes(struct kvm *kvm, > > static inline bool kvm_mem_is_private(struct kvm *kvm, gfn_t gfn) > { > - return IS_ENABLED(CONFIG_KVM_PRIVATE_MEM) && > + return IS_ENABLED(CONFIG_KVM_GMEM) && And this is equally wrong. The existing code checked CONFIG_KVM_PRIVATE_MEM, because memory obviously can't be private if private memory is unsupported. But that logic chain doesn't work as well for guest_memfd. In a way, this is a weird semantic change, e.g. it changes from "select guest_memfd if private memory is supported" to "allow private memory if guest_memfd is select". The former existed because compiling in support for guest_memfd when it coulnd't possibly be used was wasteful, but even then it was somewhat superfluous. The latter is an arbitrary requirement that probably shouldn't exist, and if we did want to make it a hard requirement, should be expressed in the Kconfig dependency, not here. TL;DR: drop the IS_ENABLED(CONFIG_KVM_GMEM) check.