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 0CAD8C282C6 for ; Fri, 28 Feb 2025 16:24:08 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 90C78280003; Fri, 28 Feb 2025 11:24:07 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 8BB55280002; Fri, 28 Feb 2025 11:24:07 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 78306280003; Fri, 28 Feb 2025 11:24:07 -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 5B251280002 for ; Fri, 28 Feb 2025 11:24:07 -0500 (EST) Received: from smtpin07.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id 00DD01A0EC4 for ; Fri, 28 Feb 2025 16:24:06 +0000 (UTC) X-FDA: 83169875292.07.377F2C5 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by imf14.hostedemail.com (Postfix) with ESMTP id B00B9100008 for ; Fri, 28 Feb 2025 16:24:04 +0000 (UTC) Authentication-Results: imf14.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=Z4Tyj+lP; spf=pass (imf14.hostedemail.com: domain of peterx@redhat.com designates 170.10.133.124 as permitted sender) smtp.mailfrom=peterx@redhat.com; dmarc=pass (policy=none) header.from=redhat.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1740759844; 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=uYI0vlZyC64AS4GVxFaAT8W4ll0MhAyDbelrl5Y3Uek=; b=f9AoAAA/x0WvU3jIH+xYd13ddTqhHywW9iY04fKbYpMeitifqA4UWZumNri65XnB7FojCJ 3xvC/EO33yBWXN1gqow4LB1dp5b81KJqjoplsl2E78x3MbjtZA2Q8XU5hrG4KaBgG/devB d6MmXTEB12rKOgPas/CCMdACRE4zh3k= ARC-Authentication-Results: i=1; imf14.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=Z4Tyj+lP; spf=pass (imf14.hostedemail.com: domain of peterx@redhat.com designates 170.10.133.124 as permitted sender) smtp.mailfrom=peterx@redhat.com; dmarc=pass (policy=none) header.from=redhat.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1740759844; a=rsa-sha256; cv=none; b=Sz/hnCTvccaog5HvGM/xkew/pc6SDvnFXRkLZdhIk1A+s+k/TdmnamvBSdNTbGysRCpL8A wghClAMLX9OCtzNtSZRzwadkRT+fm1T1Ri743t7XhDzkFcK1cr1JsT4nTaThDblv4Jjvml y9vNM77PbFhEfxabZqdOTW+EcDb6G8I= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1740759844; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=uYI0vlZyC64AS4GVxFaAT8W4ll0MhAyDbelrl5Y3Uek=; b=Z4Tyj+lPRp7xblEccEXyJBY3S0vHmnEfKLGaLzeoGPA8DMjTecSBIhduhTiZ/s7VSTgtHu /fSf1AiCXkffeF3tt9k1BWiH4YNlDZFOmbibJHvPY7jklSEJt6WYQHs4jFMPw2Zjlxbiza w/BlhvnDUGjIn3bKIoEfCv6JqgG+JQ0= Received: from mail-qk1-f200.google.com (mail-qk1-f200.google.com [209.85.222.200]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-498-E1thneQXMuyC2tmdbMJO8g-1; Fri, 28 Feb 2025 11:24:02 -0500 X-MC-Unique: E1thneQXMuyC2tmdbMJO8g-1 X-Mimecast-MFC-AGG-ID: E1thneQXMuyC2tmdbMJO8g_1740759842 Received: by mail-qk1-f200.google.com with SMTP id af79cd13be357-7c0a493bc2bso392053285a.1 for ; Fri, 28 Feb 2025 08:24:02 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1740759842; x=1741364642; 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=uYI0vlZyC64AS4GVxFaAT8W4ll0MhAyDbelrl5Y3Uek=; b=TQKrepn/ve7JbmpNbVRbCrLQGHj01eENzAVESGhW2vaPX3Le96tj3skR0swEKprJzf XmCtrqJqdJALkt5YMp1z7Q7M+2a760nd+Z/IVAS0zwBEty+d3jt81RH1H2Mbvg4Bi9Ck 9v2tCODLQyErZfmqcOUdsIOyWtYrN27hd7dzKY/tkaHOZ8FyHtsQoS9h7+IaTQqrjxQK yhh3s53KFF1m+dMGX8TOO7Ahs7kNJ8VFE6eHu/GIfoWjw1sAJgxLafIAA0dTwiR8r5Q8 KJ2Ela4wg7FfBOhRLZHVXFnl8yqEnctpTqtWuxSbrL75IJf2fZHH2sT8sPCu3HcJ9qzx 8o0w== X-Forwarded-Encrypted: i=1; AJvYcCUgLv38d7a5SUE4NroaKTdbR96nhckZuwsc+V616aGOB4GpDd0tdemxFVBG4rgTNBsLPvEE+aRpsg==@kvack.org X-Gm-Message-State: AOJu0YwZpVTR5HwCC0iLaOgj1fkle7rIWHUARRdaNOB8NlG5kE1/VbCK HnjgmkdquHpIFh6qHeoe9SfWvc4A70fLJn3MDw4hbULnk9uoxb94VkCX/2qz5h8ROIWmSfsXYD1 p/NU0RQiyVTpYRZnWyYx+llM2FqJKixgh7UOlbJIO7slidhRQ X-Gm-Gg: ASbGncvm0labr4RuNvVmAns/XC7eY4pYjZn5efORR5VL04Rb+IzzKLS9J7i1gUqjB+I U+uvqX8VhgWE9NKwwnUcp1+XSp9rgbgDOeOdSQuBaWHEc/3VNhSPE6Ck59h4B4rIcEb5zvxCAYl asrN2+R0sNOU19709+xKSgun2SWh6ttxE3AlwOsoJBvPW//yRcNPv/IlVj9ayhKLNYbOgHiansR B3amM5FkdGrAHYGQwCtV8/0BCkMof2M5RT8FasNWo/7n86ruTcpsWMzwO4R7uHgL/pkTg8e9uTs XQbVRNM= X-Received: by 2002:a05:620a:4608:b0:7c0:c13f:4185 with SMTP id af79cd13be357-7c39c49da23mr583606285a.7.1740759842048; Fri, 28 Feb 2025 08:24:02 -0800 (PST) X-Google-Smtp-Source: AGHT+IExnELW4Wgs0tRW9CQ35XcwJhUH+A1yMpSXnIV/5wwwvQCQtoXyGWAYFfR96/rPAP9Kfr+Sjw== X-Received: by 2002:a05:620a:4608:b0:7c0:c13f:4185 with SMTP id af79cd13be357-7c39c49da23mr583599685a.7.1740759841731; Fri, 28 Feb 2025 08:24:01 -0800 (PST) Received: from x1.local ([85.131.185.92]) by smtp.gmail.com with ESMTPSA id af79cd13be357-7c36fee963esm265695385a.23.2025.02.28.08.23.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 28 Feb 2025 08:24:00 -0800 (PST) Date: Fri, 28 Feb 2025 11:23:55 -0500 From: Peter Xu To: Fuad Tabba 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 Subject: Re: [PATCH v4 04/10] KVM: guest_memfd: Add KVM capability to check if guest_memfd is shared Message-ID: References: <20250218172500.807733-1-tabba@google.com> <20250218172500.807733-5-tabba@google.com> MIME-Version: 1.0 In-Reply-To: <20250218172500.807733-5-tabba@google.com> X-Mimecast-Spam-Score: 0 X-Mimecast-MFC-PROC-ID: tx0t0TBtlM0u2kDTHptY4Ij854vRIrCcJ4mgCU38Osc_1740759842 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset=utf-8 Content-Disposition: inline X-Stat-Signature: z1ztapggpty8qi8py3n6cc573xs1ymmp X-Rspamd-Server: rspam11 X-Rspamd-Queue-Id: B00B9100008 X-Rspam-User: X-HE-Tag: 1740759844-304925 X-HE-Meta: U2FsdGVkX19nc45xrt944WCzF7gAaH39GLkUV6G3lzL3ks8DhS8nxMveAs/xcob7j/2GzwlvpDc2l2+a+Ggf+Omabg20DzlRiA7JeEBDzju7adGAnpcZwJoS50B+USt106/y9Vw5jNvRuciRAKJ0RmX57/XbmmbSsqMoL79yOV/29t1CQ7280feYTMbg2iWHy4XBv2cj1fcwjl1B0Yx/ebfKGJ6VBTsnky/x9nAxgn3QWi7WxjWsfrl4gXLKiOyNHPz2wyw3Fdc7G4Jt8MJaM5HjVR+rRf5/DHcWBIYaYwP0TMhPxLeFJwxPSS8RRQtlnt7BDagdNqzq5ub99PuHSrkNFsPjIz5FSNYiqlFYjHvL8l0TEJYRNu8RSxUX0uKey/51IHT8hLYeJHww6YR6N4R0tDZMOqxr1tQZ7RzdzrZWkcgKQf4UgDl0VZpr6guU6/xV6a6sd2lKq9yIfcg5h2ge1ip1oPsHGIAUvUaCtrBrnANHWb75MggGK94ZkR86tTQyfCEqqbJrEJ31AANwFhCvGe00igAR6Tjb/EOzccJ9qGTSbt0gFhcT4UVVfNMJNShqgtwPaP3GsKHpExnNRyZJ/ylCxXruRbA0eNGzkIwTSlDWCsIYvJg9JHIlbaC4PPSuj/VI7KbvDvzz7MEShgznMruciADNbmUqmLaQ/zIxj056rBAlQkRZEIhAH2RUKIRmUeoZZeGgySCiSSiaOAhWvZUeyyKWHIDXRyKi68lpfk45GWmaaBVLANQGLHwpeARU8v7HEOg/u1X1YXUwZqYou6nqZR94Ca1C73drmEj3IOwTFAz6SZ1YEYIfgCSWUiYbpdhjZj/IA0ZC9bCc9ZboWS6B5XncbmlAajjg9Q3RxKHZ2HffpBzSP91El7ZC5YlQ1CtNpRpy6EvwHs5o3Gw5PneX89GbhEN/B43XTY0SEoj9z+j9Vtx7qdff9kflXQTHAGxrhC7kiS+qBum NY5cgxPj Ss4hTpnbf4cGAy16xxe4L8qxNR7xC5Yb54BCW5fVQy+4WDebfyELYziEkEYi6WA40ph+RGxn0uoLd5IjwHNwvgae4Lvmrc2Co86HDSBeYFP0GFShjtVxIek3UfgDbHIXeBkKyDkMPqTpABiw4uDQnzDGAmJ3ezf5KT74dRCOe2KGy7hzGMd6sOKOAjOzTKKoQDgZle5Ju7Jcu/MFMbGFjMgEnfiGi4H9bamulWqeqWy1nEuvvDMgCYCttQQcPRrMvwWbPyAqwa+kapjnr5tJpI5/+6X2fjf/wEY1HzprVbEBzjm2aftdp6cMl7Ti/lyqtAp9P0lZRZ8F5T0qYBF7GgSjrtbJdsxx3ieM0ASDSyz87e6DmU2IbaVmsYT3Trt+t66iibmcqWxCCJsxtdFDlLSkTT8OS1SJ7ai3twRk0JznsDNKpdKP3nax9sYVQkYKw9upd8oYs+PhSKKmOW6fG6FGRmN7wjvU5GOEyKmpiHzZF2k+RZo2Xvg4L9q6GQtuu8FZjBDNkMuFwF4h6KEarpTfIGYwFiJKZdS9z4pLbpDEbDK0XFJMNYuJKEVnQGjpcln+dJ6RrJU3rbPpdqrb4Ab/vJExymiYFLZhC 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 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 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. Thanks, -- Peter Xu