#8050 NORM 9.1.0: cerebro spins endlessly when "extreme power managment" turns off wifi

Zarro Boogs per Child bugtracker at laptop.org
Wed Aug 20 15:11:55 EDT 2008


#8050: cerebro spins endlessly when "extreme power managment" turns off wifi
-------------------------+--------------------------------------------------
   Reporter:  gnu        |       Owner:  ypod         
       Type:  defect     |      Status:  new          
   Priority:  normal     |   Milestone:  9.1.0        
  Component:  cerebro    |     Version:  not specified
 Resolution:             |    Keywords:  blocks?:8.2.0
Next_action:  never set  |    Verified:  0            
  Blockedby:             |    Blocking:               
-------------------------+--------------------------------------------------

Comment(by gnu):

 To be clearer about the "minimal CPU-time" question:  Currently, ohm will
 suspend the system even if processes are running, as long as they consume
 "minimal CPU time".  This breaks various things, like olpc-update, so we
 only do it after waiting 65 seconds from the last user input or previous
 wakeup (this 65-second delay itself burns a lot of power).

 We'd like to move to a method that involves the kernel telling ohm when
 the next process is scheduled to awaken based on a timer.  90% of the
 kernel infrastructure for this exists (cpuidle), but it isn't reporting
 this info up to ohm.  Then ohm can decide to suspend the system whenever,
 for example, no process is asking to be awakened in the next 10 seconds.
 (And it can set a sleep timer so the system will reawaken in plenty of
 time to schedule that process to awaken just when it wanted to awaken.)
 This is the true design of power-saving suspend.  We did not achieve it
 yet, partly because it takes us so long to awaken (~ 1 second), partly
 because we don't have a decent sleep timer (its resolution is ~1 second
 too), partly because so many other programs are polling all the time that
 we'd never see a kernel reporting a 10-second or longer time-to-next-
 wakeup.

 So whenever we find a program that's polling, we work to fix it so it
 won't poll.  So that we won't have to fix it later.  So that we can
 actually produce the "15-hour" battery life that Hector Ruiz told the TED
 conference in 2007 that our hardware was already doing.

 (Now that OLPC has pioneered automatic suspend, we pushed the state of the
 art forward from the previous state, in which PC's suspended under manual
 control under Windows, and took many seconds to suspend or resume.  Chip
 vendors have noticed -- and are building chips that can in theory suspend
 Linux in microseconds and resume in microseconds.  See the TI OMAP3 power
 management support in the Linux kernel as an example.  We will almost
 certainly use one of those chips in the XO-2 -- because low power is goal
 #1 of the XO-2, according to its hardware designer, wad.  Making high
 level software stop polling will dramatically reduce power consumption
 when the machine is idle, on such machines.)

-- 
Ticket URL: <http://dev.laptop.org/ticket/8050#comment:9>
One Laptop Per Child <http://laptop.org/>
OLPC bug tracking system


More information about the Bugs mailing list