[linux-pm] Freezer: Don't count threads waiting for frozen filesystems.

Nigel Cunningham ncunningham at crca.org.au
Tue Oct 28 16:58:29 PDT 2008


Hi.

On Wed, 2008-10-29 at 00:50 +0100, Miklos Szeredi wrote:
> On Wed, 29 Oct 2008, Miklos Szeredi wrote:
> > On Wed, 29 Oct 2008, Nigel Cunningham wrote:
> > > Hi.
> > > 
> > > On Wed, 2008-10-29 at 00:24 +0100, Miklos Szeredi wrote:
> > > > On Wed, 29 Oct 2008, Nigel Cunningham wrote:
> > > > > Remember, though, that we're only freezing fuse at the moment, and
> > > > > strictly one filesystem at a time. We can thus happily wait for the
> > > > > i_mutex taken by some other process to be released.
> > > > 
> > > > Not going to work: you need to wait for all requests to be finished,
> > > > but those might depend on some other fuse filesystem which has already
> > > > been frozen.
> > > 
> > > Okay. In that case, am I right in thinking that the request waiting on
> > > the frozen filesystem will be stuck in request_wait_answer,
> > 
> > Yes.
> > 
> > > and the
> > > userspace process that was trying to satisfy the request will be stuck
> > > in the FUSE_MIGHT_FREEZE call that was invoked for the frozen
> > > filesystem?
> 
> Sorry, I misunderstood this.  Yes you're right, in the case of one
> fuse filesystem relying on another to complete the request the already
> frozen one will be stuck in FUSE_MIGHT_FREEZE().
> 
> How does that help?

Well, my next question was going to be: can we find a way to know that
the userspace process we're waiting on was frozen? If we can know that,
then perhaps we can apply that knowledge in this thread to avoid a
freezing failure.

Regards,

Nigel



More information about the linux-pm mailing list