Re: [RFC][PATCH -mm] PM: Do not sync filesystems from within the freezer

Nigel Cunningham
2007-07-06T07:07:42Z

[-- Attachment #1: Type: text/plain, Size: 1524 bytes --]

Hi.

On Friday 06 July 2007 17:02:53 Rafael J. Wysocki wrote:
> On Friday, 6 July 2007 00:00, Pavel Machek wrote:
> > Hi!
> >
> > > From: Rafael J. Wysocki <rjw@sisk.pl>
> > >
> > > The syncing of filesystems from within the freezer is generally not
needed.
> > > Change freeze_processes() so that it doesn't execute sys_sync() and make
the
> > > suspend and hibernation code path sync filesystems independently of the
freezer.
> >
> > Yes, we can do that, but ... why?
>
> I think that sync and the freezer are different things and shouldn't be
mixed in
> such a way as they are now.
>
> > Does it actually fix FUSE?
>
> It should prevent the freezer from deadlocking.

That's not the same thing. It's like saying "My footbrake grabs so I'll use
the handbrake all the time. Take the stone out of the brake pad! :)

> > Miklos claims sync is nop on FUSE...?
>
> In that case there shouldn't be any deadlock, but a freezer failure. :-)

Isn't this scary? I'm agreeing with Pavel and the two of us seem to be
disagreeing with everyone else!

To get more serious and practical though, I think the solution is to fuzz the
userspace/kernelspace distinction. What we really want to do is freeze things
that submit I/O, then sync, then freeze anything that processes I/O and needs
to be frozen. In effect, redefine fuse processes as freezeable kernel
threads.

Regards,

Nigel
--
See http://www.tuxonice.net for Howtos, FAQs, mailing
lists, wiki and bugzilla info.

[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]