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 2167AC36010 for ; Fri, 4 Apr 2025 16:57:13 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id A7C6D6B000C; Fri, 4 Apr 2025 12:57:11 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id A2A256B000E; Fri, 4 Apr 2025 12:57:11 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 8F2956B0010; Fri, 4 Apr 2025 12:57:11 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id 6FFB76B000C for ; Fri, 4 Apr 2025 12:57:11 -0400 (EDT) Received: from smtpin16.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id 3C6861205FF for ; Fri, 4 Apr 2025 16:57:12 +0000 (UTC) X-FDA: 83296966704.16.E4D792A Received: from smtp-fw-2101.amazon.com (smtp-fw-2101.amazon.com [72.21.196.25]) by imf07.hostedemail.com (Postfix) with ESMTP id 21D444000D for ; Fri, 4 Apr 2025 16:57:09 +0000 (UTC) Authentication-Results: imf07.hostedemail.com; dkim=pass header.d=amazon.com header.s=amazon201209 header.b=fZGJyujM; spf=pass (imf07.hostedemail.com: domain of "prvs=182d669d3=kalyazin@amazon.co.uk" designates 72.21.196.25 as permitted sender) smtp.mailfrom="prvs=182d669d3=kalyazin@amazon.co.uk"; dmarc=pass (policy=quarantine) header.from=amazon.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1743785830; h=from:from:sender:reply-to: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:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=9rUrMyu/a+RU240va8IIR8/YaSk2+sCGn0wmfW0D9/A=; b=KRsXOnlKcFgTCWa0iYbwPP9aljuugNENzW/K2LPvokpSLPWwwpZ71HWoq/4hAdDPHyub6r gcHr/1nFvawDzMEAE4DOLjnb6w99p+eRPH7xTKTiO36H+d3CGslzkab9EBdG601XmYDm3E Jzi2eC4TIDJdqW0rkaIXfi//r6Z/jqI= ARC-Authentication-Results: i=1; imf07.hostedemail.com; dkim=pass header.d=amazon.com header.s=amazon201209 header.b=fZGJyujM; spf=pass (imf07.hostedemail.com: domain of "prvs=182d669d3=kalyazin@amazon.co.uk" designates 72.21.196.25 as permitted sender) smtp.mailfrom="prvs=182d669d3=kalyazin@amazon.co.uk"; dmarc=pass (policy=quarantine) header.from=amazon.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1743785830; a=rsa-sha256; cv=none; b=k5H+kwRiL+T3WTtlVnYvQbEIPOYKA1c8pUWYWwB6KfYn7NHDsvZmPsm9WSYnbAN7jsPHXH UB+PSP/oH+6Jk4dN5egYfYUtYYR16O3sr/hCExLoSyZnbBG6+kJBzhRLVcCFXVhQpcUA05 BfDbLjZb6ASMLhAwi8BGD60Uqcoi0Zk= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amazon.com; i=@amazon.com; q=dns/txt; s=amazon201209; t=1743785830; x=1775321830; h=message-id:date:mime-version:reply-to:subject:to:cc: references:from:in-reply-to:content-transfer-encoding; bh=9rUrMyu/a+RU240va8IIR8/YaSk2+sCGn0wmfW0D9/A=; b=fZGJyujMkk4R6jMNUiB52NaNqo6aWGym3Hp6x+Ttcz8UnUbt8Fxnk3QN DjFrs1RnfQsf5FJ8DJkl2v1Jwo8hPNuQRcltSlqFsbWaqD3D4r6I+WY8K UcfNSTL/fGbbuelXugtoALjSxOGryIJSAY/N/zIghpkXbRJXBvkMr+2UJ 4=; X-IronPort-AV: E=Sophos;i="6.15,188,1739836800"; d="scan'208";a="480444447" Received: from iad12-co-svc-p1-lb1-vlan3.amazon.com (HELO smtpout.prod.us-west-2.prod.farcaster.email.amazon.dev) ([10.43.8.6]) by smtp-border-fw-2101.iad2.amazon.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Apr 2025 16:57:06 +0000 Received: from EX19MTAEUB001.ant.amazon.com [10.0.10.100:35113] by smtpin.naws.eu-west-1.prod.farcaster.email.amazon.dev [10.0.46.175:2525] with esmtp (Farcaster) id 249756d1-c399-4b2b-a390-7506b932c09d; Fri, 4 Apr 2025 16:57:04 +0000 (UTC) X-Farcaster-Flow-ID: 249756d1-c399-4b2b-a390-7506b932c09d Received: from EX19D022EUC002.ant.amazon.com (10.252.51.137) by EX19MTAEUB001.ant.amazon.com (10.252.51.28) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA) id 15.2.1544.14; Fri, 4 Apr 2025 16:57:04 +0000 Received: from [192.168.0.47] (10.106.83.30) by EX19D022EUC002.ant.amazon.com (10.252.51.137) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA) id 15.2.1544.14; Fri, 4 Apr 2025 16:57:03 +0000 Message-ID: <7b8d9aa6-99ff-4986-bd16-664de63ecb58@amazon.com> Date: Fri, 4 Apr 2025 17:56:58 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Reply-To: Subject: Re: [PATCH v3 0/6] KVM: guest_memfd: support for uffd minor To: Lorenzo Stoakes CC: , , , , , , , , , , , , , , , , , , , , , , , , References: <20250404154352.23078-1-kalyazin@amazon.com> Content-Language: en-US From: Nikita Kalyazin Autocrypt: addr=kalyazin@amazon.com; keydata= xjMEY+ZIvRYJKwYBBAHaRw8BAQdA9FwYskD/5BFmiiTgktstviS9svHeszG2JfIkUqjxf+/N JU5pa2l0YSBLYWx5YXppbiA8a2FseWF6aW5AYW1hem9uLmNvbT7CjwQTFggANxYhBGhhGDEy BjLQwD9FsK+SyiCpmmTzBQJnrNfABQkFps9DAhsDBAsJCAcFFQgJCgsFFgIDAQAACgkQr5LK IKmaZPOpfgD/exazh4C2Z8fNEz54YLJ6tuFEgQrVQPX6nQ/PfQi2+dwBAMGTpZcj9Z9NvSe1 CmmKYnYjhzGxzjBs8itSUvWIcMsFzjgEY+ZIvRIKKwYBBAGXVQEFAQEHQCqd7/nb2tb36vZt ubg1iBLCSDctMlKHsQTp7wCnEc4RAwEIB8J+BBgWCAAmFiEEaGEYMTIGMtDAP0Wwr5LKIKma ZPMFAmes18AFCQWmz0MCGwwACgkQr5LKIKmaZPNTlQEA+q+rGFn7273rOAg+rxPty0M8lJbT i2kGo8RmPPLu650A/1kWgz1AnenQUYzTAFnZrKSsXAw5WoHaDLBz9kiO5pAK In-Reply-To: Content-Type: text/plain; charset="UTF-8"; format=flowed Content-Transfer-Encoding: 7bit X-Originating-IP: [10.106.83.30] X-ClientProxiedBy: EX19D005EUA002.ant.amazon.com (10.252.50.11) To EX19D022EUC002.ant.amazon.com (10.252.51.137) X-Rspamd-Queue-Id: 21D444000D X-Stat-Signature: pskpff6rb4wy6d3mc6mt856e3qp3fmmc X-Rspam-User: X-Rspamd-Server: rspam12 X-HE-Tag: 1743785829-627706 X-HE-Meta: U2FsdGVkX18OqmscrX6n/xdieUy1++2oPReJTk/6yv71QO9wlVNX9H0/lQYRUH9+m9ZfWjGXRlXDMrl9jK9q2u+meE6Ws22PKMAL1QoHN2c1kqYhiBqoeDK3PsxQRdVUhYKydsY/hPOHAbyOv+mZTUt+R+XMwRW9jiPwcFgXuHJ1ezGGjaQ1ECl1PXsXaz8pkNjsa0yWyFjYksHA+2wyCGnYJ0aHHUs4tBaPzs0nJsuuLCaHBmZp4MECdOLcnErFRNxcNXlEV/o6+TxuB0cO8FGgDFIUkiLvm+y8Z1Dr5DJcIg1ORYrn1Hk9vPFJjU7wfm8GMRXJyQQ9I39pwNg5pOpvi9Rd2/tQRiYKJ6TW/8mAwGvyzw1Uyjuvaqsf+qiT7WXtWLwUGRV8evCnTEST60Szq9LNFaqs77mMPwaNuSi8HmwqpVoXpLMSOGUDv9O8WjkSRR7r03TV1jx/nA0RC326UQYD68VRRJgitpvrP7jBFRRCbwY0JBntkXkWTo8q39T53P7xehMoqbb578ghgsLhYl5LEfgCiIzwhN8nubmZCEcoNoKWwpJinvgigkaorehqyFY3HAqVoqaKhata7I2zuTziEOEgP3uPx8yAnCWTm0mIXe1fqHvXGrOjMVWQteVq6Mf2B94YUMxXkmZDGZHJOuUbseT2fppPgU3rtRWo1wyFrTXMj/xd1L7h1mDSgqrnk5fusWH0GNdVsiCOg6sFuRvdyOybcSdeeCX7ZI8j7SJtQT1ATjdmZHO2GKTA6NAV8WlVa17T1HnVHb/d0Is0Ar1TAOiPvlgWvCDNVFclD9V2Ue3LQ8oP64xjP4Q6BCVrLHwzUiPsfHMd+h1xHpxcBLahQKNz3tsWwV691PT7+H/vPSUdQ1xrHkn6ZlYuFi6c3IGpJ5aquRoQLVJv7odno8slPVm8tcOxolRM/BpeU7U4zA1u/vKWY0f7CKVt/cFg3T23VIx7NcZglzE GgcaYGIo a8kCWG6L2dok6r3lknuCN/+iUekCquWuVWfsuiuyPURqonxDiledzRA9sOB2APtr8x4i5nJ4ppmsqegSzEpD87QnkS+SR/NSVCjgSpfihde3lkFEBlES2Le7fwFVGZojICF1bLbYXP1Kf8dqOziBwWt1cBO/zmL49B11YKRx9P3YK7v95rol+Ey995ubaa+67jqadqXmwnsJO3gmp2QpsjKzuRl9+iZMBAlYL6AWVbUY17Eb8STQV0BuRAN6jpy1ub4j4ix7W7Tgyk73kN1NIYB2MeQYUMPNR9LiDO29biDWrENlH2zgfbWlumbLYG43gLdUUGv97E4XEnOE45nkX2saN4quMN7Kh5bmY90khNTpVwtGh7oRyKS0V9piX03bb+3fTCzUr1tnQfRugImyuEUDlLusFr0hFAROqbV4PoY2cOtEdl9k2IvC3KKMm4/Xeux7buDHl0bk7In8UMwj+7LdfIcvTRNFrs2diTNIhfMxxmVpPRcbd8UQK9HoOGGSwm5RvMeStdaO85LeFnJHQaHAH6SAaNuvAabAMJQFX8pzw/vKNeaWyEXaTnpHnvuPs0GME X-Bogosity: Ham, tests=bogofilter, spamicity=0.000001, 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 04/04/2025 17:33, Lorenzo Stoakes wrote: > On Fri, Apr 04, 2025 at 03:43:46PM +0000, Nikita Kalyazin wrote: >> This series is built on top of the Fuad's v7 "mapping guest_memfd backed >> memory at the host" [1]. > > Hm if this is based on an unmerged series this seems quite speculative and > should maybe be an RFC? I mean that series at least still seems quite under > discussion/experiencing issues? > > Maybe worth RFC'ing until that one settles down first to avoid complexity > in review/application to tree? Hi, I dropped the RFC tag because I saw similar examples before, but I'm happy to bring it back next time if the dependency is not merged until then. > > Thanks! Thanks! > >> >> With James's KVM userfault [2], it is possible to handle stage-2 faults >> in guest_memfd in userspace. However, KVM itself also triggers faults >> in guest_memfd in some cases, for example: PV interfaces like kvmclock, >> PV EOI and page table walking code when fetching the MMIO instruction on >> x86. It was agreed in the guest_memfd upstream call on 23 Jan 2025 [3] >> that KVM would be accessing those pages via userspace page tables. In >> order for such faults to be handled in userspace, guest_memfd needs to >> support userfaultfd. >> >> Changes since v2 [4]: >> - James: Fix sgp type when calling shmem_get_folio_gfp >> - James: Improved vm_ops->fault() error handling >> - James: Add and make use of the can_userfault() VMA operation >> - James: Add UFFD_FEATURE_MINOR_GUEST_MEMFD feature flag >> - James: Fix typos and add more checks in the test >> >> Nikita >> >> [1] https://lore.kernel.org/kvm/20250318161823.4005529-1-tabba@google.com/T/ >> [2] https://lore.kernel.org/kvm/20250109204929.1106563-1-jthoughton@google.com/T/ >> [3] https://docs.google.com/document/d/1M6766BzdY1Lhk7LiR5IqVR8B8mG3cr-cxTxOrAosPOk/edit?tab=t.0#heading=h.w1126rgli5e3 >> [4] https://lore.kernel.org/kvm/20250402160721.97596-1-kalyazin@amazon.com/T/ >> >> Nikita Kalyazin (6): >> mm: userfaultfd: generic continue for non hugetlbfs >> mm: provide can_userfault vma operation >> mm: userfaultfd: use can_userfault vma operation >> KVM: guest_memfd: add support for userfaultfd minor >> mm: userfaultfd: add UFFD_FEATURE_MINOR_GUEST_MEMFD >> KVM: selftests: test userfaultfd minor for guest_memfd >> >> fs/userfaultfd.c | 3 +- >> include/linux/mm.h | 5 + >> include/linux/mm_types.h | 4 + >> include/linux/userfaultfd_k.h | 10 +- >> include/uapi/linux/userfaultfd.h | 8 +- >> mm/hugetlb.c | 9 +- >> mm/shmem.c | 17 +++- >> mm/userfaultfd.c | 47 ++++++--- >> .../testing/selftests/kvm/guest_memfd_test.c | 99 +++++++++++++++++++ >> virt/kvm/guest_memfd.c | 10 ++ >> 10 files changed, 188 insertions(+), 24 deletions(-) >> >> >> base-commit: 3cc51efc17a2c41a480eed36b31c1773936717e0 >> -- >> 2.47.1 >>