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 24BD5C19F32 for ; Wed, 5 Mar 2025 20:29:27 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 96313280006; Wed, 5 Mar 2025 15:29:25 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 9127A280005; Wed, 5 Mar 2025 15:29:25 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 7B37F280006; Wed, 5 Mar 2025 15:29:25 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id 5CD41280005 for ; Wed, 5 Mar 2025 15:29:25 -0500 (EST) Received: from smtpin20.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id 39223140AAA for ; Wed, 5 Mar 2025 20:29:26 +0000 (UTC) X-FDA: 83188637532.20.E40AEDD 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 022DF100006 for ; Wed, 5 Mar 2025 20:29:23 +0000 (UTC) Authentication-Results: imf14.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b="JVMpXpZ/"; 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=1741206564; 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=oalwxEzZmbkO3BEyiEOSG53V47EPWxAbwPV2MRYZBwA=; b=Q//pzs6s2EfA6sVHortc7WiB2Fod3ny3wcstrbGB3qVclGFTh+3z93pcTNFTvKNSM0vPtv wbn3Y97X6E9tgdMQ2uMXs7t33srxvYiDVzKGnPfAMH80XFoTTBEmYsNE7nX1zYnQe6/0dI ciuWeJukbDUDkWOQXpVa+lY5fRLyW8s= ARC-Authentication-Results: i=1; imf14.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b="JVMpXpZ/"; 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=1741206564; a=rsa-sha256; cv=none; b=oAwM8QDj924rhxE0FvRCj9hc7/iLF19BohXPNPFPzjzyLRr6ADmTBXwZle6SGLg1QDQRjA PFWlftGtE0UOrF5O+dZ0xbrGCyKQzeTBk0TzppE9lv6aVN2y0IbG8UW/WJSJmnidrjhLMP 1lJgIxvbdxm1QGxH4fS/4acvQVOLHh4= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1741206563; 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=oalwxEzZmbkO3BEyiEOSG53V47EPWxAbwPV2MRYZBwA=; b=JVMpXpZ/DndCfCWriD2L12bVh2sJwWa0L7oO8mrn5t51PUbpABztdelvpHF73I3ZrYbTFM KIz8fs6Q+pTY7dzBrJMhZcPHZG0NwEDupAPUgSF6c+iRQbnyADgQg3C0q6HpPybcy+lHBA 8uLtB7iTnTxFpJlyEXFPmxzAvzuv1+0= Received: from mail-qv1-f69.google.com (mail-qv1-f69.google.com [209.85.219.69]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-80-dv_NR6SiP5-8EzTZz-CPkQ-1; Wed, 05 Mar 2025 15:29:22 -0500 X-MC-Unique: dv_NR6SiP5-8EzTZz-CPkQ-1 X-Mimecast-MFC-AGG-ID: dv_NR6SiP5-8EzTZz-CPkQ_1741206561 Received: by mail-qv1-f69.google.com with SMTP id 6a1803df08f44-6e8b46924feso23146236d6.1 for ; Wed, 05 Mar 2025 12:29:22 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1741206561; x=1741811361; 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=oalwxEzZmbkO3BEyiEOSG53V47EPWxAbwPV2MRYZBwA=; b=XRFP8jrMJdNkoGRr6OEOdrFVa/uSmO9FQT27i92AdfNocvIGNYmlFLbbO5PtyJY3xK dWIlZEI+V9g9M2Xbi6mVxE3ZiqhUceWBGjeM6LXbglFnIc7N/TPVryjETF6DbwcfKZhL 4AGAmvqptjPEc3z/fqhl4QXzoGqrUwcL63GXcNHquprn0xsErbM2w2iUsvyAmNf55N7i uDl2IR71SMk3zq/SUWpeKs4L9l6L72fheiEwFqwVqTSMxLv6V2iBKmsDUYoNyMZrG1hP RQQTvRSSCBSt7rkTli0f1QAmu3ukLNnN4hDBjmYXsbHRqFuPZKtXFnYlIM8VhKWXSwTX f/pQ== X-Forwarded-Encrypted: i=1; AJvYcCWoNsBaR5XRfU+CP8O5V3leYDzj0PfvWepBxEpNA4VfPHubllqSo7Sg7VZJP8odsTQx+ciwuz6HkA==@kvack.org X-Gm-Message-State: AOJu0YxhW+RHCaBpmldMDvq8rQLiPbi7r4Q9GcWfo22vLboD+Qr/REB/ h+VOqbSvBuI2DoE9dma1Gskh1V8mLc5OtUo+DjdgB6b5HEwUCycvgdBjuu3eixCXBs+FdlZSqGp gQBTaM3OLLV9VRcXj/DndoYPe9XHqhNXPZTUrK1hUNyWHZLeE X-Gm-Gg: ASbGncv1LViY0F5cDwmAqIBWsLuI5cjAThFKDX5Tt1N9MaLiOIm9Lv6SRcHXzk3j0RJ 3uk3QIGnue3aVINnr/jRsL9EfA3bQqioQTQvr8WUTdIZej3Zoh2m00E46RNPiVGmnIP7tVUwU6k T2rEUJlSsupqVEmuK202j1bOD+jTBMai8gn9lvcxlOtya6RKOS36gfTQ7PTE+aMOuRCpdBG1VKw 3ePkYKkOG4/J5bdZs31DSMlGMD9JCzo2SJ8ihRTegp3huw3ru27YrhPQJ2EPmDDLuF/0fdp/1jH 1W54+fA= X-Received: by 2002:a05:6214:21e3:b0:6e6:9b86:85d0 with SMTP id 6a1803df08f44-6e8f46d5cd1mr8080076d6.8.1741206561651; Wed, 05 Mar 2025 12:29:21 -0800 (PST) X-Google-Smtp-Source: AGHT+IEzj3VnzDaaIbvAFjVufn5nGxmexz91QgKSdKtxQ40yVUP2gqR5kYn2qDKbFG2xC9ZTZ7Hnpw== X-Received: by 2002:a05:6214:21e3:b0:6e6:9b86:85d0 with SMTP id 6a1803df08f44-6e8f46d5cd1mr8079756d6.8.1741206561335; Wed, 05 Mar 2025 12:29:21 -0800 (PST) Received: from x1.local ([85.131.185.92]) by smtp.gmail.com with ESMTPSA id 6a1803df08f44-6e8976cc9cdsm82983196d6.88.2025.03.05.12.29.19 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 05 Mar 2025 12:29:20 -0800 (PST) Date: Wed, 5 Mar 2025 15:29:17 -0500 From: Peter Xu To: James Houghton Cc: Nikita Kalyazin , akpm@linux-foundation.org, pbonzini@redhat.com, shuah@kernel.org, kvm@vger.kernel.org, linux-kselftest@vger.kernel.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org, lorenzo.stoakes@oracle.com, david@redhat.com, ryan.roberts@arm.com, quic_eberman@quicinc.com, graf@amazon.de, jgowans@amazon.com, roypat@amazon.co.uk, derekmn@amazon.com, nsaenz@amazon.es, xmarcalx@amazon.com Subject: Re: [RFC PATCH 0/5] KVM: guest_memfd: support for uffd missing Message-ID: References: <20250303133011.44095-1-kalyazin@amazon.com> MIME-Version: 1.0 In-Reply-To: X-Mimecast-Spam-Score: 0 X-Mimecast-MFC-PROC-ID: DvhnMAp7X4HHodkJrEZ-ry9T2EpdMyEf4c38uARQmFg_1741206561 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset=utf-8 Content-Disposition: inline X-Stat-Signature: 3quyrauohntdioigf7cjzm113fh8bste X-Rspamd-Server: rspam11 X-Rspamd-Queue-Id: 022DF100006 X-Rspam-User: X-HE-Tag: 1741206563-99763 X-HE-Meta: U2FsdGVkX1+mBy3h/c8fujnzvtCwrFjP4UZxDSs4qLwiA7YR1Kjz+rQDXqK4UrP15Ojq1TzcyhwPIxsciI3//06k3RziwecIFu61Ivl/pM4jHkvz3QXFwaNqN3NkJlKqrDuqsb6PYKfYWwqzUVUueOrXkvQTBmUwzQhL7xl9oJtmHpzJCF+P3kJal+xy4ZhIZcOPI+m01Sm34SxubLvLMzmO15hGCLt+OW2EkaFj6ZSmA3jrmJc6qm3Msnjqh2NAyvSc6a2t+dTpy9agxV17XbuRimC5jnJJRtAHBSrL7iTJrQ/OOL7FikNJAaH5zwls8KyKWEhyYyygJlLaHYwnT6F8giWNeHb3Ooo3hoGdW/NWHSxDtppGZSOzl3xDWtGTlFEwHJh9RD14WNWB0izKLmOMRNtNE7goPKiOEZrZaSP22vq/TtdEvKOk0JnDvTkvz7onAJLAst6KioD/SGMOLBEt84XHFaIf5fmmpv6ey7RvbqvlAgZgVKLOUUoookBOeuDxBQNM3C7dT8ocEzY3NAILOiLGRBztopEVOfMqVxPus7mpSZHsOsrXipYz6p/JhdUzvOGXxNjfnN//ZdWXyEvj8fqvcXqLj8iA45/9+gZ8wvOoxNmK48/blfrotsd8JjacgWKVozxwM7sULu9Ny14vOncB9j0tfQTvlTKOVtuTARiLwam7fviYGeJl3eDJoM1iBcmht49d6j3v7pEsMl2zJjH15IhSbdgQukVnHwh24u4cBr+tQ9Q85SKnvRHpI5A12coTeKx6oJQxXDJcLY5sTQSjDvxCVChumATKECZriUfYkFvHe7AeS5mFEVngREdQh2ha5T9sig00nlR4lTOWk4zNRmgmD/XCLhjr/i4M/LDBV42eafEjnKrqDHn3erwhvrXZukhP5PvxQo5G1uMZZC0i8wl5ly+SR3yO9PT0MfTtBNlm2RkVeX0M1h1VFCZhsA4UEYoTis4tKlY 6/en0MIk pxRG9liW34y1uWQ6JNl2DNSaq15nrhbZWsEge8izrimzRFgKRIplt49suh9nwFehSnYnEKwTqSt1PbjdULDPIyN3G8MbLiY/yN+aqPNNlluiB7mGo3yPd7JlJGtu8Hh27GCIOnP9It5o34K6ZfIdm5ZBXVyxXk4zWRkKcdgChTXETxfHoXTZ16T2KE2WGyZCN0VCUCDF9wwR1bKNW+rsVcWTcUw3IWwUL9Uc7Ano9w85aMcbzLqQgMYMc6qtbjIPcElsFxkzhfVDfI248z+ZAWq/m3K6wwazaGR5PDrLo6p9BQRcW9fooQwgv0cdnfvyLKL/k1IRBKllI8roI8PRbGLhcRrF5SbqBDR1gHIOJIz1PVe0eQuw5A8O83LrN6VCJh8j/ X-Bogosity: Ham, tests=bogofilter, spamicity=0.007307, 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 Wed, Mar 05, 2025 at 11:35:27AM -0800, James Houghton wrote: > I think it might be useful to implement an fs-generic MINOR mode. The > fault handler is already easy enough to do generically (though it > would become more difficult to determine if the "MINOR" fault is > actually a MISSING fault, but at least for my userspace, the > distinction isn't important. :)) So the question becomes: what should > UFFDIO_CONTINUE look like? > > And I think it would be nice if UFFDIO_CONTINUE just called > vm_ops->fault() to get the page we want to map and then mapped it, > instead of having shmem-specific and hugetlb-specific versions (though > maybe we need to keep the hugetlb specialization...). That would avoid > putting kvm/gmem/etc. symbols in mm/userfaultfd code. > > I've actually wanted to do this for a while but haven't had a good > reason to pursue it. I wonder if it can be done in a > backwards-compatible fashion... Yes I also thought about that. :) When Axel added minor fault, it's not a major concern as it's the only fs that will consume the feature anyway in the do_fault() path - hugetlbfs has its own path to take care of.. even until now. And there's some valid points too if someone would argue to put it there especially on folio lock - do that in shmem.c can avoid taking folio lock when generating minor fault message. It might make some difference when the faults are heavy and when folio lock is frequently taken elsewhere too. It might boil down to how many more FSes would support minor fault, and whether we would care about such difference at last to shmem users. If gmem is the only one after existing ones, IIUC there's still option we implement it in gmem code. After all, I expect the change should be very under control (<20 LOCs?).. -- Peter Xu