From: Nigel Cunningham <ncunningham@users.sourceforge.net>
To: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Pavel Machek <pavel@ucw.cz>, "Theodore Ts'o" <tytso@mit.edu>,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Subject: Re: Dealing with swsusp vs. pmdisk
Date: Tue, 16 Mar 2004 12:59:19 +1300 [thread overview]
Message-ID: <1079395159.2167.47.camel@calvin.wpcb.org.au> (raw)
In-Reply-To: <1079401255.1967.217.camel@gaston>
Hi.
On Tue, 2004-03-16 at 14:40, Benjamin Herrenschmidt wrote:
> On Tue, 2004-03-16 at 10:31, Nigel Cunningham wrote:
> > On Tue, 2004-03-16 at 13:01, Benjamin Herrenschmidt wrote:
> > > > - Freezer hooks (I can easily get suspend2 working with the old freezer
> > > > until people are convinced it's not up to the task). This accounts for
> > > > the vast majority of those file changes.
> > >
> > > It would be nice if you did that as a first step indeed. I'm personally
> > > not convinced of the usefullness of having a freezer at all ;)
> >
> > Without a freezer, how would you ensure that other processes don't mess
> > up your memory state while you're saving/reloading the image?
>
> Hrm, you are not protecting about "asynchronous" (interrupt based)
> activity anyway... I'm not sure how the IO sceduler may kill us
> and whatever doing things based on a timer that doesn't have a
> device-driver underneath getting the PM callbacks.
I have other measures to protect the consistency there; forgot about
them until you reminded me. There are simple hooks in the page
allocation and freeing code so that pages allocated and freed during
suspending/resuming come from and go to a fix memory pool. All pages in
this pool are saved with the atomic copy, regardless of whether they're
used or not. This makes the image state consistent even if drivers
allocate or free memory during suspending (including during the
device_suspend/resume calls).
The freezer hooks also catch processes forking or exiting during
suspend, and preserve consistency there too. Right after an init S, the
network code was often seen to be running processes in the middle of a
suspend, after freezing had finished. This works correctly now.
> As far as suspend-to-disk is concerned, I agree we need a state
> snapshot, then we need to be able to play with drivers to save that
> state without having userland get in the way, so yup, we need a
> freezer. I think we don't need it for suspend-to-ram though.
I'll say nothing here; I'm not thinking about suspend-to-ram at all.
Nigel.
--
Nigel Cunningham
C/- Westminster Presbyterian Church Belconnen
61 Templeton Street, Cook, ACT 2614.
+61 (2) 6251 7727(wk); +61 (2) 6253 0250 (home)
Evolution (n): A hypothetical process whereby infinitely improbable events occur
with alarming frequency, order arises from chaos, and no one is given credit.
next prev parent reply other threads:[~2004-03-16 2:08 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-03-12 22:46 Pavel Machek
2004-03-13 0:47 ` Theodore Ts'o
2004-03-13 2:51 ` Benjamin Herrenschmidt
2004-03-13 12:36 ` Pavel Machek
2004-03-13 22:19 ` Micha Feigin
2004-03-14 0:18 ` Benjamin Herrenschmidt
2004-03-14 0:37 ` Pavel Machek
2004-03-15 20:05 ` Nigel Cunningham
2004-03-16 0:01 ` Benjamin Herrenschmidt
2004-03-15 23:31 ` Nigel Cunningham
2004-03-16 1:40 ` Benjamin Herrenschmidt
2004-03-15 23:59 ` Nigel Cunningham [this message]
2004-03-16 10:09 ` Pavel Machek
2004-03-13 12:28 ` Pavel Machek
2004-03-15 23:17 ` Jan Rychter
2004-03-16 18:16 ` Kevin Fenzi, Kevin Fenzi
2004-03-18 10:21 ` Jan Rychter
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1079395159.2167.47.camel@calvin.wpcb.org.au \
--to=ncunningham@users.sourceforge.net \
--cc=benh@kernel.crashing.org \
--cc=linux-kernel@vger.kernel.org \
--cc=pavel@ucw.cz \
--cc=tytso@mit.edu \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®