lkml.org 
[lkml]   [2009]   [Dec]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [GIT PULL] PM updates for 2.6.33


    On Sat, 5 Dec 2009, Rafael J. Wysocki wrote:
    >
    > * Asynchronous suspend and resume infrastructure. For now, PCI, ACPI and
    > serio devices are enabled to suspend and resume asynchronously.

    I really think this is totally and utterly broken. Both from an
    implementation standpoint _and_ from a pure conceptual one.

    Why isn't the suspend/resume async stuff just done like the init async
    stuff?

    We don't need that crazy per-device flag for initialization, neither do we
    need drivers "enabling" any async code at all. They just do some things
    asynchronously, and then at the end of init time we wait for all those
    async events.

    So why does suspend/resume need to do crazy sh*t instead?

    It all looks terminally broken: you force async suspend for all PCI
    drivers, even when it makes no sense. Rather than let the drivers that
    already know how to do things like disk spinup asynchronously just do it
    that way.

    The "timing" routines are also just crazy. What is the excuse for
    dpm_show_time() taking both start and stop times, since there is never any
    valid situation when it shouldn't have that do_gettimgofday(&stop) just
    before it? IOW - the whole end-time thing should be _inside_
    dpm_show_time, rather than being done by the caller. No?

    In other words - I'm not pulling this crazy thing. You'd better explain
    why it was done that way, when we already have done the same things better
    before in different ways.

    Linus


    \
     
     \ /
      Last update: 2009-12-05 22:47    [W:4.610 / U:0.328 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site