lkml.org 
[lkml]   [2007]   [Jul]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [linux-pm] Re: Hibernation considerations
    On Sun, 22 Jul 2007, Nigel Cunningham wrote:

    > Hi.
    >
    > On Sunday 22 July 2007 02:13:56 Jeremy Maitin-Shepard wrote:
    > > It seems that you could still potentially get a failure to freeze if one
    > > FUSE process depends on another, and the one that is frozen second just
    > > happens to be waiting on the one that is frozen first when it is frozen.
    > > I admit that this situation is unlikely, and perhaps acceptable.
    > >
    > > A larger concern is that it seems that freezing FUSE processes at all
    > > _will_ generate deadlocks if a non-synchronous or memory-map-supporting
    > > filesystem is loopback mounted from a FUSE filesystem. In that case, if
    > > you attempt to sync or free memory once FUSE is frozen, you are sure to
    > > get a deadlock.
    >
    > Ok. So then (in response to Alan too), how about keeping a tree of mounts,
    > akin to the device tree, and working from the deepest nodes up? (In
    > conjunction with what I already suggested)?

    Face it, Nigel, this is a losing battle. You can try to come up with
    ever-more complex schemes to try and force FUSE into the freezer's
    framework, but it just won't fit. Or if it does, the next filesystem
    to come along will require an even more baroque type of special-case
    handling.

    The general problem is that task A may be in an unfreezable state,
    waiting for task B to do something, while task B is already frozen.
    Since there's no reasonable way to determine that A really is waiting
    for B, you're just stuck. (To make matters worse, A may not even
    realize which task it is waiting for; it may know only that it's
    waiting for somebody to do something!) A and B could be user tasks,
    kernel threads, or one of each.

    The only thing to do is what Rafael has been working on: unfreeze
    things, hope the tasks sort themselves out, and try again.

    Alan Stern

    -
    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: 2007-07-22 17:29    [W:3.633 / U:0.024 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site