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 4F237C02198 for ; Wed, 12 Feb 2025 09:24:35 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id C7BB028000E; Wed, 12 Feb 2025 04:24:34 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id C04F2280004; Wed, 12 Feb 2025 04:24:34 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id AA5C928000E; Wed, 12 Feb 2025 04:24:34 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id 8B3DA280004 for ; Wed, 12 Feb 2025 04:24:34 -0500 (EST) Received: from smtpin13.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id 266271A15A4 for ; Wed, 12 Feb 2025 09:24:34 +0000 (UTC) X-FDA: 83110757268.13.7CCE9DC Received: from mail-qt1-f175.google.com (mail-qt1-f175.google.com [209.85.160.175]) by imf08.hostedemail.com (Postfix) with ESMTP id 5B67F160004 for ; Wed, 12 Feb 2025 09:24:32 +0000 (UTC) Authentication-Results: imf08.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b="N6/Esucn"; spf=pass (imf08.hostedemail.com: domain of tabba@google.com designates 209.85.160.175 as permitted sender) smtp.mailfrom=tabba@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=1739352272; 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=ygZ+ykZUGXo+ghQO8/iDuCOuoQ9uPQROyXsAFRhKFU0=; b=D7KpN6NR5+9nHRSR2SCKNHhDuP4MOvXq39iIIg2T4hA4tuEfiqGnvaXmTtex0qTDfPGiCg DnTlzxYD6E0kH3e7jxS9d7trd4ZAtI91hwBqti6qvd9siMafvpf/vwDjghtOKiM1soWzNU Wbd6ltzSyFQAyb9nNzkpIwFSb6UBJh4= ARC-Authentication-Results: i=1; imf08.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b="N6/Esucn"; spf=pass (imf08.hostedemail.com: domain of tabba@google.com designates 209.85.160.175 as permitted sender) smtp.mailfrom=tabba@google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1739352272; a=rsa-sha256; cv=none; b=l2XcHIcvNi74qUdfWEcc7HwhNRUSvhLuq2iM5uWwylyDXWIUOec/SzDe443ISkXbLA2teZ 4JVnqrdc9k2Ae4JhlmnqgZClEoUBeD4JYlRBewShnwNvTNiE3PWjy5r8A+e/N+YWmewIQR 7niB/8g2kXwXhXdxnIzs4sTo7vX3oK4= Received: by mail-qt1-f175.google.com with SMTP id d75a77b69052e-4718aea0718so253121cf.0 for ; Wed, 12 Feb 2025 01:24:32 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1739352271; x=1739957071; darn=kvack.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=ygZ+ykZUGXo+ghQO8/iDuCOuoQ9uPQROyXsAFRhKFU0=; b=N6/Esucn65khhsOX1ySrpQsXS1CXN8z/V3/NMx/KNrb1xCRs4fpOXJSR5CjyAA3SAE d2W2WHAW32/1oMmSJn7gko9oIGSenxEGlb0ZV1X+0PdYoq/atvCtUMMpfwiSP9tRDuJ3 2idg/ZuuhbuOXCcWxiIVM4oZphdN9IuDE1wfe2/++51d4U4obN1h5eW8wYPBt4CtxOhP SwPx+Ch6U6Hn+251CT2a6RsH/fXdRp5hLH3Ma4nEVFx+8DozJTOhT5b+HLfKzIk8vAkd UNJMAmF7BTP4d7gA0yJwnE97fYGlMDnDVtlxQKYwX97n+2WyLopt/et8AlCFY4AiFRus TsgQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1739352271; x=1739957071; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=ygZ+ykZUGXo+ghQO8/iDuCOuoQ9uPQROyXsAFRhKFU0=; b=I2ZivTybDdNQkCTmBXybQ8ncb+YO2nHyyLyn42Ek4AxMZ2qboH3wduBVQcOKsyLc+h xlrFtntvU9pNB2adi5FgSlh2W7kTyOJlrD/bcz3sIsSXdMmqnpzocrAs4VlFPz16CSUP d3K39+0lHjPO9fkBIW7JCkvmokWxmkLJSGHQP5aG7ETgm2/Jy0UvFLWjQn91shk1z+qv S35ZnY+pAVQCV5uKblh/1jbQQv7myJirQRZz8tFF8rL5Av9p8Jnd8pME8P1RznV5wq0B kBcUqpZVmVuNdJ78saWaOmE6u5AemVe0hi2IC58UTf/Lv/h9/TvDgv/H6GJV3NU6Zu30 HHMw== X-Forwarded-Encrypted: i=1; AJvYcCW90A1xPuoeu3+W7HDU5c5IJZCyVd8rHFPxy+sWrIUywll2jRAXMDm5UgfT70d+hApCgFUKuqwzPQ==@kvack.org X-Gm-Message-State: AOJu0YxNKqXPNYr0wAycqgP8QoXyQ70FYXyhQehUCtLXMdBokaIoGcJt dACMORRm80OdeXrdS5bBufeWo57Hct4vkF8iJjsbq3ZMeUTDQ2tgN23QRHdl42gUXq9W7Qx627Z +KsSK6tUaq74kOGnD5DMMpNWMam97C+EAjZtI X-Gm-Gg: ASbGncuHWEy5fcf+kCkFng0EuFz01nyqm4ibG9KWxAh1vp9+iwxybbSiCOudhO4A1ez eQyakZsWMneKtHSU3xpK6G8NRFcMCvbGv6pTeqBfUudiNHBjPjwWn90e7vtdMCQdeqOGyUJKq7I 0P/ZI/GKWDbMnMG7N91Uge9NqqRA== X-Google-Smtp-Source: AGHT+IH0MGBH1wbXmpKqOTa38xCr+F5lULEXEpEmWTgKUlomn2kZYLWxS8V6z3W5XVKksUIXSMwWGhpoTDuH2GiN2j8= X-Received: by 2002:a05:622a:4893:b0:46c:78e4:a9cc with SMTP id d75a77b69052e-471b1e3ee78mr2602041cf.25.1739352271281; Wed, 12 Feb 2025 01:24:31 -0800 (PST) MIME-Version: 1.0 References: <20250211121128.703390-6-tabba@google.com> In-Reply-To: From: Fuad Tabba Date: Wed, 12 Feb 2025 09:23:54 +0000 X-Gm-Features: AWEUYZmGdlfRAPQIp-gV7T21UQk0_Xr9eEyUSfbJ4EqrwW15zpIk1JjIyMqdHd4 Message-ID: Subject: Re: [PATCH v3 05/11] KVM: guest_memfd: Handle in-place shared memory as guest_memfd backed memory To: Ackerley Tng Cc: kvm@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-mm@kvack.org, pbonzini@redhat.com, chenhuacai@kernel.org, mpe@ellerman.id.au, anup@brainfault.org, paul.walmsley@sifive.com, palmer@dabbelt.com, aou@eecs.berkeley.edu, seanjc@google.com, 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, yu.c.zhang@linux.intel.com, isaku.yamahata@intel.com, mic@digikod.net, vbabka@suse.cz, vannapurve@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 Content-Type: text/plain; charset="UTF-8" X-Rspam-User: X-Rspamd-Queue-Id: 5B67F160004 X-Stat-Signature: sk93bwdua5ijt79jmg3u6sprubopts1m X-Rspamd-Server: rspam03 X-HE-Tag: 1739352272-112358 X-HE-Meta: U2FsdGVkX18wDCGUepwWuPjttbwo6lHbO9ucUwIZm0M516aU6zP4mNwSogyyqCf/LccDsC1Fui2K5kJAY1wSumDwIU2X9ZZknB0Amyz68j26vtzbBDoHyrAKFzlpd6+F5J+/lLRaDpF/MSfVCJMhBoGTFs5wSWKIiW3IJ2w5iSJODnV/le4fTK8kEk5iGsXfTeWCMKjI1u8UWQP9gQRKgH7u+696rPZKe9Hf+AeRvkHADRtC6q2IhWnyHdHEHVK45m/DHlxeU/mbSEt8XEI0HOoOHMMGpoquMUptIeeTPk04S4yJuC0k65Of/Mx1NaQxDoHTMqwwypx9T8sZZmv9fiu4lIq8adWwJAkk+YKLlyTftCY5kYFC312Yx0c9951m8tpLUWAqC2sWS6qchTXsTmfGtu8niBBg7J8S3yyjhTKGxAPcnCSjzFULTeE3It4bQKP5J65pOMl/U9p2Ak56IOXAZr9bbz1wwbAzblbJh3DIe51BeWuM3ohWf3c/xU21Qcq4nye0wPz4VuHt1/QzXG10O8xz2wOMD5daZQkGYzeKippx6+0zVZYvbzJsXE3spMkVQsaL4ZbaLtAUS4cENB2XASGZCM8Qn8uQjKFN3zaNFUJdJThvJM/hwm384OeWDDUuutVml7JwKICcMetumUx2+a7pBMSw2UKzjenXDtQS9MoUzwpK94RRbtC10fDhTjrrgNN/mVXbegLMganbF7TTqJqrDdzCQ/SNnQvDCPEycBqyPZIVLGVxYhLpK0q4pypMb2CMwVxVsCWQp/mYojfMF5ZCVlTeCqc6lCdjxIJaDYj6ximLBs2cZGW65gc2HZHMi1kwPDe3Oi+chSG2Bbpz2H46MQpndJglTgdaM3jylmaNPhVpq5QfYsVCaS2qYCihLEf9nXiHlbS10gFoBqtbYIIGHQv+UCqHpvwDahrz9R1Cpl7mxmD1/Z/9KQbjnZ55o8PFNdVIxsrHvqd ATOLbow9 g/TBpqohasKAupGxV1O3uFYxTV/HF4Nti06W8/7kJ9el4LuQ7p4l0eQO1XdeKJglQ+A8oALtS2xnCmfiHTpN8yJ9a5kyUGSoa8EDr7F2twgRkGG4AUa++guet5a01RCYwVey3lYi/i4vlZcFzxhsU0N7Yd4G0/V+oqB+9sHdvplJfWziHKIiqRGk1XiqAhKq6LrUy+c0cj5TCXg0K8Nrym7GsRLSUb637cKoz3UI4DquHocut3936Kg97FmAfOuaWyELBEDTx/RK1Yijd6RsZJTk6OBmzsXUswU7lqqB8vIFXrO1lBunSSZHmJ0fc5Lg4u7uIE+klnkZYLKNIJtcHNYunPQ== X-Bogosity: Ham, tests=bogofilter, spamicity=0.012497, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: Hi Ackerley, On Wed, 12 Feb 2025 at 00:15, Ackerley Tng wrote: > > Fuad Tabba writes: > > > For VMs that allow sharing guest_memfd backed memory in-place, > > handle that memory the same as "private" guest_memfd memory. This > > means that faulting that memory in the host or in the guest will > > go through the guest_memfd subsystem. > > > > Note that the word "private" in the name of the function > > kvm_mem_is_private() doesn't necessarily indicate that the memory > > isn't shared, but is due to the history and evolution of > > guest_memfd and the various names it has received. In effect, > > this function is used to multiplex between the path of a normal > > page fault and the path of a guest_memfd backed page fault. > > > > Thanks for this summary! It has always been confusing and this really > helps. > > Is there any chance we could rename the functions in KVM, or maybe add a > comment at the function definitions? The name of the userspace flag will > have to remain, of course. Actually, I was thinking of doing that in V4. Rename, or at least add an alias, as a separate patch, to see what the community thinks. Since, even with this comment, it is still confusing (as evidenced by Quentin's comment on the later patch). Cheers, /fuad > > Signed-off-by: Fuad Tabba > > --- > > include/linux/kvm_host.h | 3 ++- > > 1 file changed, 2 insertions(+), 1 deletion(-) > > > > diff --git a/include/linux/kvm_host.h b/include/linux/kvm_host.h > > index 438aa3df3175..39fd6e35c723 100644 > > --- a/include/linux/kvm_host.h > > +++ b/include/linux/kvm_host.h > > @@ -2521,7 +2521,8 @@ static inline bool kvm_mem_is_private(struct kvm *kvm, gfn_t gfn) > > #else > > static inline bool kvm_mem_is_private(struct kvm *kvm, gfn_t gfn) > > { > > - return false; > > + return kvm_arch_gmem_supports_shared_mem(kvm) && > > + kvm_slot_can_be_private(gfn_to_memslot(kvm, gfn)); > > } > > #endif /* CONFIG_KVM_GENERIC_MEMORY_ATTRIBUTES */