lkml.org 
[lkml]   [2010]   [Jun]   [2]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [linux-pm] [PATCH 0/8] Suspend block api (version 8)
    On Tue, 1 Jun 2010, Arve Hjønnevåg wrote:
    > 2010/6/1 Thomas Gleixner <tglx@linutronix.de>:
    > >
    > > On Mon, 31 May 2010, Arve Hjønnevåg wrote:
    > >
    > >> On Mon, May 31, 2010 at 2:46 PM, Thomas Gleixner <tglx@linutronix.de> wrote:
    > >> > On Mon, 31 May 2010, James Bottomley wrote:
    > >> >>
    > >> >> For MSM hardware, it looks possible to unify the S and C states by doing
    > >> >> suspend to ram from idle but I'm not sure how much work that is.
    > >> >
    > >> > On ARM, it's not rocket science and we have in tree support for this
    > >> > already (OMAP). I have done the same thing on a Samsung part as a
    > >> > prove of concept two years ago and it's really easy as the hardware is
    > >> > sane. Hint: It's designed for mobile devices :)
    > >> >
    > >>
    > >> We already enter the same power state from idle and suspend on msm. In
    > >> the absence of misbehaving apps, the difference in power consumption
    > >> is entirely caused by periodic timers in the user-space framework
    > >> _and_ kernel. It only takes a few timers triggering per second (I
    > >> think 3 if they do no work) to double the average power consumption on
    > >> the G1 if the radio is off. We originally added wakelocks because the
    > >> hardware we had at the time had much lower power consumption in
    > >> suspend then idle, but we still use suspend because it saves power.
    > >
    > > So how do you differentiate between timers which _should_ fire and
    > > those you do not care about ?
    > >
    >
    > Only alarms are allowed to fire while suspended.
    >
    > > We have mechanisms in place to defer timers so the wakeups are
    > > minimized. If that's not enough we need to revisit.
    > >
    >
    > Deferring the the timers forever without stopping the clock can cause
    > problems. Our user space code has a lot of timeouts that will trigger
    > an error if an app does not respond in time. Freezing everything and
    > stopping the clock while suspended is a lot simpler than trying to
    > stop individual timers and processes from running.

    And resume updates timekeeping to account for the slept time. So the
    only way to get away with that is to sleep under a second or just
    ignoring the update by avoiding the access to rtc.

    So how do you keep timekeeping happy ?

    Thanks,

    tglx
    \
     
     \ /
      Last update: 2010-06-02 09:05    [W:0.032 / U:93.776 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site