From: Horst Birthelmer <horst@birthelmer.de>
To: Joanne Koong <joannelkoong@gmail.com>
Cc: Bernd Schubert <bernd@bsbernd.com>,
Miklos Szeredi <miklos@szeredi.hu>,
Horst Birthelmer <horst@birthelmer.com>,
Bernd Schubert <bschubert@ddn.com>,
Luis Henriques <luis@igalia.com>,
linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org,
Horst Birthelmer <hbirthelmer@ddn.com>
Subject: Re: Re: Re: Re: [PATCH v5 1/3] fuse: add compound command to combine multiple requests
Date: Fri, 6 Mar 2026 09:17:13 +0100 [thread overview]
Message-ID: <aaqLZ-LKOnH94iwz@fedora.fritz.box> (raw)
In-Reply-To: <CAJnrk1YUf7xw9s8Bo1YZXVvfe8U-D4E+j-3iZNtOkog4QRZaMw@mail.gmail.com>
On Thu, Mar 05, 2026 at 04:52:01PM -0800, Joanne Koong wrote:
> On Sat, Feb 14, 2026 at 9:51 AM Horst Birthelmer <horst@birthelmer.de> wrote:
> >
> > On Fri, Feb 13, 2026 at 05:35:30PM -0800, Joanne Koong wrote:
> > > On Thu, Feb 12, 2026 at 3:44 AM Horst Birthelmer <horst@birthelmer.de> wrote:
> > > > I have a feeling we have different use cases in mind and misunderstand each other.
> > > >
> > > > As I see it:
> > > > From the discussion a while ago that actually started the whole thing I understand
> > > > that we have combinations of requests that we want to bunch together for a
> > > > specific semantic effect. (see OPEN+GETATTR that started it all)
> > > >
> > > > If that is true, then bunching together more commands to create 'compounds' that
> > > > semantically linked should not be a problem and we don't need any algorithm for
> > > > recosntructing the args. We know the semantics on both ends and craft the compounds
> > > > according to what is to be accomplished (the fuse server just provides the 'how')
> > > >
> > > > From the newer discussion I have a feeling that there is the idea floating around
> > > > that we should bunch together arbitrary requests to have some performance advantage.
> > > > This was not my initial intention.
> > > > We could do that however if we can fill the args and the requests are not
> > > > interdependent.
> > >
> > > I have a series of (very unpolished) patches from last year that does
> > > basically this. When libfuse does a read on /dev/fuse, the kernel
> > > crams in as many requests off the fiq list as it can fit into the
> > > buffer. On the libfuse side, when it iterates through that buffer it
> > > offloads each request to a worker thread to process/execute that
> > > request. It worked the same way on the dev uring side. I put those
> > > changes aside to work on the zero copy stuff, but if there's interest
> > > I can go back to those patches and clean them up and put them through
> > > some testing. I don't think the work overlaps with your compound
> > > requests stuff though. The compound requests would be a request inside
> > > the larger batch.
> >
> > I would like to have your patch for the processing of multiple requests
> > and the compound for handling semantically related requests.
> >
>
> the kernel-side changes for the /dev/fuse request batching are pretty
> self-contained [1] but the libfuse changes are very ugly. The
> benchmarks didn't look promising. I think it only really helps if the
> server has metadata-heavy bursty behavior that saturates all the
> libfuse threads, but I don't think that's typical. I dont think it's
> worth pursuing further.
Thanks for the patch. I agree completely. However I wrote that in the context
where I thought that people wanted to achieve something different with compound
requests, like processing parts of a queue depending on some or no criteria.
That's why I stressed the semantic relation of the requests in a compound.
I'm almost willing to bet that in the future we will see someone get
the idea of LOOKUP+OPEN+READ+CLOSE, which would practically
create exactly those bursts when not done as a compound.
Just as a side note ...
>
> Thanks,
> Joanne
>
> [1] https://github.com/joannekoong/linux/commit/308ebbde134ac98d3b3d3e2f3abc2c52ef444759
next prev parent reply other threads:[~2026-03-06 8:17 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-02-10 8:46 [PATCH v5 0/3] fuse: compound commands Horst Birthelmer
2026-02-10 8:46 ` [PATCH v5 1/3] fuse: add compound command to combine multiple requests Horst Birthelmer
2026-02-11 14:59 ` Luis Henriques
2026-02-11 16:18 ` Horst Birthelmer
2026-02-11 16:13 ` Miklos Szeredi
2026-02-11 16:35 ` Horst Birthelmer
2026-02-12 9:38 ` Miklos Szeredi
2026-02-12 9:53 ` Horst Birthelmer
2026-02-12 10:23 ` Miklos Szeredi
2026-02-12 10:48 ` Horst Birthelmer
2026-02-12 12:10 ` Miklos Szeredi
2026-02-12 12:33 ` Horst Birthelmer
2026-02-14 1:04 ` Joanne Koong
2026-02-11 20:36 ` Bernd Schubert
2026-02-12 9:07 ` Miklos Szeredi
2026-02-12 9:48 ` Bernd Schubert
2026-02-12 10:16 ` Miklos Szeredi
2026-02-12 10:43 ` Bernd Schubert
2026-02-12 11:44 ` Horst Birthelmer
2026-02-14 1:35 ` Joanne Koong
2026-02-14 12:54 ` Bernd Schubert
2026-02-14 17:50 ` Re: " Horst Birthelmer
2026-02-16 11:43 ` Miklos Szeredi
2026-02-16 15:22 ` Miklos Szeredi
2026-02-17 7:26 ` Horst Birthelmer
2026-02-17 7:28 ` Horst Birthelmer
2026-03-06 0:52 ` Joanne Koong
2026-03-06 8:17 ` Horst Birthelmer [this message]
2026-02-12 11:55 ` Miklos Szeredi
2026-02-10 8:46 ` [PATCH v5 2/3] fuse: create helper functions for filling in fuse args for open and getattr Horst Birthelmer
2026-02-10 8:46 ` [PATCH v5 3/3] fuse: add an implementation of open+getattr Horst Birthelmer
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=aaqLZ-LKOnH94iwz@fedora.fritz.box \
--to=horst@birthelmer.de \
--cc=bernd@bsbernd.com \
--cc=bschubert@ddn.com \
--cc=hbirthelmer@ddn.com \
--cc=horst@birthelmer.com \
--cc=joannelkoong@gmail.com \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=luis@igalia.com \
--cc=miklos@szeredi.hu \
/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