[lkml]   [2007]   [Jul]   [4]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectRe: [linux-pm] Re: [PATCH] Remove process freezer from suspend to RAM pathway
    Alan Stern writes:

    > That's not what I'm saying. What I'm saying is that it would be a big
    > mistake to force all drivers which implement runtime PM to do it using
    > a separate code path from system PM.

    OK; I can accept that provided there is a way to change the "what to
    do with an I/O request" policy from auto-resume to something else
    while we're suspending the system (and presumably restore the old
    policy on system resume if the device was runtime-suspended at the
    point where the system was suspended).

    > > The main attraction of the late-suspend call is that it really does,
    > > reliably, guarantee that the driver's I/O request methods won't get
    > > called between the late-suspend call and the early-resume call.
    > For some drivers (like USB), carrying out an actual suspend requires a
    > delay. Right now we implement those delays using wait_event(),
    > wait_for_completion(), and so on. Would you have us check at runtime
    > whether or not a system suspend is underway and in each case use a
    > busy-loop instead if it is?

    No; the late suspend call isn't appropriate for all drivers. It is a
    simple and safe way to do the suspend for some drivers, mostly the
    simpler ones. Things that are complex enough to have a subsystem
    (e.g. USB) would want to use the early suspend call.

    > What happens if, in order to carry out the late-suspend, a driver needs
    > to acquire a mutex which happens to be held by some other task? That
    > other task won't be able to run and release the mutex, so you will
    > deadlock.

    Then late-suspend is not appropriate for that driver, and it needs to
    use the early-suspend call, and do something such as setting a flag
    that the I/O request function tests.

    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to
    More majordomo info at
    Please read the FAQ at

     \ /
      Last update: 2007-07-05 02:49    [W:0.020 / U:2.440 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site