public inbox for io-uring@vger.kernel.org
 help / color / mirror / Atom feed
From: Bernd Schubert <bernd@bsbernd.com>
To: "xiaobing.li" <xiaobing.li@samsung.com>,
	bschubert@ddn.com, kbusch@kernel.org
Cc: amir73il@gmail.com, asml.silence@gmail.com, axboe@kernel.dk,
	io-uring@vger.kernel.org, joannelkoong@gmail.com,
	josef@toxicpanda.com, linux-fsdevel@vger.kernel.org,
	miklos@szeredi.hu, tom.leiming@gmail.com, dw@davidwei.uk,
	kun.dou@samsung.com, peiwei.li@samsung.com, xue01.he@samsung.com,
	cliang01.li@samsung.com, joshi.k@samsung.com
Subject: Re: [PATCH v9 00/17] fuse: fuse-over-io-uring.
Date: Mon, 23 Jun 2025 23:36:47 +0200	[thread overview]
Message-ID: <7f7f843e-f1ad-4c1c-ad4b-00063b1b6624@bsbernd.com> (raw)
In-Reply-To: <20250620013948.901965-1-xiaobing.li@samsung.com>



On 6/20/25 03:39, xiaobing.li wrote:
> On Wed, Jun 18, 2025 at 09:30:51PM -0600, Keith Busch wrote:
>> On Wed, Jun 18, 2025 at 03:13:41PM +0200, Bernd Schubert wrote:
>>> On 6/18/25 12:54, xiaobing.li wrote:
>>>>
>>>> Hi Bernd,
>>>>
>>>> Do you have any plans to add zero copy solution? We are interested in
>>>> FUSE's zero copy solution and conducting research in code.
>>>> If you have no plans in this regard for the time being, we intend to
>>>>  submit our solution.
>>>
>>> Hi Xiobing,
>>>
>>> Keith (add to CC) did some work for that in ublk and also planned to
>>> work on that for fuse (or a colleague). Maybe Keith could
>>> give an update.
>>
>> I was initially asked to implement a similar solution that ublk uses for
>> zero-copy, but the requirements changed such that it won't work. The
>> ublk server can't directly access the zero-copy buffers. It can only
>> indirectly refer to it with an io_ring registered buffer index, which is
>> fine my ublk use case, but the fuse server that I was trying to
>> enable does in fact need to directly access that data.
>>
>> My colleauge had been working a solution, but it required shared memory
>> between the application and the fuse server, and therefore cooperation
>> between them, which is rather limiting. It's still on his to-do list,
>> but I don't think it's a high priority at the moment. If you have
>> something in the works, please feel free to share it when you're ready,
>> and I would be interested to review.
> 
> Hi Bernd and Keith,
> 
> In fact, our current idea is to implement a similar solution that ublk uses 
> for zero-copy. If this can really further improve the performance of FUSE, 
> then I think it is worth trying.
> By the way, if it is convenient, could you tell me what was the original 
> motivation for adding io_uring, or why you want to improve the performance 
> of FUSE and what you want to apply it to?

At DDN we have mainly a network file system using fuse - the faster it
runs the better. But we need access to the data for erasure,
compression, etc. Zero-copy would be great, but I think it is
unrealistic that application would change their API just for fuse to get
the coorporating model that David suggests (at least in our case).


Thanks,
Bernd

  reply	other threads:[~2025-06-23 21:36 UTC|newest]

