lkml.org 
[lkml]   [2007]   [Dec]   [25]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH 0/3] PM: Do not destroy/create devices while suspended
    On Tue, 25 Dec 2007, Rafael J. Wysocki wrote:

    > > > Do we need to worry about the possibility that when the system wakes up
    > > > from hibernation, the set of usable CPUs might be smaller than it was
    > > > beforehand?
    > >
    > > This is possible in error conditions.
    > >
    > > > Is any special handling needed for this, or is it already accounted for?
    > >
    > > Hm, well. The cleanest thing would be to allow the drivers to remove the
    > > device objects on CPU_UP_CANCELED_FROZEN, which means that we weren't able to
    > > bring the CPU up during a resume, but still that will deadlock with
    > > gregkh-driver-pm-acquire-device-locks-prior-to-suspending.patch.
    >
    > Hmm. In principle, device objects may be destroyed on CPU_UP_CANCELED_FROZEN
    > without acquiring the device locks, since in fact we know these objects won't
    > be accessed concurrently at that time (the locks are already held by the PM
    > core, but the PM core is not going to actually access the devices before the
    > subsequent resume).

    How about delaying the CPU_UP_CANCELED_FROZEN announcements until it's
    really safe to send them out? That is, after all devices have been
    resumed and the PM core no longer holds any of their locks. (Should
    this be before or after tasks leave the freezer? -- I'm not sure.)

    So the idea is send appropriate announcements at the usual time for
    CPUs that do come back up normally, and don't send anything right away
    for CPUs that fail to come up. Just keep track of which ones failed,
    and then later take care of them.

    Alan Stern



    \
     
     \ /
      Last update: 2007-12-26 04:37    [W:0.020 / U:61.172 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site