[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <E1I6ATN-0007QS-00@dorka.pomaz.szeredi.hu>
Date: Wed, 04 Jul 2007 21:25:09 +0200
From: Miklos Szeredi <miklos@...redi.hu>
To: stern@...land.harvard.edu
CC: oliver@...kum.org, paulus@...ba.org, rjw@...k.pl,
mjg59@...f.ucam.org, linux-pm@...ts.linux-foundation.org,
linux-kernel@...r.kernel.org
Subject: Re: [linux-pm] [PATCH] Remove process freezer from suspend to RAM
pathway
> Remember what I wrote a few minutes ago about khubd and ksuspend_usbd
> wanting to resume devices during a system suspend transition? This is
> exactly what happens when those threads aren't frozen.
OK, let me summarize the situation as I see it now: there are two
camps, the pro-freezers and the anti-freezers.
Pro-freezers say:
- don't remove the freezer, otherwise we'll have to deal with
numerous problems in drivers
Anti-freezers say:
- let's remove the freezer, which causes numerous problems
Alan summerized the pro-freezer arguments well I think. What are the
anti-freezer arguments then?
After having looked at the freezer and done some experiments with it,
the most obvious problem looks to be, that it can get stuck on a
process doing uninterruptible sleep. And yes, this can happen if a
fuse filesystem daemon is frozen before a filesystem user is. And
this is not something that can be fixed in fuse, some filesystem calls
(rename(2) for example) are simply not restartable.
This doesn't explain the deadlocks, but it could cause failure to
suspend which would be pretty annoying.
Does this affect other things than fuse?
Can this be fixed?
It seems to be a fundamental problem with the freezer: while it does
make sure that user processes are not calling into drivers during
suspend, it also disallows perfectly harmless non-driver calls as
well.
Miklos
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists