lkml.org 
[lkml]   [2008]   [Feb]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    SubjectRe: [linux-pm] Fundamental flaw in system suspend, exposed by freezer removal
    Date
    This "flaw" isn't a new thing, of course.  I remember pointing out the rather
    annoying proclivity of the PM framework to deadlock when suspend() tried to
    remove USB devices ... back around 2.6.10 or so. Things have shuffled around
    a bit, and gotten better in some cases, but not fundamentally changed.

    It may be more accurate to say that now we understand some constraints on
    device tree management policies ... ones we had previously assumed should
    not be issues. (But AFAICT, without actually considering the question.
    Now we know the right question to ask!)


    On Monday 25 February 2008, Rafael J. Wysocki wrote:
    > IMO the device driver should assure that no new children will be registered
    > concurrently with the ->suspend() method (IOW, ->suspend() should wait for
    > all such registrations to complete and should prevent any new ones from
    > being started) and it should make it impossible to register any new children
    > after ->suspend() has run.  It's the driver's problem how to achieve that.

    There's also the case where it's framework code that handles the additions
    rather than the parent device. That would be typical for many bridge, hub,
    or adapter type drivers ... you may be thinking mostly about drivers acting
    as "leaf" nodes in the device tree, at least in terms of real hardware nodes.

    Yes, "require that policy from such framework code too". Just trying to be
    sure the description doesn't have gaping holes in the middle. :)

    I can think of a bunch of serial busses where framework code has that sort
    of responsiblity. USB, SPI, I2C ... "legacy" I2C drivers would all need
    to be taught not to create/remove children during those intervals, lacking
    "new style" conversion (which makes them work more like normal drivers).

    - Dave

    --
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2008-02-26 08:15    [from the cache]
    ©2003-2014 Jasper Spaans. Advertise on this site