Re: [PATCH] fuse: Add open-gettr for fuse-file-open

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Feb 14, 2025 at 12:27 PM Bernd Schubert
<bernd.schubert@xxxxxxxxxxx> wrote:
>
> Hi Joanne,
>
> On 2/14/25 21:01, Joanne Koong wrote:
> > On Wed, Aug 21, 2024 at 8:04 AM Miklos Szeredi <miklos@xxxxxxxxxx> wrote:
> >>
> >> On Wed, 21 Aug 2024 at 16:44, Bernd Schubert <bernd.schubert@xxxxxxxxxxx> wrote:
> >>
> >>> struct atomic_open
> >>> {
> >>>         uint64_t atomic_open_flags;
> >>>         struct fuse_open_out open_out;
> >>>         uint8_t future_padding1[16];
> >>>         struct fuse_entry_out entry_out;
> >>>         uint8_t future_padding2[16];
> >>> }
> >>>
> >>>
> >>> What do you think?
> >>
> >> I'm wondering if something like the "compound procedure" in NFSv4
> >> would work for fuse as well?
> >
> > Are compound requests still something that's planned to be added to
> > fuse given that fuse now has support for sending requests over uring,
> > which diminishes the overhead of kernel/userspace context switches for
> > sending multiple requests vs 1 big compound request?
> >
> > The reason I ask is because the mitigation for the stale attributes
> > data corruption for servers backed by network filesystems we saw in
> > [1]  is dependent on this patch / compound requests. If compound
> > requests are no longer useful / planned, then what are your thoughts
> > on [1] as an acceptable solution?
>

Hi Bernd,

> sorry, I have it in our ticket system, but I'm totally occupied with
> others issues for weeks *sigh*
>

No worries!

> Does io-uring really help if there is just on application doing IO to
> the current core/ring-queue?
>
> open - blocking fg request
> getattr - blocking fg request
>

My understanding (and please correct me here if i'm wrong) is that the
main benefit of compound requests is that it bundles multiple requests
into 1 request to minimize kernel/userspace context switches. For fuse
io-uring [2], "motivation ... is... to increase fuse performance by:
Reducing kernel/userspace context switches. Part of that is given by
the ring ring - handling multiple requests on either side of
kernel/userspace without the need to switch per request".

Am I missing something in my understanding of io-uring reducing
context switches?


> If we could dispatch both as bg request and wait for the response it
> might work out, but in the current form not ideal.
>
> I can only try to find the time over the weekend to work on the
> compound reuqest, although need to send out the other patch and
> especially to test it (the one about possible list corruption).

If you need an extra pair of hands, i'm happy to help out with this.
Internally, we'd like to get the proper fix in for the issue in [1],
but we have a hacky workaround for it right now (returning -ESTALE to
redo the lookup and update the file size), so we're not in a huge
rush.

Thanks,
Joanne

[2] https://lore.kernel.org/linux-fsdevel/20250120-fuse-uring-for-6-10-rfc4-v10-0-ca7c5d1007c0@xxxxxxx/

>
>
> Thanks
> Bernd
>
>
>
>
>





[Index of Archives]     [Linux Ext4 Filesystem]     [Union Filesystem]     [Filesystem Testing]     [Ceph Users]     [Ecryptfs]     [NTFS 3]     [AutoFS]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux Cachefs]     [Reiser Filesystem]     [Linux RAID]     [NTFS 3]     [Samba]     [Device Mapper]     [CEPH Development]

  Powered by Linux