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 7028BE69188 for ; Fri, 22 Nov 2024 18:33:39 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 89A546B009C; Fri, 22 Nov 2024 13:33:38 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 86F876B009D; Fri, 22 Nov 2024 13:33:38 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 785706B009E; Fri, 22 Nov 2024 13:33:38 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id 5B0EF6B009C for ; Fri, 22 Nov 2024 13:33:38 -0500 (EST) Received: from smtpin28.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id 0FB6E1415BE for ; Fri, 22 Nov 2024 18:33:38 +0000 (UTC) X-FDA: 82814578770.28.AF7A65F Received: from casper.infradead.org (casper.infradead.org [90.155.50.34]) by imf30.hostedemail.com (Postfix) with ESMTP id DCFB580005 for ; Fri, 22 Nov 2024 18:31:53 +0000 (UTC) Authentication-Results: imf30.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=dpKJyFBg; dmarc=none; spf=none (imf30.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1732300348; a=rsa-sha256; cv=none; b=PnbhHJTUWEUnQ9Rr3joBkvm1w6kgiYcwz1uR+RYOQywq6UCC6KSil86ixmZ+cK7S+iDyXy 5EvBu3fg2/j0lmp0mr3o3O7V38dyySYIUUExIEfRkwGOWJ1LEgMdX2eFyD65CjuN2Z1XY4 29af72+ngg0aIKnpuieOtAU3aCvC+Ak= ARC-Authentication-Results: i=1; imf30.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=dpKJyFBg; dmarc=none; spf=none (imf30.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1732300348; 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=2+K2vO+YH28AbBPpcin8XCiUS+NS9nCewhxVz1hPnHs=; b=k2/gntRQj2Or/wy8JUwtTaMppeYhikVGtxxECHEvBOHbsPJOUQT7QLv3OwU4MazAn/ZUSP FxnLI4IlBdchXKeNuZQYLikI0lWTYZxt6JwRJBVHvi4Tq+AB+LY0DNeGenlgt+diHnKd2w e4L0yLwEcgjXpqzLfsLZi5VPKcrn2tE= DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=casper.20170209; h=In-Reply-To:Content-Type:MIME-Version: References:Message-ID:Subject:Cc:To:From:Date:Sender:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description; bh=2+K2vO+YH28AbBPpcin8XCiUS+NS9nCewhxVz1hPnHs=; b=dpKJyFBgo5rAV5bVvDqMFqw21z 93FmlQvXiYAcgtJHjPq0kqXWIrXVNMYT1cax3pXa5gTAso3KQf7Ghn79Vb31Od4P1ff0dWeEKdpa0 Nt0+RKtkYYTsePr9gI6Dx3LA2wxiz8eVxJbH1t6Gtcn18xAi8Sty91FlynmjrHllIjJoPhxwNPlvp /TC4eJqkps4ZMjV7WYLXOMPMj5NVJWDFL6gA0mbrojQFdKYLQ9xhGcSS3ZW/I7dBh2CDxxQ5kCKm+ 6S/k1wAeFJ1fQQFkViTvBF/zJ8qOleScAf0wLCPWMV+VhCEbsWqPqOyHNic4cpNwONVAtshrXeTo+ j+hifZaw==; Received: from willy by casper.infradead.org with local (Exim 4.98 #2 (Red Hat Linux)) id 1tEYT7-000000088t7-1mo1; Fri, 22 Nov 2024 18:33:25 +0000 Date: Fri, 22 Nov 2024 18:33:25 +0000 From: Matthew Wilcox To: Elliot Berman Cc: Paolo Bonzini , Andrew Morton , Sean Christopherson , Fuad Tabba , Ackerley Tng , Mike Rapoport , David Hildenbrand , "H. Peter Anvin" , Jonathan Corbet , Trond Myklebust , Anna Schumaker , Mike Marshall , Martin Brandenburg , Alexander Viro , Christian Brauner , Jan Kara , James Gowans , Mike Day , linux-fsdevel@vger.kernel.org, kvm@vger.kernel.org, linux-coco@lists.linux.dev, linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org, linux-doc@vger.kernel.org, linux-nfs@vger.kernel.org, devel@lists.orangefs.org, linux-arm-kernel@lists.infradead.org Subject: Re: [PATCH v5 2/2] mm: guestmem: Convert address_space operations to guestmem library Message-ID: References: <20241122-guestmem-library-v5-0-450e92951a15@quicinc.com> <20241122-guestmem-library-v5-2-450e92951a15@quicinc.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20241122-guestmem-library-v5-2-450e92951a15@quicinc.com> X-Rspam-User: X-Rspamd-Queue-Id: DCFB580005 X-Rspamd-Server: rspam11 X-Stat-Signature: hqr16uitix9moih7c9gqtn87d1ssght7 X-HE-Tag: 1732300313-933124 X-HE-Meta: U2FsdGVkX19WwaYZ86vu8+F//wwJe410LKb1dKg4IMQlTo4Sv0YGdaFRJNJ/0ux0nsabLPszT+kes5FeSeqO8snIcg8sF4t0B3H/CmP/wCj6ME9jpSZAQcDHB6fJbu+kmhy00jonYS2pl9KpnRsk70PVFrn3yemXeYgwUT6bftyE0QnXuAwnwbCqngZlxpyLDsvpt7lp/S4J6sQeaWNXGFzq+qxstJmpKVhWuD9np7GSVUhkfLtoGB6pxbmwJeKBKv2e4atolyBEmJw9qvmpEfYv06lnPWVmABYhUwfpUhnAQnczN9RjD+8mgIbsGEqgI2wIjwZ7T1SeV0HiNKKC4IClH58ZkYJW1yp73hVY56/90Da5y1ZjfaYVydlAz5F0rmZa9b9BxY4LAUIaYEO9wUEWBFgyCFP33k9prD5NQS2SOuZfGR4f9QsC5QrZHD9D5jIe/sEeJPXpJM4zejah3tBVN6GIDa8ZWr4sUjX7bpWDS+eiqPWUPioxO8bhLIEIVwbKFqo74ID6E4LaBuZyW6VKUDggBi175OMq4zDTXnNtZDztiIPrEINOxUjCjOh1ERWrX3z80FPlvoubjgKVzACchkfL9zQPd9pZzfWbiglqLl/IR8A1W000JrGwEzii2FkWHhTbbiu+0cmddrqBTeGTNg2PtAODswUZK6OgHzgi1lFhgafjb8kq/IeGZJmQ0SBHF1UwtFjahutq6FG66HRV04vTPkdJjd+2dvZu1bNvlZKUDHXOK9IALlUFI3ZADi9TZMRCyOoSOMF8eAffT1UjKTKtyIAGhBlwAxQvtGRaWXR7mxA2M1ttc/H/OdD2DfZNqOf30FoCjb5UYzAeRg9sTu+unTW9B0PCKU1NA/x/vy8jw5a23dbvKfnbp1cp6OmbJpxEaGf6py3mFfAkaCoBgJXDtTGEx5o03E+AI9n4ISzgY16vAmiSp6l6ygTHf8Em63MHZmzio/bUAwV bgxnQ0Ae v7akQeC4AdQiNg+wb48A08l5tfUmUFKKTWRiBuzN2mPwZRvwIPJUxDbYM13m7r27eLQ8R27vKsdNln0Wz4+kwParSLRcROqFPBXBSE2Mh5ygZpBsAiNQZB7fy2iyJZY4IelF5qAZiYabiydHc54z8/TD2hlnvbn1aCQMSryWaBNF6PTk7jfrbj52iXhX8leEbtF6k0NlrOJY33bdVjjZi66cfhLvozC6eBAkFDillVtdZ1ZtuhJ9EuxxdXj98y5yoFdKjsXuWMM48lSx2LAEy7RvUpw== 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 Fri, Nov 22, 2024 at 09:29:39AM -0800, Elliot Berman wrote: > A few near-term features are coming to guest_memfd which make sense to > create a built-in library. You haven't created a library, you've created a middle-layer. This file primarily consists of functions which redispatch to a function pointer. I think you'd be better off creating a library! That is, have the consumers register their own address_space_operations and have functions in this library which provide useful implementations. That's, eg, how iomap works: const struct address_space_operations xfs_address_space_operations = { .read_folio = xfs_vm_read_folio, .readahead = xfs_vm_readahead, .writepages = xfs_vm_writepages, .dirty_folio = iomap_dirty_folio, .release_folio = iomap_release_folio, .invalidate_folio = iomap_invalidate_folio, .bmap = xfs_vm_bmap, .migrate_folio = filemap_migrate_folio, .is_partially_uptodate = iomap_is_partially_uptodate, .error_remove_folio = generic_error_remove_folio, .swap_activate = xfs_iomap_swapfile_activate, }; Some of these functions are xfs specific, some are iomap specific and some are the generic VFS implementations.