From: Pavel Machek <pavel@ucw.cz>
To: "Rafael J. Wysocki" <rjw@sisk.pl>
Cc: Alan Stern <stern@rowland.harvard.edu>,
pm list <linux-pm@lists.linux-foundation.org>,
LKML <linux-kernel@vger.kernel.org>,
Matthew Garrett <mjg59@srcf.ucam.org>,
Nigel Cunningham <nigel@nigel.suspend2.net>,
Oliver Neukum <oliver@neukum.org>
Subject: Re: [RFC][PATCH -mm 1/3] PM: Hibernation and suspend notifiers
Date: Wed, 30 May 2007 15:37:40 +0000 [thread overview]
Message-ID: <20070530153740.GA4772@ucw.cz> (raw)
In-Reply-To: <200705300024.32455.rjw@sisk.pl>
Hi!
> +Suspend notifiers
> + (C) 2007 Rafael J. Wysocki <rjw@sisk.pl>, GPL
> +
> +There are some operations that device drivers may want to carry out in their
> +.suspend() routines, but shouldn't, because they can cause the hibernation or
> +suspend to fail. For example, a driver may want to allocate a substantial amount
> +of memory (like 50 MB) in .suspend(), but that shouldn't be done after the
> +swsusp's memory shrinker has run.
> +
> +Also, there may be some operations, that subsystems want to carry out before a
> +hibernation/suspend or after a restore/resume, requiring the system to be fully
> +functional, so the drivers' .suspend() and .resume() routines are not suitable
> +for this purpose. For example, device drivers may want to upload firmware to
> +their devices after a restore from a hibernation image, but they cannot do it by
> +calling request_firmware() from their .resume() routines (user land processes
> +are frozen at this point). The solution may be to load the firmware into
> +memory before processes are frozen and upload it from there in the .resume()
> +routine. Of course, a hibernation notifier may be used for this purpose.
> +
> +The subsystems that have such needs can register suspend notifiers that will be
> +called upon the following events by the suspend core:
> +
> +PM_PRE_FREEZE The system is going to hibernate or suspend, tasks will
> + be frozen immediately
Hmm, looks like bad idea if we are going to remove freezer from
suspend...?
> +PM_POST_THAW Tasks have just been thawed after a resume or restore
> + from a hibernation image
> +
> +PM_HIBERNATION_PREPARE The system is preparing for hibernation. Tasks have
> + been frozen, memory is going to be freed and devices
> + are going to be suspended.
Is not PRE_FREEZE enough? We can allocate memory for drivers there,
too...
Pavel
--
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
next prev parent reply other threads:[~2007-05-30 15:38 UTC|newest]
Thread overview: 161+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-05-27 20:29 [RFC][PATCH -mm 0/3] PM: Hibernation and suspend notifiers Rafael J. Wysocki
2007-05-27 20:30 ` [RFC][PATCH -mm 1/3] " Rafael J. Wysocki
2007-05-27 20:30 ` Rafael J. Wysocki
2007-05-28 9:49 ` Nigel Cunningham
2007-05-28 9:49 ` Nigel Cunningham
2007-05-28 13:12 ` Pavel Machek
2007-05-28 13:12 ` Pavel Machek
2007-05-28 17:26 ` Rafael J. Wysocki
2007-05-28 17:26 ` Rafael J. Wysocki
2007-05-28 15:56 ` Alan Stern
2007-05-28 15:56 ` Alan Stern
2007-05-28 17:29 ` Rafael J. Wysocki
2007-05-28 17:29 ` Rafael J. Wysocki
2007-05-29 22:24 ` Rafael J. Wysocki
2007-05-29 22:24 ` Rafael J. Wysocki
2007-05-30 15:37 ` Pavel Machek [this message]
2007-05-30 20:44 ` Rafael J. Wysocki
2007-05-30 21:11 ` Rafael J. Wysocki
2007-05-30 21:11 ` Rafael J. Wysocki
2007-05-30 22:24 ` Nigel Cunningham
2007-05-30 22:24 ` Nigel Cunningham
2007-05-31 5:44 ` Rafael J. Wysocki
2007-05-31 5:44 ` Rafael J. Wysocki
2007-05-31 14:23 ` Pavel Machek
2007-05-31 14:23 ` Pavel Machek
2007-05-31 20:02 ` Rafael J. Wysocki
2007-05-31 20:02 ` Rafael J. Wysocki
2007-05-31 21:56 ` Nigel Cunningham
2007-05-31 21:56 ` Nigel Cunningham
2007-05-30 22:29 ` Pavel Machek
2007-05-31 5:42 ` Rafael J. Wysocki
2007-05-31 5:42 ` Rafael J. Wysocki
2007-05-30 22:29 ` Pavel Machek
2007-05-30 20:44 ` Rafael J. Wysocki
2007-05-30 15:37 ` Pavel Machek
2007-05-27 20:30 ` [RFC][PATCH -mm 2/3] PM: Disable usermode helper before hibernation/suspend Rafael J. Wysocki
2007-05-27 20:30 ` Rafael J. Wysocki
2007-05-28 13:04 ` Pavel Machek
2007-05-28 13:04 ` Pavel Machek
2007-05-27 20:31 ` [RFC][PATCH -mm 3/3] PM: Disable _request_firmware " Rafael J. Wysocki
2007-05-27 20:45 ` Michael-Luke Jones
2007-05-27 21:55 ` Rafael J. Wysocki
2007-05-27 21:55 ` Rafael J. Wysocki
2007-05-28 13:01 ` Pavel Machek
2007-05-28 13:01 ` Pavel Machek
2007-05-29 20:41 ` Rob Landley
2007-05-29 20:41 ` Rob Landley
2007-05-27 20:45 ` Michael-Luke Jones
2007-05-27 20:49 ` Matthew Garrett
2007-05-27 20:49 ` Matthew Garrett
2007-05-27 21:45 ` Rafael J. Wysocki
2007-05-27 22:01 ` Matthew Garrett
2007-05-28 7:44 ` Rafael J. Wysocki
2007-05-28 7:44 ` Rafael J. Wysocki
2007-05-28 16:09 ` Alan Stern
2007-05-28 16:09 ` Alan Stern
2007-05-28 16:12 ` Matthew Garrett
2007-05-28 16:12 ` Matthew Garrett
2007-05-28 16:43 ` Alan Stern
2007-05-28 16:43 ` Alan Stern
2007-05-28 16:54 ` Matthew Garrett
2007-05-28 16:54 ` Matthew Garrett
2007-05-28 20:03 ` Alan Stern
2007-05-28 20:03 ` Alan Stern
2007-05-28 20:57 ` Pavel Machek
2007-05-28 20:57 ` Pavel Machek
2007-05-28 22:29 ` Alan Stern
2007-05-28 22:29 ` Alan Stern
2007-05-29 20:09 ` [linux-pm] " David Brownell
2007-05-29 20:48 ` Alan Stern
2007-05-29 20:48 ` Alan Stern
2007-05-29 20:09 ` David Brownell
2007-06-04 11:00 ` Pavel Machek
2007-06-05 18:45 ` Alan Stern
2007-06-05 20:26 ` Pavel Machek
2007-06-05 20:26 ` Pavel Machek
2007-06-05 18:45 ` Alan Stern
2007-06-04 11:00 ` Pavel Machek
2007-05-27 22:01 ` Matthew Garrett
2007-05-28 8:30 ` Nigel Cunningham
2007-05-28 8:30 ` Nigel Cunningham
2007-05-28 11:22 ` Rafael J. Wysocki
2007-05-28 11:22 ` Rafael J. Wysocki
2007-05-27 21:45 ` Rafael J. Wysocki
2007-05-27 21:49 ` Kay Sievers
2007-05-27 22:01 ` Rafael J. Wysocki
2007-05-27 22:01 ` Rafael J. Wysocki
2007-05-27 22:04 ` Matthew Garrett
2007-05-27 22:16 ` Kay Sievers
2007-05-28 7:43 ` Rafael J. Wysocki
2007-05-28 7:43 ` Rafael J. Wysocki
2007-05-28 8:48 ` Michael-Luke Jones
2007-05-28 8:48 ` Michael-Luke Jones
2007-05-28 9:06 ` Kay Sievers
2007-05-28 9:06 ` Kay Sievers
2007-05-28 10:26 ` Michael-Luke Jones
2007-05-28 10:26 ` Michael-Luke Jones
2007-05-28 12:01 ` Kay Sievers
2007-05-28 12:01 ` Kay Sievers
2007-05-28 12:07 ` Michael-Luke Jones
2007-05-28 12:07 ` Michael-Luke Jones
2007-05-28 10:41 ` Michael-Luke Jones
2007-05-28 10:41 ` Michael-Luke Jones
2007-05-29 21:19 ` Rob Landley
2007-05-29 21:19 ` Rob Landley
2007-05-29 22:51 ` Rob Landley
2007-05-29 22:51 ` Rob Landley
2007-05-30 19:50 ` Pavel Machek
2007-05-30 19:50 ` Pavel Machek
2007-05-28 11:15 ` Pavel Machek
2007-05-28 11:15 ` Pavel Machek
2007-05-28 11:24 ` Kay Sievers
2007-05-28 11:24 ` Kay Sievers
2007-05-28 11:28 ` Pavel Machek
2007-05-28 11:28 ` Pavel Machek
2007-05-28 11:38 ` Michael-Luke Jones
2007-05-28 11:38 ` Michael-Luke Jones
2007-05-28 11:45 ` Pavel Machek
2007-05-28 11:45 ` [linux-pm] " Pavel Machek
2007-05-28 11:51 ` Kay Sievers
2007-05-28 11:51 ` Kay Sievers
2007-05-28 12:26 ` Michael-Luke Jones
2007-05-28 12:26 ` Michael-Luke Jones
2007-05-28 12:47 ` Kay Sievers
2007-05-28 12:47 ` Kay Sievers
2007-05-28 13:00 ` Pavel Machek
2007-05-28 13:00 ` Pavel Machek
2007-05-28 13:10 ` Michael-Luke Jones
2007-05-28 13:10 ` Michael-Luke Jones
2007-05-28 11:28 ` Rafael J. Wysocki
2007-05-28 11:28 ` Rafael J. Wysocki
2007-05-27 22:16 ` Kay Sievers
2007-05-27 22:04 ` Matthew Garrett
2007-05-27 21:49 ` Kay Sievers
2007-05-28 13:07 ` Pavel Machek
2007-05-28 13:07 ` Pavel Machek
2007-05-28 15:55 ` Alan Stern
2007-05-28 15:55 ` Alan Stern
2007-05-28 17:43 ` Rafael J. Wysocki
2007-05-28 17:43 ` Rafael J. Wysocki
2007-05-28 20:51 ` Ray Lee
2007-05-28 20:51 ` Ray Lee
2007-05-28 20:59 ` Pavel Machek
2007-05-28 20:59 ` Pavel Machek
2007-05-27 20:31 ` Rafael J. Wysocki
2007-06-02 0:41 ` [RFC][PATCH -mm 0/2] PM: Hibernation and suspend notifiers (rev. 2) Rafael J. Wysocki
2007-06-02 0:43 ` [RFC][PATCH -mm 1/2] PM: Introduce hibernation and suspend notifiers Rafael J. Wysocki
2007-06-02 0:43 ` Rafael J. Wysocki
2007-06-03 16:41 ` Pavel Machek
2007-06-03 22:38 ` Rafael J. Wysocki
2007-06-03 22:59 ` Pavel Machek
2007-06-04 7:56 ` Rafael J. Wysocki
2007-06-04 7:56 ` Rafael J. Wysocki
2007-06-03 22:59 ` Pavel Machek
2007-06-03 22:38 ` Rafael J. Wysocki
2007-06-03 16:41 ` Pavel Machek
2007-06-02 0:44 ` [RFC][PATCH -mm 2/2] PM: Disable usermode helper before hibernation and suspend Rafael J. Wysocki
2007-06-03 16:42 ` Pavel Machek
2007-06-03 16:42 ` Pavel Machek
2007-06-02 0:44 ` Rafael J. Wysocki
2007-06-02 0:41 ` [RFC][PATCH -mm 0/2] PM: Hibernation and suspend notifiers (rev. 2) Rafael J. Wysocki
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=20070530153740.GA4772@ucw.cz \
--to=pavel@ucw.cz \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pm@lists.linux-foundation.org \
--cc=mjg59@srcf.ucam.org \
--cc=nigel@nigel.suspend2.net \
--cc=oliver@neukum.org \
--cc=rjw@sisk.pl \
--cc=stern@rowland.harvard.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.