lkml.org 
[lkml]   [2010]   [May]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [linux-pm] [PATCH 1/8] PM: Add suspend block api.
    * Alan Stern <stern@rowland.harvard.edu> [100506 11:42]:
    > On Thu, 6 May 2010, Tony Lindgren wrote:
    >
    > > Well if your hardware runs off-while-idle or even just
    > > retention-while-idle, then the basic shell works just fine waking up
    > > every few seconds or so.
    > >
    > > Then you could keep init/shell/suspend policy deamon running until
    > > it's time to suspend the whole device. To cut down runaway timers,
    > > you could already freeze the desktop/GUI/whatever earlier.
    >
    > This comes down mostly to efficiency. Although the suspend blocker
    > patch does the actual suspending in a workqueue thread, AFAIK there's
    > no reason it couldn't use a user thread instead.
    >
    > The important difference lies in what happens when a suspend fails
    > because a driver is busy. Without suspend blockers, the kernel has to
    > go through the whole procedure of freezing userspace and kernel threads
    > and then suspending a bunch of drivers before hitting the one that's
    > busy. Then all that work has to be undone. By contrast, with suspend
    > blockers the suspend attempt can fail right away with minimal overhead.

    But does that really matter if you're only few tens of times times per
    day or so? I don't understand why you would want to try to suspend except
    after some timeout of no user or network activity.

    > There's also a question of reliability. With suspends controlled by
    > userspace there is a possibility of races, which could lead the system
    > to suspend when it shouldn't. With control in the kernel, these races
    > can be eliminated.

    I agree the suspend needs to happen without races. But I think the
    logic for when to suspend should be done in the userspace as it
    can be device or user specific.

    Regards,

    Tony


    \
     
     \ /
      Last update: 2010-05-07 04:23    [W:4.608 / U:0.172 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site