All of lore.kernel.org
 help / color / mirror / Atom feed
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

  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.