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

Paul Mackerras
2007-07-05T00:43:44Z

Miklos Szeredi writes:

> OK, let me summarize the situation as I see it now: there are two
> camps, the pro-freezers and the anti-freezers.
>
> Pro-freezers say:
>
> - don't remove the freezer, otherwise we'll have to deal with
> numerous problems in drivers
>
> Anti-freezers say:
>
> - let's remove the freezer, which causes numerous problems
>
> Alan summerized the pro-freezer arguments well I think. What are the
> anti-freezer arguments then?

1. The freezer cannot be guaranteed deadlock-free without constructing
a dependency graph between tasks (both user and kernel), which is
virtually impossible since the dependencies are not externally
observable.

2. As a consequence of (1), we try to make a crude approximation of
the graph by saying "only kernel threads that want to be frozen
will be frozen" or some other similar statement.

3. However, (2) means that we can no longer guarantee that drivers
will not get any I/O requests after their suspend method has been
called, and therefore the freezer fails in its main objective.

4. We have an existence proof that reliable suspend can be achieved
without the freezer.

To summarize, the argument is that the freezer is deadlock-prone and
ineffective.

Paul.