From: Sergey Senozhatsky <senozhatsky@chromium.org>
To: Peter Zijlstra <peterz@infradead.org>
Cc: Sergey Senozhatsky <senozhatsky@chromium.org>,
Miklos Szeredi <miklos@szeredi.hu>,
fuse-devel@lists.linux.dev, linux-kernel@vger.kernel.org,
"Rafael J. Wysocki" <rafael@kernel.org>,
linux-fsdevel@vger.kernel.org
Subject: Re: [PATCH v2] fuse: permit freezing while waiting for request answer
Date: Thu, 20 Aug 2026 18:24:29 +0900 [thread overview]
Message-ID: <aobGRjc7SE1rwIHu@google.com> (raw)
In-Reply-To: <20260820091018.GA4120091@noisy.programming.kicks-ass.net>
On (26/08/20 11:10), Peter Zijlstra wrote:
> On Thu, Aug 20, 2026 at 06:07:18PM +0900, Sergey Senozhatsky wrote:
> > On (26/08/20 10:49), Peter Zijlstra wrote:
> > > Message-ID: <20260820084933.GA4036497@noisy.programming.kicks-ass.net>
> > >
> > > On Wed, Aug 19, 2026 at 12:03:32PM +0200, Miklos Szeredi wrote:
> > > > Why is this unsafe exactly? Does that unsafeness apply to
> > > > filesystems? If so why do we allow freezing while blocked on
> > > > sb_start_write()?
> > >
> > > Getting frozen with lock A held, while another task is blocked on A in
> > > an unfreezable state results in the system not being freezable.
> >
> > Right, but then the system says "suspend failed" (tasks refuse to freeze
> > after 20sec) and just thaws everything back in?
>
> People don't like suspend failing. People like to close their lid, throw
> laptop in bag, and expect laptop to not cook itself to death.
Sure, that's exactly the problem I'm looking at. Throwing TASK_FREEZABLE
addresses some of the cases. Failing laptop suspend because of uncontended
VFS lock is not an uncommon scenario for us. Ideally, however, we need
some sort of server/client aware suspend, maybe moving clients to cgroup C
and server to cgroup S, and freezing those in strict order. Or teaching PM
that some tasks cannot be frozen in random order during suspend (e.g. a
special flag PM_FREEZE_ME_LAST).
fuse is not the only subsystem that doesn't fit current random order suspend.
Another troublemaker for us is notify, which basically has the same server/client
architecture (where both sides are user-space processes).
next prev parent reply other threads:[~2026-08-20 9:24 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20260819023542.561653-1-senozhatsky@chromium.org>
2026-08-19 10:03 ` [PATCH v2] fuse: permit freezing while waiting for request answer Miklos Szeredi
2026-08-20 4:57 ` Sergey Senozhatsky
2026-08-20 8:49 ` Peter Zijlstra
2026-08-20 9:07 ` Sergey Senozhatsky
2026-08-20 9:10 ` Peter Zijlstra
2026-08-20 9:24 ` Sergey Senozhatsky [this message]
2026-08-20 9:34 ` Peter Zijlstra
2026-08-20 9:47 ` Sergey Senozhatsky
2026-08-20 10:41 ` Peter Zijlstra
2026-08-20 16:11 ` Miklos Szeredi
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=aobGRjc7SE1rwIHu@google.com \
--to=senozhatsky@chromium.org \
--cc=fuse-devel@lists.linux.dev \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=miklos@szeredi.hu \
--cc=peterz@infradead.org \
--cc=rafael@kernel.org \
/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