public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Jeremy Maitin-Shepard <jbms@cmu.edu>
To: Nick Piggin <nickpiggin@yahoo.com.au>
Cc: Al Boldi <a1426z@gawab.com>,
	linux-kernel@vger.kernel.org,
	Andrew Morton <akpm@linux-foundation.org>
Subject: Re: Hibernation Redesign
Date: Mon, 09 Jul 2007 00:36:23 -0400	[thread overview]
Message-ID: <87k5taw5vc.fsf@jbms.ath.cx> (raw)
In-Reply-To: <4691B9A5.6060203@yahoo.com.au> (Nick Piggin's message of "Mon\, 09 Jul 2007 14\:29\:25 +1000")

Nick Piggin <nickpiggin@yahoo.com.au> writes:

> Jeremy Maitin-Shepard wrote:
>> Al Boldi <a1426z@gawab.com> writes:
>> 
>> 
>>> Pavel Machek wrote:
>>> 
>>>> We are stuck with refrigerator for now, and at least for hibernation,
>>>> I don't see any feasible alternative.
>> 
>> 
>>> Feasible alternative?
>> 
>> 
>> I posted such an alternative to the list a short time ago: hibenrating
>> from a *new* kernel space/user space that is created by loading a new
>> kernel in a manner similar to what is done for kexec crashdumps.  Unlike
>> kexec crashdumps, however, it would not require reserving any memory at
>> boot, because the necessary memory (maybe 16MB or 64MB) can be freed
>> just before hibernating, and device drivers can be properly stopped so
>> that DMAs don't stomp over certain memory.

> This is the Morton method, isn't it? :) I remember it sounding like a
> very good idea when he brought it up, but I can't remember the details
> of why it was rejected or what the problems were.

Perhaps he did bring it up before I did.  Please forward me a link to
the thread or other reference if you can find it, as I'd be interested
in reading it.


>> This approach eliminates the need for the freezer, as it would make
>> hibernate look a lot a bit like suspend to ram from the perspective of
>> the "old" kernel (the kernel being hibernated), as the hibernate
>> operation itself would be completely atomic from the perspective of the
>> "old" kernel.  That is not to say, of course, that any code paths would
>> actually be shared, or that the drivers would do the same things
>> (because they probably would not).

> Well it basically is suspend to RAM with the additional step that a
> new kernel gets booted and writes out the data from RAM to disk then
> shuts down.

There is the key difference, though, that the drivers should do rather
different things.  In particular, rather than place the hardware in a
low-power mode, it should place it in some state such that the new
kernel being loaded can handle it.

> I suspect that freeing memory on the fly for the new kernel
> would be non-trivial (but possible), however simply having a reserve
> RAM region for the new kernel would be fine for a first step.

Freeing memory on the fly should be extremely easy for the kernel (this
is precisely what it does when it needs to satisfy an allocation).  Note
that the memory allocated need not be contiguous.

-- 
Jeremy Maitin-Shepard

  reply	other threads:[~2007-07-09  4:36 UTC|newest]

Thread overview: 60+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-07-08 14:37 Hibernation Redesign (was: malicious filesystems (was Re: [linux-pm] Re: [PATCH] Remove process freezer from suspend to RAM) Al Boldi
2007-07-09  4:11 ` Hibernation Redesign Jeremy Maitin-Shepard
2007-07-09  4:29   ` Nick Piggin
2007-07-09  4:36     ` Jeremy Maitin-Shepard [this message]
2007-07-09  4:45       ` Nick Piggin
2007-07-09  4:54         ` Jeremy Maitin-Shepard
2007-07-09  4:58           ` Nick Piggin
2007-07-09  5:33             ` Nick Piggin
2007-07-09  6:22           ` Jeremy Fitzhardinge
2007-07-09 13:45       ` Pavel Machek
2007-07-09 14:02         ` Oliver Neukum
2007-07-09 14:26           ` Jeremy Maitin-Shepard
2007-07-09 15:09             ` Oliver Neukum
2007-07-09 15:27               ` Jeremy Maitin-Shepard
2007-07-09  4:39     ` Nick Piggin
2007-07-09 13:52       ` Pavel Machek
2007-07-09 15:30         ` Al Boldi
2007-07-10  1:29           ` Nick Piggin
2007-07-10  2:28           ` Jeremy Maitin-Shepard
2007-07-10 14:57             ` Jeremy Fitzhardinge
2007-07-10 17:25               ` Jeremy Maitin-Shepard
2007-07-10 22:59                 ` Jeremy Fitzhardinge
2007-07-11  4:11                   ` Al Boldi
2007-07-11 10:27                     ` Rafael J. Wysocki
2007-07-11 10:42                       ` Miklos Szeredi
2007-07-11 11:04                         ` Rafael J. Wysocki
2007-07-11 11:11                           ` Miklos Szeredi
2007-07-11 11:50                             ` Rafael J. Wysocki
2007-07-11 11:54                               ` Miklos Szeredi
2007-07-11 12:00                                 ` Nigel Cunningham
2007-07-11 12:09                                   ` Miklos Szeredi
2007-07-11 12:17                                     ` Nigel Cunningham
2007-07-11 12:27                                     ` Rafael J. Wysocki
2007-07-11 12:29                                       ` Miklos Szeredi
2007-07-11 21:04                                         ` Rafael J. Wysocki
2007-07-12  9:15                                     ` Pavel Machek
2007-07-12 22:13                                       ` Miklos Szeredi
2007-07-11 12:19                                 ` Rafael J. Wysocki
2007-07-11 12:49                                   ` Nigel Cunningham
2007-07-11 21:06                                     ` Rafael J. Wysocki
2007-07-11 12:11                             ` Nigel Cunningham
2007-07-11 12:24                               ` Miklos Szeredi
2007-07-11 12:46                                 ` Nigel Cunningham
2007-07-11 12:55                                   ` Miklos Szeredi
2007-07-11 13:16                               ` Jeremy Maitin-Shepard
2007-07-11 20:48                                 ` Mark Lord
2007-07-11 21:14                                   ` Rafael J. Wysocki
2007-07-11 22:17                                   ` Al Boldi
2007-07-11 22:34                                     ` Rafael J. Wysocki
2007-07-11 23:12                                       ` Al Boldi
2007-07-11 23:31                                         ` Nigel Cunningham
2007-07-12  3:11                                           ` Al Boldi
2007-07-12 13:20                                         ` Rafael J. Wysocki
2007-07-16  6:04                                           ` Nick Piggin
2007-07-12 20:29                                     ` Jeremy Maitin-Shepard
2007-07-11 23:46                                 ` Nigel Cunningham
2007-07-11 17:55                               ` david
2007-07-11 22:54                                 ` Nigel Cunningham
2007-07-10 17:45               ` Al Boldi
2007-07-10 18:20                 ` Jeremy Maitin-Shepard

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=87k5taw5vc.fsf@jbms.ath.cx \
    --to=jbms@cmu.edu \
    --cc=a1426z@gawab.com \
    --cc=akpm@linux-foundation.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=nickpiggin@yahoo.com.au \
    /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