Re: [PATCH v2] fuse: permit freezing while waiting for request answer

Peter Zijlstra <[email protected]>
Newsgroups org.kernel.vger.linux-fsdevel,dev.linux.lists.fuse-devel,org.kernel.vger.linux-kernel
Message-ID <[email protected]>
On Fri, Aug 21, 2026 at 04:33:57PM +0200, Miklos Szeredi wrote:
> On Fri, 21 Aug 2026 at 10:30, Peter Zijlstra <[email protected]> wrote:
> 
> > That would be adding conditionals to the mutex, something we all pay
> > for, always.
> 
> It's just one bit (could be stashed  into LSB of ->first_waiter),
> Condition is checked before going to sleep, i.e. adds one branch in
> the slow path.  Don't think this could be measurable.

I suppose I'm not at all sure how it would differ from having
mutex_lock_freezable(), or how it would help in this situation.

> > One way would be for each file op to be wrapped like 'link-$op-unlink'
> > such that the client (the task doing the file op) gets linked to the
> > server (the task responsible for satisfying the request) before it can
> > block, and unlinked once its done.
> 
> Okay, how do you know which task or tasks are responsible for
> satisfying the request?  That's not a generally calculable
> information.
> 
> sshfs is a simple example: the transport layer process is ssh, but it
> is in no way involved in fuse transactions, there's just a pipe
> between the two.   How would the kernel know it has to link the ssh
> process when the pipe is written to?
> 
> There are probably many such examples where this fails.

Well, it was 'your' (as in not me) suggestion to have a freeze priority,
which sorta implied you knew what tasks to apply it to :/

Anyway, I suppose that in this case the fuse server is responsible to
communicate this dependency to the kernel -- or the sshfs fuse server
should use libssh and embed the ssh client inside itself, instead of
using pipes, dunno.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.