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 54701C282C6 for ; Fri, 28 Feb 2025 17:22:53 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id BF4D2280007; Fri, 28 Feb 2025 12:22:52 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id BAD3D280005; Fri, 28 Feb 2025 12:22:52 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id A4467280007; Fri, 28 Feb 2025 12:22:52 -0500 (EST) 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 86AAE280005 for ; Fri, 28 Feb 2025 12:22:52 -0500 (EST) Received: from smtpin22.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 2D494C0FD0 for ; Fri, 28 Feb 2025 17:22:52 +0000 (UTC) X-FDA: 83170023384.22.24A8E8B Received: from mail-qt1-f182.google.com (mail-qt1-f182.google.com [209.85.160.182]) by imf14.hostedemail.com (Postfix) with ESMTP id 5E14510000C for ; Fri, 28 Feb 2025 17:22:50 +0000 (UTC) Authentication-Results: imf14.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=V63ACqh5; spf=pass (imf14.hostedemail.com: domain of tabba@google.com designates 209.85.160.182 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=1740763370; 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=G/a2UWjgQkqdTI5HsTvQ71onwZTMNWEb7HeWzmw5uT4=; b=SMEwbTrpVRW1LIoSLxmCzV7DL1hEEgAK3f6vu6EL5VuRzvuS4pTI5mY9rOKb3JkvZ24p4P JMOkOcPCI5GFhu9cofotQsOkoik9eDuIX/y5OtOMC3/EZ9QIchphyh3Yg0sbKdXQUt4imf 0W+/jJ6+5Uko37/HZTD/49c8F45mD3g= ARC-Authentication-Results: i=1; imf14.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=V63ACqh5; spf=pass (imf14.hostedemail.com: domain of tabba@google.com designates 209.85.160.182 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=1740763370; a=rsa-sha256; cv=none; b=PFA+nbudbRZL5i5HDwTJtbofPvl7esaMUnBkjNTPhXhJw2T7BDgMmJgjORheDwXjxiuI+C e2TW5TZ49WzlUOaGCUVsirphoug1j40LZtdRyYrGghnK3AWLXNpu7m/RHPe4mb/nVmO6+z TYw2Nh7ghOFQM4n3nALGNDkRnyp7GSY= Received: by mail-qt1-f182.google.com with SMTP id d75a77b69052e-471fa3b19bcso317121cf.0 for ; Fri, 28 Feb 2025 09:22:50 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1740763369; x=1741368169; 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=G/a2UWjgQkqdTI5HsTvQ71onwZTMNWEb7HeWzmw5uT4=; b=V63ACqh5L/zDigX7Vkijml2mz6sVTuqPlxE726x091dgXN6WxOF4XnokIF4PxBlzDW 4izt66dRzmPM9ikaKh8jlaCn4N6jlttsbIYP60g3hrqGqnSuMe0Yzy6/gLiqQvb0hl1H To21dvHD7J8Ct9RsItBz3eV11SzHKbFAmuiaMouOesjEnFB1dOOKiCCPenz9Xq7E8o8I P0Kamdoeo8BiVNcOVR7zDoRfSngsxs8ng+Wp+c/J7BcIFaZ4Z9BhAhtFn7/1Emq23ylR lC68ua0qPxmw6Qx0wBvRiy8fPHQZJebqmKq8eoHTEjfGk6CRd5L6GOSq2i3TOGO82d0L f93w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1740763369; x=1741368169; 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=G/a2UWjgQkqdTI5HsTvQ71onwZTMNWEb7HeWzmw5uT4=; b=ZqbRszL0WCrseig15vrsjJdvRy0VVwh88Ob8G0kqeFbXMVnkmGRL1erHklvtiKCQj/ CIlfTnJRKue4z4o6DVbRsoS5XacuS6eTpZtsartDl8L1iR3Q+Aephwnt3H17dydGhF9E IZK/9OANTH1Wqd72REYbgZ2DqyczmNOMipKc1EhVkzCUv8bvJ077CwosANaOidC3i+Cg aVjDlIUDLm1BeVj2Vxzptm5eE4UfoLcWLr4mlsu9iNfJV9vA23wKe1+pee4nlz+I3okD rUmEIbIoaowoa2Ts9iUnJoUNbnrowDoCmEni1Dly0ExQgQQeXTJvG1iqa89pfHXxqEJF IsGg== X-Forwarded-Encrypted: i=1; AJvYcCXNjhKmFpD8snOmTVwRhJLUhf3WcTv5YA4h0sZYiGknL6NqfnBQT/Ommy7rNjCwFiFUVGzg6lROGQ==@kvack.org X-Gm-Message-State: AOJu0YxoQ5EO3KBzCyV0c5iF6HMxCSKmUqDt3aDvvKLuv/lejtjavYDI WOv6IfU66dD9ikShNVksfA2IJm4naHVHfWpazF4swVWZ3G7FZj8y6Nd/HOFyDUslcNjMaX3QFHO NGnJ9Mnxve+ns7QIzWJa5C+52OHrJrtWDYasa X-Gm-Gg: ASbGnctOeFzFCZ+voujI75qC7hfjsPWYjM9vjgY1luj8J27zGAzIT8uaeY/ZuMMrQee sqwkpEEvCsu41FOBpXqYrZE1AfJoXfWem3BgNIMtDcm3tgkGPFhmX0f2yzKZup7KiOPnyhzPnnq wDTjM= X-Google-Smtp-Source: AGHT+IGNihhgUrLxmnJiX8xoYuYEMEiLXOH8BXsKbEk/ejEZR6+wx/qspqpTF/usmPvMS/jdjbhGGnmO2UD7DWsi/6M= X-Received: by 2002:a05:622a:54f:b0:471:939c:a304 with SMTP id d75a77b69052e-474bc08cbd6mr4750931cf.8.1740763369149; Fri, 28 Feb 2025 09:22:49 -0800 (PST) MIME-Version: 1.0 References: <20250218172500.807733-1-tabba@google.com> <20250218172500.807733-5-tabba@google.com> In-Reply-To: From: Fuad Tabba Date: Fri, 28 Feb 2025 09:22:12 -0800 X-Gm-Features: AQ5f1JpBi7_Gh4he9ov3als6nZxEfCC0aiYVThqoBIKa6XINpRRls12Z7Yy9QT4 Message-ID: Subject: Re: [PATCH v4 04/10] KVM: guest_memfd: Add KVM capability to check if guest_memfd is shared To: Peter Xu 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, 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 Content-Type: text/plain; charset="UTF-8" X-Rspam-User: X-Rspamd-Queue-Id: 5E14510000C X-Rspamd-Server: rspam09 X-Stat-Signature: 5ito7uz93e6d6nshoqnbbdog819ozo84 X-HE-Tag: 1740763370-468878 X-HE-Meta: U2FsdGVkX1/FO0mwIT9cpx4ux3ptalqdCLQYj5OD6eMu9jWru+DMsU9PL85+UQTX++4zOy7AnCkaSKZpJ9S/dxguuwc8+qz4v26IdPTfmCmV8t2bcwpTJvfM0n27ORVdJLw2Tm+ZIYLNvOAL4FF/1laBs78782MVSN+8Ya+45LV6gvbYoqO8jR3pcPiaT2w2S+s6mTatzMflKJyOBHDkfyBA2uXqS2/vaP2M6LSJPjrt9qW5Pp7miTCLDBfIfgpcPCPj20XbmUHN4kdlTdDFQkutnmK3vMUhxqU0zOPEBtBt8MHoI45x5jktLuZk5Ktigu56NfNuidKRlV6x88vAUjJM0Biebok8GgWswgZi4+/Q49alYH2XlKVyOzwO51bMaxA7wHx6M7bhs4HZTuYKkH3LERVRSzrq6/IgL/RgZPoixBH5Z4LP664xHjlOZVifZ0eM9ekp7oWZ+DDRjY5A/hvVCuUpR/PDsBPXu2/3TCGQ7N5Xc8kjp3kOt8GgFERbMY/lbitBb0lWa+bgyFa7rY5c8AlFvI0w90ipi4A/dMfWmpNAsehv3bmVRavEUpIqpY3DTj5aQC6VaNrEDjxwr7gvwOSY6/30vD/STsNUz/QJSHOaSUGPq5lRMjfgZSgLHUcr2bjlM1NSlef95JuNe+PZuxj8abJzIUzwvBUYKUcuJhzNRrM0TYNJW0oW0+cLUzt1zF3Y3mA78XTE3NILAX5Aw52kkOfMrxuPgtxQuxc6zKTY61MZYPPBNd488OZmkg2Q6nlbRAH6xmQefr312HfnGeemUPB6w/XeesvkCk4FrQymFMxGANsOaWUPKSQGN+aqnLJk0gtMt6YS7RMH4l9dExcNsfcvTgWjXm8ZDOvjf3xdhQ/Q9xJSjmU38vJVHBvPOM2u7rSowacRG7i1/s75vWEG3k1OKcbreTLZCg4KPPd0S/Q0/7aH1MaopMJL96Yr3KEuwYUp9avhBvz Wgckh8GG D1eiwaKLxOjCde91kw1ZOb4+sXzLPYtoSq0zmL9uOWXyQs6ajRume80nMpdo3nylyTIYM3Kpqg8Nrkd+ynXJ26LuuWVvBS1Zidy85PsagbZknY+p0XDwnGLzH8czG9QNg1JVO6WYMgrIZ1/PeDZRvl++/E7Dc8wvmDHtvj1LkINXEOE7uP50D6fJ6fO4z6WK3ExwCkJ1DEPw+LPKnG7L3ApUurCNvba45wgS8B1vdsW8HVrqomjW2gU2L6HD+Za7NrCCNch3es3XuSPcuErzbQzCrlwc8bqkasYfQisuD9zpEm9a1UrTjiissjsICumcE3V+s5CS2JWwvSFVcgPm+PMjoGFEwXIxg35CFdeR51lH8YEc= X-Bogosity: Ham, tests=bogofilter, spamicity=0.000026, 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 Peter, On Fri, 28 Feb 2025 at 08:24, Peter Xu wrote: > > On Tue, Feb 18, 2025 at 05:24:54PM +0000, Fuad Tabba wrote: > > Add the KVM capability KVM_CAP_GMEM_SHARED_MEM, which indicates > > that the VM supports shared memory in guest_memfd, or that the > > host can create VMs that support shared memory. Supporting shared > > memory implies that memory can be mapped when shared with the > > host. > > > > Signed-off-by: Fuad Tabba > > --- > > include/uapi/linux/kvm.h | 1 + > > virt/kvm/kvm_main.c | 4 ++++ > > 2 files changed, 5 insertions(+) > > > > diff --git a/include/uapi/linux/kvm.h b/include/uapi/linux/kvm.h > > index 45e6d8fca9b9..117937a895da 100644 > > --- a/include/uapi/linux/kvm.h > > +++ b/include/uapi/linux/kvm.h > > @@ -929,6 +929,7 @@ struct kvm_enable_cap { > > #define KVM_CAP_PRE_FAULT_MEMORY 236 > > #define KVM_CAP_X86_APIC_BUS_CYCLES_NS 237 > > #define KVM_CAP_X86_GUEST_MODE 238 > > +#define KVM_CAP_GMEM_SHARED_MEM 239 > > I think SHARED_MEM is ok. Said that, to me the use case in this series is > more about "in-place" rather than "shared". > > In comparison, what I'm recently looking at is a "more" shared mode of > guest-memfd where it works almost like memfd. So all pages will be shared > there. > > That helps me e.g. for the N:1 kvm binding issue I mentioned in another > email (in one of my relies in previous version), in which case I want to > enable gmemfd folios to be mapped more than once in a process. > > That'll work there as long as it's fully shared, because all things can be > registered in the old VA way, then there's no need to have N:1 restriction. > IOW, gmemfd will still rely on mmu notifier for tearing downs, and the > gmem->bindings will always be empty. > > So if this one would be called "in-place", then I'll have my use case as > "shared". I understand what you mean. The naming here is to be consistent with the rest of the series. I don't really have a strong opinion. It means SHARED_IN_PLACE, but then that would be a mouthful. :) > I don't want to add any burden to your series, I think I can still make > that one "shared-full".. So it's more of a pure comment just in case you > also think "in-place" suites more, or any name you think can identify > "in-place conversions" use case and "complete sharable" use cases. > > Please also feel free to copy me for newer posts. I'd be more than happy > to know when gmemfd will have a basic fault() function. I definitely will. Thanks for your comments. Cheers, /fuad > Thanks, > > -- > Peter Xu >