Re: hibernation/snapshot design [was Re: [PATCH] Remove process freezer from suspend to RAM pathway]

Pavel Machek
2007-07-08T23:03:30Z

Hi!

> > Freezer is not needed for snapshot -- it is needed so that we can
> > write out the snapshot to disk without the need for special
> > drivers/block/simple-ide-for-suspend.c. (We are doing snapshot, then
> > write to disk from userland code in uswsusp).
>
> Yes.
>
> BTW, this patch:
>
> http://www.sisk.pl/kernel/hibernation_and_suspend/2.6.22-rc7/patches/15-freezer-make-kernel-threads-nonfreezable-by-default.patch
>
> that's queued up in -mm contains a freezer documentation update, in which the
> reasons of using it, as well as its limitations, are described.
>
> To summarize what was previously said in this thread:
>
> * Apparently, we agree that the freezer is _generally_ not needed for suspend
> (ie. any transition to a system sleep state other than hibernation), but some
> of us (eg. me) think that it wouldn't be reasonable to drop the freezer from
> the suspend code path _right_ _now_ .
>
> * Some of us, including you, Nigel and me, think that the freezer is needed
> for hibernation (please see the document in the patch above for details).
> In the (very) long run this might be avoided too, but (IMO) certainly not at
> this point.
>
> * We seem to agree that in order to remove the freezer from the suspend code
> path some work needs to be done on device drivers, driver midlayers and the
> PM core. We also need to do some work on the PM core in order to introduce
> a separate hibernation framework and IMO it would be reasonable to
> synchronize these efforts.
>
> * We are now to decide what to do so that the freezer can be safely removed
> from the suspend code path and how to integrate that change with the
> hibernation code path (if possible and reasonable).

Nice summary, thanks.

> * The freezer vs FUSE issue that started this thread remains unresolved, so
> it would be desirable to provide a short-term fix (need not be very nice).

Actually there are _2_ freezer vs FUSE issues, and one of them should
be simple to solve, once we have sysrq-t of the deadlock. (Or did I
miss it somewhere with discussion going on 10 lists in parallel?)
Pavel
--
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html