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 BDFB9C021B8 for ; Tue, 4 Mar 2025 09:46:07 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 53F216B0088; Tue, 4 Mar 2025 04:46:07 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 4EEE96B0089; Tue, 4 Mar 2025 04:46:07 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 3DDF86B008A; Tue, 4 Mar 2025 04:46:07 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id 213F26B0088 for ; Tue, 4 Mar 2025 04:46:07 -0500 (EST) Received: from smtpin20.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id 8B7F7A8248 for ; Tue, 4 Mar 2025 09:46:06 +0000 (UTC) X-FDA: 83183387532.20.91596E1 Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.17]) by imf10.hostedemail.com (Postfix) with ESMTP id 7EF51C0005 for ; Tue, 4 Mar 2025 09:46:03 +0000 (UTC) Authentication-Results: imf10.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=DwSw561Y; dmarc=pass (policy=none) header.from=intel.com; spf=none (imf10.hostedemail.com: domain of kirill.shutemov@linux.intel.com has no SPF policy when checking 198.175.65.17) smtp.mailfrom=kirill.shutemov@linux.intel.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1741081564; a=rsa-sha256; cv=none; b=qnuM4IJN20FK9yoipGcg1xJrCFd8GrAOihGz0R3eCDLHRStw0J4bFlmaR7lhCdiMQ4EIlm GDJE1sG7ukZLtGL9zpn4BWkgzBEpLKvcjNoPqMfvvEmsO18jYLF9h4GoEBQCyySXqRVVk2 sIOatxHFXTddwoi6DY76La/1u1bE26w= ARC-Authentication-Results: i=1; imf10.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=DwSw561Y; dmarc=pass (policy=none) header.from=intel.com; spf=none (imf10.hostedemail.com: domain of kirill.shutemov@linux.intel.com has no SPF policy when checking 198.175.65.17) smtp.mailfrom=kirill.shutemov@linux.intel.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1741081564; 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=8JHw49/zC5mCXjsao+ifck+WpJQK0EMqWKsSQk1IfBw=; b=bZIiqwBdxL8X/hYNXg52h2mS2ekVS0gMEeN49VLOcEidhOG1cR6ci6cobf5F6SPphFBrVg Ksy5/+Ck9MCojQawPcvVSaFfxNRRLGZwVTXKgOtCYHlQk+MfP3zSw/kP63NuauBv0nsV1L cTBCDPbad1OBggriQ9ZF3DReKSFg+pc= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1741081564; x=1772617564; h=date:from:to:cc:subject:message-id:references: mime-version:in-reply-to; bh=INrPSVavl8zMkrHNZpRUzth30ZLyDccF9J8o2rj2eFs=; b=DwSw561YvBlB+hOCCIYFyDCI0J0txATAEBba7eQV7OLzo/hxltZSKwKN 4Nuu1+eJ2cobZq7yUHG8bT0WneaS5ErD8544u73fSCmr6HBPvFDsxBMql rbZ+1aXOk0uWbpC1zj8fUM7Sm/UiFZzmc2D1H9HW+/m7Nuv66pENXVz0Z PCjKdFnYWP634x3calXD2IhSodCFStiqEqHjIamY07+2aW5LE7OBRb6s/ JuBxe1PPEC2lZkTvujT72v0OQ32Zk4qmNfDCgqFg1ibdbIdksiiE5p4Dh P7nGSvbs1w+M3YGMaY3ra4ESs10htl5Uv8nrcMh2p8KdB15cZQwyal+BB A==; X-CSE-ConnectionGUID: Hq2f0obGSU2XmiZnyWI2gA== X-CSE-MsgGUID: WMCmSVajRBmIzjB2nALOoQ== X-IronPort-AV: E=McAfee;i="6700,10204,11362"; a="42018017" X-IronPort-AV: E=Sophos;i="6.13,331,1732608000"; d="scan'208";a="42018017" Received: from orviesa006.jf.intel.com ([10.64.159.146]) by orvoesa109.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Mar 2025 01:46:02 -0800 X-CSE-ConnectionGUID: A9nKG+lLSUWlxJZ4HngBZg== X-CSE-MsgGUID: 0GOEbklKS+2+ZL6AzW0jXA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.13,331,1732608000"; d="scan'208";a="118332835" Received: from black.fi.intel.com ([10.237.72.28]) by orviesa006.jf.intel.com with ESMTP; 04 Mar 2025 01:45:49 -0800 Received: by black.fi.intel.com (Postfix, from userid 1000) id B26B418F; Tue, 04 Mar 2025 11:45:47 +0200 (EET) Date: Tue, 4 Mar 2025 11:45:47 +0200 From: "Kirill A. Shutemov" 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, 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 Subject: Re: [PATCH v5 3/9] KVM: guest_memfd: Allow host to map guest_memfd() pages Message-ID: References: <20250303171013.3548775-1-tabba@google.com> <20250303171013.3548775-4-tabba@google.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-Rspamd-Server: rspam08 X-Rspamd-Queue-Id: 7EF51C0005 X-Stat-Signature: rtkyss8gxtsdw3z5ink1tudx757uxa6g X-Rspam-User: X-HE-Tag: 1741081563-276704 X-HE-Meta: U2FsdGVkX19qm/1ol0jfsbarDEBJTQqt7mPPpSLHk3u37T1ixc0Yd3479RJzy1MaIWEP1HzCuO+f/NWKFkmBtDO6qpUv99ZqVpHIC7YKJauejBZ1UIfG3oOWcDnAY+cbm90rmJrFB4OnAUQKOvB1iWSb8295+umoNDMSKAAvbL1pUvyph99/SKhRn/gx5P/ZVYqehC/QMN32N/LhuzXjH97uFzmLdOWZKED8meGhcZUvJucihTQ+CqkbmvuD1HY8f9M570PdngGh334ztPiN6KyTs+cZIEid8bYhX0B+Jfxsd8eS69phO5YqAIQNcPKXOHNaJ+M4PhQbp9lzQEJHACu0Y8bbZ9ZG9QK2hds9VPCVa5YGohUOIU1PFIFnQSNMwlFEn5cEawpte41DtCnpWKEV5SalBRXh+8HZG4zN+rDzh3D8VwB37lwWdIHtdJYVVA/E+xudK2OKE5bUMOcbmvC0m9OveEKwLvcgWxc60v4zhn7Rs9kEY1AxfN2CDXu6cXuK+NgoACxEKCDA5uY1el1E7Rw8nY6MyqpH2rwI8LUYACTV3Gs1LzOIV5mZ55roF2AXfV/GoxQK+bfc5RDBVTfPP/e4zlDqNe73EYv/mCNSJANnGerlC5qTk6KWUMqsQDW6Ufl2iXXel/QuLnZCbecUxqkTqyT/jKMNwvwFuDiB1Y9TcD3nhH30COPtox67ALr0IwFMapNO3HCxxG1CUSfFmEXnpnek6FIicJSFx8PFt73+n8kZYWe1LmNZJ/xgHTXouLVnedqpz4eDPSBvxWl5Y4Ru4p8qfV6j31Xo2RCNZgEBoqfXQz0dv8ZkN/Ts4+yubf6MFTDtl/pbz+UZ7pB24JrvpL0Iu8fwcY4I0P/XtSR6skcvf5xARAUhGgTx6iFu3TTrEJil/HXvqAC08dTLtAvLWtKnLEDIv3F6QAuh+0wYHketL+CkMeop7GLcgRxbLqn0F9MFHVo/cmO /hietwWq iuy5bbQKWjINlTcewDLPv/mjhLT+WpUxo1t9fSh/AtwEFWpBqMu0tJcBoyYIvhMiMd0ZAFx4RRwXVANy8bjKR43Pl/IOB5NCRWFCoN7iYBBMhFSQzTwsvVilGoGG4zeHX1Qfl3hAvLTSn/CxmXqk3oThelj4VILX/bqJpjuR7VZXYSEpCJ35ychaca9QechfuRXlEFw7OwxibEnfvb92ZVzenZ2kz5iD2KrX6CsQ8SkRjbSxvltE2Giuw6qCey+PoMY7fW4LlVg3MqU92vxY5AH2wukeqLWY/0ghc1yPUs1yaLYbcH60n31wY3UIOwCWNs8u7U2YNWz3XAbaKoVY0VOUWAT0QeSXHKTCK 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, Mar 04, 2025 at 09:27:06AM +0000, Fuad Tabba wrote: > Hi Kirill, > > On Tue, 4 Mar 2025 at 08:58, Kirill A. Shutemov > wrote: > > > > On Mon, Mar 03, 2025 at 05:10:07PM +0000, Fuad Tabba wrote: > > > Add support for mmap() and fault() for guest_memfd backed memory > > > in the host for VMs that support in-place conversion between > > > shared and private. To that end, this patch adds the ability to > > > check whether the VM type supports in-place conversion, and only > > > allows mapping its memory if that's the case. > > > > > > Also 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. > > > > > > This is controlled by the KVM_GMEM_SHARED_MEM configuration > > > option. > > > > > > Signed-off-by: Fuad Tabba > > > --- > > > include/linux/kvm_host.h | 11 ++++ > > > include/uapi/linux/kvm.h | 1 + > > > virt/kvm/guest_memfd.c | 105 +++++++++++++++++++++++++++++++++++++++ > > > virt/kvm/kvm_main.c | 4 ++ > > > 4 files changed, 121 insertions(+) > > > > > > diff --git a/include/linux/kvm_host.h b/include/linux/kvm_host.h > > > index 7788e3625f6d..2d025b8ee20e 100644 > > > --- a/include/linux/kvm_host.h > > > +++ b/include/linux/kvm_host.h > > > @@ -728,6 +728,17 @@ static inline bool kvm_arch_has_private_mem(struct kvm *kvm) > > > } > > > #endif > > > > > > +/* > > > + * Arch code must define kvm_arch_gmem_supports_shared_mem if support for > > > + * private memory is enabled and it supports in-place shared/private conversion. > > > + */ > > > +#if !defined(kvm_arch_gmem_supports_shared_mem) && !IS_ENABLED(CONFIG_KVM_PRIVATE_MEM) > > > > Hm. Do we expect any caller for !CONFIG_KVM_PRIVATE_MEM? I think you missed this. -- Kiryl Shutsemau / Kirill A. Shutemov