public inbox for linux-fsdevel@vger.kernel.org
 help / color / mirror / Atom feed
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

  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