Re: [PATCH] Remove process freezer from suspend to RAM pathway

Alan Stern
2007-07-03T19:33:40Z

On Tue, 3 Jul 2007, Matthew Garrett wrote:

> On Tue, Jul 03, 2007 at 12:57:17PM -0400, Alan Stern wrote:
> > On Tue, 3 Jul 2007, Matthew Garrett wrote:
> > > On Tue, Jul 03, 2007 at 12:03:33PM -0400, Alan Stern wrote:
> > > > Quite apart from the sync() matter, _any_ synchronous call to a FUSE
> > > > filesystem during STR will cause trouble. Even if the user task
> > > > implementing the filesystem isn't frozen, when it tries to carry out
> > > > some I/O to a suspended device it will either:
> > > >
> > > > block until the system wakes up, or
> > >
> > > For the suspend to RAM case, that sounds absolutely fine.
> >
> > It's not so good when your suspend process has to wait for the call to
> > complete!
>
> Why would it have to? Sorry, I suspect I'm missing something obvious
> here.

Well, the sys_sync() that caused your original problem did exactly
that. It's the reason you get deadlocks, right?

I agree that in general the suspend process should not have to wait for
a userspace callback to complete. Indeed, there's no particular
reason that anything running during STR should have to wait for
something in userspace to complete. Given that fact, I don't see
anything wrong with freezing userspace when doing STR.

Alan Stern