Thread overview: 51+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-10-16  0:05 [PATCH RFC v4 00/15] fuse: fuse-over-io-uring Bernd Schubert
2024-10-16  0:05 ` [PATCH RFC v4 01/15] fuse: rename to fuse_dev_end_requests and make non-static Bernd Schubert
2024-10-16  0:05 ` [PATCH RFC v4 02/15] fuse: Move fuse_get_dev to header file Bernd Schubert
2024-10-16  0:05 ` [PATCH RFC v4 03/15] fuse: Move request bits Bernd Schubert
2024-10-16  0:05 ` [PATCH RFC v4 04/15] fuse: Add fuse-io-uring design documentation Bernd Schubert
2024-10-16  0:05 ` [PATCH RFC v4 05/15] fuse: {uring} Handle SQEs - register commands Bernd Schubert
2024-10-16  0:05 ` [PATCH RFC v4 06/15] fuse: Make fuse_copy non static Bernd Schubert
2024-10-16  0:05 ` [PATCH RFC v4 07/15] fuse: Add buffer offset for uring into fuse_copy_state Bernd Schubert
2024-10-16  0:05 ` [PATCH RFC v4 08/15] fuse: {uring} Add uring sqe commit and fetch support Bernd Schubert
2024-10-16  0:05 ` [PATCH RFC v4 09/15] fuse: {uring} Handle teardown of ring entries Bernd Schubert
2024-10-16  0:05 ` [PATCH RFC v4 10/15] fuse: {uring} Add a ring queue and send method Bernd Schubert
2024-10-16  0:05 ` [PATCH RFC v4 11/15] fuse: {uring} Allow to queue to the ring Bernd Schubert
2024-10-16  0:05 ` [PATCH RFC v4 12/15] io_uring/cmd: let cmds to know about dying task Bernd Schubert
2024-11-04  0:28   ` Pavel Begunkov
2024-11-04 22:15     ` Bernd Schubert
2024-11-05  1:08       ` Pavel Begunkov
2024-11-05 23:02         ` Bernd Schubert
2024-11-06  0:14           ` Pavel Begunkov
2024-11-06 19:28             ` Bernd Schubert
2024-11-06  4:44           ` Ming Lei
2024-11-06 19:34             ` Bernd Schubert
2024-11-07 16:11               ` Pavel Begunkov
2024-10-16  0:05 ` [PATCH RFC v4 13/15] fuse: {uring} Handle IO_URING_F_TASK_DEAD Bernd Schubert
2024-10-16  0:05 ` [PATCH RFC v4 14/15] fuse: {io-uring} Prevent mount point hang on fuse-server termination Bernd Schubert
2024-10-16  0:05 ` [PATCH RFC v4 15/15] fuse: enable fuse-over-io-uring Bernd Schubert
2024-10-16  0:08 ` [PATCH RFC v4 00/15] fuse: fuse-over-io-uring Bernd Schubert
2024-10-21  4:06 ` David Wei
2024-10-21 11:47   ` Bernd Schubert
2024-10-21 20:57     ` David Wei
2024-10-22 10:24       ` Bernd Schubert
2024-10-22 12:46         ` Bernd Schubert
2024-10-22 17:10           ` David Wei
2024-10-22 17:12         ` David Wei
2024-10-22 22:10 ` David Wei
2024-11-04  8:24   ` Bernd Schubert
2024-11-04 23:02     ` Bernd Schubert
     [not found] ` <CGME20250618105918epcas5p472b61890ece3e8044e7172785f469cc0@epcas5p4.samsung.com>
2025-06-18 10:54   ` [PATCH v9 00/17] " xiaobing.li
2025-06-18 13:13     ` Bernd Schubert
2025-06-18 15:30       ` Keith Busch
2025-06-18 15:40         ` Pavel Begunkov
     [not found]         ` <CGME20250620014432epcas5p30841af52f56e49e557caef01f9e29e52@epcas5p3.samsung.com>
2025-06-20  1:39           ` xiaobing.li
2025-06-23 21:36             ` Bernd Schubert [this message]
2025-06-23 21:55               ` David Wei
2025-06-23 22:21                 ` Bernd Schubert
     [not found]                 ` <CGME20250814020034epcas5p47c78b2cf41ab9776a2eb5a4face4ff77@epcas5p4.samsung.com>
2025-08-14  1:55                   ` Xue He
2025-06-24  1:09               ` Ming Lei
     [not found]         ` <CGME20250623083812epcas5p2f7487b16f6a354b42e47b15d874bfbea@epcas5p2.samsung.com>
2025-06-23  8:33           ` xiaobing.li
  -- strict thread matches above, loose matches on Subject: below --
2025-01-07  0:25 Bernd Schubert
2025-01-17  9:07 ` Miklos Szeredi
2025-01-17  9:12   ` Bernd Schubert
2025-01-17 12:01     ` Pavel Begunkov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=7f7f843e-f1ad-4c1c-ad4b-00063b1b6624@bsbernd.com \
    --to=bernd@bsbernd.com \
    --cc=amir73il@gmail.com \
    --cc=asml.silence@gmail.com \
    --cc=axboe@kernel.dk \
    --cc=bschubert@ddn.com \
    --cc=cliang01.li@samsung.com \
    --cc=dw@davidwei.uk \
    --cc=io-uring@vger.kernel.org \
    --cc=joannelkoong@gmail.com \
    --cc=josef@toxicpanda.com \
    --cc=joshi.k@samsung.com \
    --cc=kbusch@kernel.org \
    --cc=kun.dou@samsung.com \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=miklos@szeredi.hu \
    --cc=peiwei.li@samsung.com \
    --cc=tom.leiming@gmail.com \
    --cc=xiaobing.li@samsung.com \
    --cc=xue01.he@samsung.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox