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

Miklos Szeredi
2007-07-05T21:32:32Z

> > On Thu, 5 Jul 2007, Oliver Neukum wrote:
> >
> > > > Obviously. Â But I wasn't about the server trying to acquire a lock
> > > > held by a client. Â I was talking about a client trying to acquire a
> > > > lock held by _another_ client.
> > > >
> > > > If this coincides with the server (or some other task which the server
> > > > is depending on) being frozen before the clients, the freezer has a
> > > > problem.
> > >
> > > True, but that case can only happen if servers are frozen before clients.
> > > You don't need a full dependency graph. A simple set sequence of two
> > > classes of tasks will do.
> >
> > Just to make things more complicated... Since a server isn't
> > restricted in what it can do, what happens when one server depends on
> > another server?
>
> The same principle applies. If you really want that you can solve this
> by freezing servers in the reverse sequence they were started.

You just can't know what constitutes a "server", processes which read
from the fuse device are candidates, but all tasks which communicate
with these in some way are also. And that basically makes every
userspace task in the system a candidate server and you are no further
than before.

> The main point remains. If you have a circular dependency anywhere
> among the servers you can deadlock independent of the freezer.

Well, Duh.

Miklos