[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <200707181647.32620.rjw@sisk.pl>
Date: Wed, 18 Jul 2007 16:47:31 +0200
From: "Rafael J. Wysocki" <rjw@...k.pl>
To: Alan Stern <stern@...land.harvard.edu>
Cc: david@...g.hm, LKML <linux-kernel@...r.kernel.org>,
Andrew Morton <akpm@...ux-foundation.org>,
"Eric W. Biederman" <ebiederm@...ssion.com>,
"Huang, Ying" <ying.huang@...el.com>,
Jeremy Maitin-Shepard <jbms@....edu>,
Kyle Moffett <mrmacman_g4@....com>,
Nigel Cunningham <nigel@...el.suspend2.net>,
Pavel Machek <pavel@....cz>,
pm list <linux-pm@...ts.linux-foundation.org>,
Al Boldi <a1426z@...ab.com>
Subject: Re: Hibernation considerations
On Wednesday, 18 July 2007 16:29, Alan Stern wrote:
> On Tue, 17 Jul 2007 david@...g.hm wrote:
>
> > On Tue, 17 Jul 2007, Alan Stern wrote:
> >
> > > On Tue, 17 Jul 2007 david@...g.hm wrote:
> > >
> > >>> But what about the freezer? The original reason for using kexec was to
> > >>> avoid the need for the freezer. With no freezer, while the original
> > >>> kernel is busy powering down its devices, user tasks will be free to
> > >>> carry out I/O -- which will make the memory snapshot inconsistent with
> > >>> the on-disk data structures.
> > >>
> > >> no, user tasks just don't get scheduled during shutdown.
> > >
> > > But a user task may be holding a lock which is needed for putting some
> > > device into low-power mode. It can't release that lock if it doesn't
> > > get scheduled.
> >
> > then you can't suspend that box. if you schedule it, it could get another
> > lock (or another process gets another lock)
> >
> > if you can't power down or put hardware into low-power mode without the
> > approval of userspace, you are in serious trouble.
>
> You don't seem to appreciate the issues involved here. Part of the
> justification for the freezer is that it doesn't need userspace
> approval and it freezes tasks at controlled points where they don't
> hold any locks.
>
> Never mind. It seems clear that this approach will suffer the same
> drawback as the proposal for removing the freezer from the
> suspend-to-RAM pathway. Namely, device drivers will have to be changed
> to prevent user I/O requests from proceeding while devices are supposed
> to be quiescent or in a low-power state.
I agree.
> If a driver fails to handle this properly, its device could be
> reactivated in order to service a user request before the memory
> snapshot is made. This could easily ruin the snapshot.
That's why I've been saying for quite some time that we first need to take care
of the drivers. :-)
IMO we've reached the point at which, whatever we want to do next, the drivers
are in the way.
Greetings,
Rafael
--
"Premature optimization is the root of all evil." - Donald Knuth
-
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