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

Oliver Neukum
2007-07-05T21:37:42Z

Am Donnerstag, 5. Juli 2007 schrieb Alan Stern:
> On Thu, 5 Jul 2007, Miklos Szeredi wrote:
>
> > I fear, that your efforts to "save" the freezer are in vain. It is
> > already moderately hackish with that PF_FREEZER_SKIP and the kernel
> > dotted randomly with try_to_freeze() calls, but adding bandaids to try
> > to order freezing userspace processes in the right order would just
> > make it a horrible mess.
>
> I agree that bandaids won't work. What's needed is something more
> radical. Things like FUSE must be written so that the kernel parts
> _can_ freeze even while they are waiting for a response from a user
> thread.

OK, some radical ideas.

In principle we want a deadlock here. Tasks that are frozen due to fuse
are as good as frozen, there's no need to formally freeze them.
The bad uninterruptible tasks are those waiting for hardware.

Can we detect the difference? Perhaps we can label those crucial locks
and when only tasks in the refrigerator and tasks waiting on these locks
are left we are content and go on to suspending the device tree.

Flame away
Oliver