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 0FCEAC25B74 for ; Thu, 30 May 2024 16:02:32 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 963DD6B00A3; Thu, 30 May 2024 12:02:31 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 911BD6B00A4; Thu, 30 May 2024 12:02:31 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 7DA0A6B00A5; Thu, 30 May 2024 12:02:31 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id 5C5CA6B00A3 for ; Thu, 30 May 2024 12:02:31 -0400 (EDT) Received: from smtpin27.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id 15BD41A170B for ; Thu, 30 May 2024 16:02:31 +0000 (UTC) X-FDA: 82175529702.27.37E0DEC Received: from fhigh7-smtp.messagingengine.com (fhigh7-smtp.messagingengine.com [103.168.172.158]) by imf06.hostedemail.com (Postfix) with ESMTP id E212218002C for ; Thu, 30 May 2024 16:02:26 +0000 (UTC) Authentication-Results: imf06.hostedemail.com; dkim=pass header.d=fastmail.fm header.s=fm1 header.b=stEMyZw1; dkim=pass header.d=messagingengine.com header.s=fm1 header.b="W 5OZc0O"; dmarc=pass (policy=none) header.from=fastmail.fm; spf=pass (imf06.hostedemail.com: domain of bernd.schubert@fastmail.fm designates 103.168.172.158 as permitted sender) smtp.mailfrom=bernd.schubert@fastmail.fm ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1717084947; 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:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=rI9Mnu6bKEwhWUljKF/ma2c1LKvj8PeUrbA5/YS6tYU=; b=UQNfTe+TEsMFH1YHrQofvflg8zdx+CJVyHY5KAPO4fyugaFpW8Ld8EUUQhePjvMXgGqS8l 4E6SicTCOJNFymnilXPPFPyRg8tTbY5pA9qNxto68m/Lz0SEidrdJcqFw3Hx1G6CX/ut8y wEGbBw3yc6CU5VEaGCiQwv/WavtjVd4= ARC-Authentication-Results: i=1; imf06.hostedemail.com; dkim=pass header.d=fastmail.fm header.s=fm1 header.b=stEMyZw1; dkim=pass header.d=messagingengine.com header.s=fm1 header.b="W 5OZc0O"; dmarc=pass (policy=none) header.from=fastmail.fm; spf=pass (imf06.hostedemail.com: domain of bernd.schubert@fastmail.fm designates 103.168.172.158 as permitted sender) smtp.mailfrom=bernd.schubert@fastmail.fm ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1717084947; a=rsa-sha256; cv=none; b=KV5BFIzLROmck4czyomnQnQu4r7nbflVn55Ah32xG6GN+Z3gwrniY91b6CS8/SYyoJG3Jw 9IQZXiTqBV5xWIQzu6zXFKsSTFAl2vEGbPoEbx64PmNYoYvhbHbc7l1AswrGgy6+C/N2/3 r/LlkjoV3pjtWZjgquJmCQcMz08aLgQ= Received: from compute5.internal (compute5.nyi.internal [10.202.2.45]) by mailfhigh.nyi.internal (Postfix) with ESMTP id 3BA231140133; Thu, 30 May 2024 12:02:26 -0400 (EDT) Received: from mailfrontend1 ([10.202.2.162]) by compute5.internal (MEProxy); Thu, 30 May 2024 12:02:26 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fastmail.fm; h= cc:cc:content-transfer-encoding:content-type:content-type:date :date:from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:subject:subject:to:to; s=fm1; t=1717084946; x=1717171346; bh=rI9Mnu6bKEwhWUljKF/ma2c1LKvj8PeUrbA5/YS6tYU=; b= stEMyZw14kKUbp4V+Fpik4JFcCM1mHPhjcOur3FnLMSttvKcQFf6myQwpQ17v4II 9Bzt9qSs/YAVPF7gv26VKgkJwAZfjpipU6IkppCMJeQuTnQ8ZGQQa4jClFFb51FG kEGD7N8H2ZqZvqXMmrLqxvOp8tTZk/V8b68d72OjAZCpEVRXQWDFMIQ+vCw7tS7Y 2aT6guNq04+0Rlgcz9uW08hpC/D3qbBS6Xb1xueekRyit52mNABq6DRzC+IqFoXJ E9z9yy+0Pb013wKyAK5I057tLBtJIm5R1kqf1qyccTBML0pMeiePXSGAnKpSrQC3 CXDRNpbvYkIIOunAlZW6QQ== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:content-type:date:date:feedback-id:feedback-id :from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:subject:subject:to:to:x-me-proxy:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm1; t=1717084946; x= 1717171346; bh=rI9Mnu6bKEwhWUljKF/ma2c1LKvj8PeUrbA5/YS6tYU=; b=W 5OZc0OIDJhgoGwN8QQkFxtf5YRuZ8RcUQ4VvkPZ7Iyw1Ts85lVHFKnhOiPpcvGcw n7Mq1/OsGeZAsFyuAeeblD7HEFlPOa6CtE2dQfeEwtKwAIFhAGG33sRvFujssQ7g NWM3Ysou355VTZC66ZMmPVlFUDfnorni4HLf5ktdTwvavEOjM+ZGDK4UB56XzY22 5Zdm00Jiyop2qBFmHUEPb4kopcRKu3XOX/g/x7y0Af0+ficPN4n54h/EInoMEXBJ ImUXRJtVG3SiLp3+Kn4FVBO/N5sC1IAZggBtg3ZjQhS/wvP5BU8ikXYutbZYOVct gMVe7DtuM7uhwtBcXFL2A== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvledrvdekgedgleefucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhepkfffgggfuffvvehfhfgjtgfgsehtjeertddtvdejnecuhfhrohhmpeeuvghr nhguucfutghhuhgsvghrthcuoegsvghrnhgurdhstghhuhgsvghrthesfhgrshhtmhgrih hlrdhfmheqnecuggftrfgrthhtvghrnhepvefhgfdvledtudfgtdfggeelfedvheefieev jeeifeevieetgefggffgueelgfejnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrg hmpehmrghilhhfrhhomhepsggvrhhnugdrshgthhhusggvrhhtsehfrghsthhmrghilhdr fhhm X-ME-Proxy: Feedback-ID: id8a24192:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu, 30 May 2024 12:02:22 -0400 (EDT) Message-ID: <8c3548a9-3b15-49c4-9e38-68d81433144a@fastmail.fm> Date: Thu, 30 May 2024 18:02:21 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH RFC v2 00/19] fuse: fuse-over-io-uring To: Kent Overstreet , Bernd Schubert Cc: Miklos Szeredi , Amir Goldstein , linux-fsdevel@vger.kernel.org, Andrew Morton , linux-mm@kvack.org, Ingo Molnar , Peter Zijlstra , Andrei Vagin , io-uring@vger.kernel.org, Jens Axboe , Ming Lei , Pavel Begunkov , Josef Bacik References: <20240529-fuse-uring-for-6-9-rfc2-out-v1-0-d149476b1d65@ddn.com> <5mimjjxul2sc2g7x6pttnit46pbw3astwj2giqfr4xayp63el2@fb5bgtiavwgv> From: Bernd Schubert Content-Language: en-US, de-DE, fr In-Reply-To: <5mimjjxul2sc2g7x6pttnit46pbw3astwj2giqfr4xayp63el2@fb5bgtiavwgv> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Rspamd-Queue-Id: E212218002C X-Stat-Signature: hakjsc7mahgqgzwmbgb7pjj8z3hso5bz X-Rspam-User: X-Rspamd-Server: rspam11 X-HE-Tag: 1717084946-65312 X-HE-Meta: U2FsdGVkX1+wVgPmAYBz+YdC+YqQZ3u5yAbXr8X7aNI0LI2hUrl8jDu5OdqZCZr80a7Y+bBd0jP1hjNhilFJ2+HOLhCZfbhWGNCqd5yCjl2yGDZjwX2XOMmdlazSuCqdtlJVl0sv+Vhc8NnaGX8ot+rS0SUodqJcMXpdVtvhtCLCSnbimM6SymsH/qYYIZ9QVQWw+UpZGQTCH+tcbWChbmXtcmEbggeDKqVHs3A0vwEcXOY1M+n48d/osdWcWJzxEuPE5IsnzDbjrlK7ys6zTEYosotqkj2VSmSapleTaACefkJWg45TEGITIVC59RZPmYllDgQn611KprSgCjce9DT47na81BHPUzm/jvN4Ka52VprklUNs9FpM7bboHGoZTp7+iAf6H1JeVNhkhaLhMP6lcY+0cHmssR/709V/4ppfVORQKS+yfBRDqnLWYqSuDfIgAwoAMyzEwivcCLP78mdTe/xe5+DwLxmz7Gxq/5ImWtfahGWFTPcMreJYh8TmJdRyA4j/WOwc4UyaHpIVq5DgwZNja0KX7eZ3+lXwh+YR2GOOanXC2tkDPnKVFDuECu9KeWL2cfAFfn8QtDH2PgP7WF/PqweFphObMMKtbqg3h2PQDCJJz3kaqg1P1BB5V3Erxw71G58ad3qqalPNDG6UVgmB2WvJp3IL8qt2QPPA/pmTGIMjVfUATzgCztF8G4fSSoYbM1YSZkaoSXPCZZ2jz88bu11KZiZDspD3/KVcTFe7hdQtv/+L3DIvmZZ7I569bC8jW/T5OL7ruYygf55vGv8QFDtWUJQqHe6SwoIxCVypFwXHOzY/Zs2lr46c+3IYeBxEd/53tscKnsPhuxKF9u5pyXhoU1o0CGc4Cq4ROtfn5cDftZS0TPkWOuofp6EO/53ysFUcQIzvuLqCSQ02fUnxObPEOSKGEhKqd8C2da8gRBP9SfrmeMAeGWcw8yT+UvpPVL143AuZLlV 3/8Bgkqf 0VayyfGdGAj7Ex44mKXLtsv99QS7uiddsjgyYe4JQHzhB5cGJj41VT9TJMoXeZtYuQU+gCftwrOoZQaKjlJ6b157h6aQU1XVxOlzU3IOj3uShNMDoWqG++P7KdpTE02oqMW2u+Xc3bu2s2/nqGUFsKEIqVrA9g1epiK/T+CCf0UpGpgzQxQs+vMIjjJ6z4UiyeXEeqyqoVm47A5nZ73kTCT9+tY/L4etu4myzVpbkouGdbeC78U7sWZtpK9AIZewXV/jsEFtrABFtGk0OqtYU5egRi9rpA/EP/yW/Q26xb0zPC1XIVjh7Ryoqy6njcNKrSiPUrQjG+YHAhQMHZPfo1gfDTtlZy16gCuM5PL34M61ffxiSNAM1FbJe6E/f9F8crsYOLi0mFQBZGecddFPJ88HVyApKsoEyPbwvEd9l6tEhbrnn9B8aQGosTw== 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 5/30/24 17:36, Kent Overstreet wrote: > On Wed, May 29, 2024 at 08:00:35PM +0200, Bernd Schubert wrote: >> From: Bernd Schubert >> >> This adds support for uring communication between kernel and >> userspace daemon using opcode the IORING_OP_URING_CMD. The basic >> appraoch was taken from ublk. The patches are in RFC state, >> some major changes are still to be expected. >> >> Motivation for these patches is all to increase fuse performance. >> In fuse-over-io-uring requests avoid core switching (application >> on core X, processing of fuse server on random core Y) and use >> shared memory between kernel and userspace to transfer data. >> Similar approaches have been taken by ZUFS and FUSE2, though >> not over io-uring, but through ioctl IOs > > What specifically is it about io-uring that's helpful here? Besides the > ringbuffer? > > So the original mess was that because we didn't have a generic > ringbuffer, we had aio, tracing, and god knows what else all > implementing their own special purpose ringbuffers (all with weird > quirks of debatable or no usefulness). > > It seems to me that what fuse (and a lot of other things want) is just a > clean simple easy to use generic ringbuffer for sending what-have-you > back and forth between the kernel and userspace - in this case RPCs from > the kernel to userspace. > > But instead, the solution seems to be just toss everything into a new > giant subsystem? Hmm, initially I had thought about writing my own ring buffer, but then io-uring got IORING_OP_URING_CMD, which seems to have exactly what we need? From interface point of view, io-uring seems easy to use here, has everything we need and kind of the same thing is used for ublk - what speaks against io-uring? And what other suggestion do you have? I guess the same concern would also apply to ublk_drv. Well, decoupling from io-uring might help to get for zero-copy, as there doesn't seem to be an agreement with Mings approaches (sorry I'm only silently following for now). >From our side, a customer has pointed out security concerns for io-uring. My thinking so far was to implemented the required io-uring pieces into an module and access it with ioctls... Which would also allow to backport it to RHEL8/RHEL9. Thanks, Bernd