FCNewInit and power management

Paul A Houle ph18 at cornell.edu
Tue Oct 18 16:06:35 UTC 2005


Callum Lerwick wrote:

>Run levels are states the system can be in. In addition to the existing
>"halt" "reboot" "single user" "no network" and "normal" states, there is
>"on battery" and "suspended" states just begging to be added. (I'm not
>sure the best way to handle slightly different types of similar states.
>We could possibly have a "battery low" state and we have "standby"
>"suspend to ram" and "suspend to disk" to choose from. Do they full run
>levels of their own? I'm guessing not...)
>
>  
>
    One trouble is that the real state of the system is really the 
direct product of a few different states,  unioned with a few states 
that are 'special'

{network, no network} [x] { wallplug power, battery normal, battery low, 
... } +
{halt, reboot, suspend, single user}

    so the configuration system ought to reflect this,  rather than 
expanding into tens or hundreds of 'runlevels' as new substates get 
added.  The kind
of thinking above would be the beginning of it...  You can define the 
set of states as a union of sets,  these sets can be a list of states or 
be a direct product of a union of sets against another union of sets.
    

>The system I envision goes something like this. apmd and acpid get
>stripped down so all they do is send events to init. init absorbs
>similar functionality to acpid, it takes in "events" (over dbus?) from
>apmd, acpid, UPS daemons, /usr/bin/poweroff, etc and evaluates rules
>(Run scripts like acpid does?) that decide what states to switch to
>based on these events. Switching states is then handled much like the
>existing SysV init always has, or however the future system decides to
>do so.
>
>  
>
    This could be nice.

>I'm actually not so sure about where the decision making needs to be,
>but the main point is the state switching/tracking should all be done by
>init, because thats what its for. Currently, there's a lot of
>duplication in the handling of state changes, in apmd, acpid, hibernate,
>laptop-mode, etc, that really needs to be centralized.
>
>Comments?
>  
>
    Some people have thought about applying logic programming ideas to init:

http://www-128.ibm.com/developerworks/linux/library/l-boot.html?ca=dgr-lnxw04BootFaster

    Overall I'm skeptical about power management in laptops,  I've yet 
to own one where the cure is worse than the disease...  After NiIMH 
batteries age for a while,  the 'low battery' indication seems to be 
unreliable:  my experience is that it either comes 30 seconds before the 
system fails or it comes an hour early.  With a reliable file system 
like ext3,  I just run it into the ground.  Because I do all my work in 
emacs,  I never lose more than a minute of work.




More information about the fedora-devel-list mailing list