[sugar] "fake hibernate" (was problem in sugar_jhbuild)
Morgan Collett
morgan.collett
Thu Feb 28 13:15:49 EST 2008
Benjamin M. Schwartz wrote:
> I have a proposal that might be relevant, based on a discussion with
> Chris Ball about "hibernation" (i.e. suspend-to-disk).
>
> Hibernation essentially saves all of userspace RAM into a file on disk,
> along with the list of active processes, then shuts down. On the next
> boot, it simply reads that file back into memory and continues those
> processes. This is a very desirable behavior, as it allows one to pause
> one's work and consume precisely zero power. However, hibernation can
> require a large amount of disk space, and is relatively fragile in
> relation to network connections and hardware state.
>
> I would like to propose a form of fake hibernation, implemented at the
> level of Sugar. If the user clicks the "hibernate" button, Sugar should
> tell all open activities to Keep their state, and also save: the list of
> open activities, which one was active, any clipboard objects, and which
> view was in the foreground. On the next boot, Sugar can simply restart
> all open activities from that latest checkpoint, "activate" the active
> activity, show the correct view, and recreate the clipboard. This
> approach would be far more efficient than hibernation, and IMHO more
> reliable as well.
>
> Fake hibernation relies on a standard reboot sequences, so boot-time
> optimization would be very valuable.
>
> Open questions:
> 0. Should "fake hibernate" be a user-visible option?
>
> 1. Should "fake hibernate" be the default shutdown behavior?
> Pro: makes system use feel very continuous.
> Con: requires manual shutdown of every activity. Potentially
> problematic interaction with memory pressure and OOM under current
> implementations.
Shutdown should at least tell all open activities to Keep. That's #6014
(a famous data loss bug: http://www.news.com/8301-10784_3-9859801-7.html)
> 2. Should OHM automatically trigger a "fake hibernate" under certain
> conditions, such as very low battery, or screen closed for 30 minutes
> and no mesh contacts made?
Morgan
More information about the Sugar-devel
mailing list