public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Nigel Cunningham <nigel@nigel.suspend2.net>
To: "Huang, Ying" <ying.huang@intel.com>
Cc: Andrew Morton <akpm@linux-foundation.org>,
	nigel@suspend2.net, Pavel Machek <pavel@ucw.cz>,
	"Eric W. Biederman" <ebiederm@xmission.com>,
	Jeremy Maitin-Shepard <jbms@cmu.edu>,
	linux-kernel@vger.kernel.org,
	linux-pm@lists.linux-foundation.org,
	Kexec Mailing List <kexec@lists.infradead.org>
Subject: Re: [RFC][PATCH 1/2 -mm] kexec based hibernation -v3: kexec jump
Date: Fri, 21 Sep 2007 12:58:59 +1000	[thread overview]
Message-ID: <200709211259.00195.nigel@nigel.suspend2.net> (raw)
In-Reply-To: <1190342757.21818.75.camel@caritas-dev.intel.com>

Hi.

On Friday 21 September 2007 12:45:57 Huang, Ying wrote:
> On Fri, 2007-09-21 at 12:25 +1000, Nigel Cunningham wrote:
> > Hi.
> > 
> > On Friday 21 September 2007 12:18:57 Huang, Ying wrote:
> > > > That's not true. Kexec will itself be an implementation, otherwise 
you'd 
> > end 
> > > > up with people screaming about no hibernation support. And it won't 
result 
> > in 
> > > > the complete removal of the existing hibernation code from the kernel. 
At 
> > the 
> > > > very least, it's going to want the kernel being hibernated to have an 
> > > > interface by which it can find out which pages need to be saved. I 
> > wouldn't 
> > > 
> > > This has been done by kexec/kdump guys. There is a makedumpfile utility
> > > and vmcoreinfo kernel mechanism to implement this. We can just reuse the
> > > work of kexec/kdump.
> > 
> > You've already said that you are currently saving all pages. How are you 
going 
> > to avoid saving free pages if you don't get the information from the 
kernel 
> > being saved? This will require more than just code reuse.
> 
> I have not tried "makedumpfile". The "makedumpfile" avoids saving free
> pages through checking the "mem_map" of the original kernel. I think
> there is nothing prevent it been used for kexec based hibernation image
> writing.
> 
> This is an example of duplicated effort between kexec/kdump and original
> hibernation implementation. Both kexec/kdump and hibernation need to
> save memory image without saving the free pages. This can be done once
> instead of twice.

Ok.

> > > > be surprised if it also ends up with an interface in which the kernel 
> > being 
> > > > hibernated tells it what bdev/sectors in which to save the image as 
well 
> > > > (otherwise you're going to need a dedicated, otherwise untouched 
partition 
> > > > exclusively for the kexec'd kernel to use), or what network settings 
to 
> > use 
> > > > if it wants to try to save the image to a network storage device. On 
top 
> > of
> > > 
> > > These can be done in user space. The image writing will be done in user
> > > space for kexec base hibernation.
> > 
> > That only complicates things more. Now you need to get the information on 
> > where to save the image from the kernel being saved, then transfer it to 
> > userspace after switching to the kexec kernel. That's more kernel code, 
not 
> > less.
> 
> This is fairly simple in fact. For example, you can specify the
> bdev/sectors in kernel command line when do kexec load "kexec -l <...>
> --append='...'", then the image writing system can get it through
> "cat /proc/cmdline".

Sounds doable, as long as you can cope with long command lines (which 
shouldn't be a biggie). (If you've got a swapfile or parts of a swap 
partition already in use, it can be quite fragmented).

Andrew, you're seeing that it really doesn't mean the removal of all 
hibernation code from the kernel being suspended, aren't you? (And if the 
kexec'd kernel is the same binary, then there's more code again).

Regards,

Nigel
-- 
See http://www.tuxonice.net for Howtos, FAQs, mailing
lists, wiki and bugzilla info.

  reply	other threads:[~2007-09-21  2:59 UTC|newest]

Thread overview: 55+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-09-20  5:34 [RFC][PATCH 1/2 -mm] kexec based hibernation -v3: kexec jump Huang, Ying
2007-09-20 10:09 ` Pavel Machek
2007-09-21  0:24   ` Nigel Cunningham
2007-09-21  1:06     ` Andrew Morton
2007-09-21  1:19       ` Nigel Cunningham
2007-09-21  1:41         ` Andrew Morton
2007-09-21  1:57           ` Nigel Cunningham
2007-09-21  2:18             ` Huang, Ying
2007-09-21  2:25               ` Nigel Cunningham
2007-09-21  2:45                 ` Huang, Ying
2007-09-21  2:58                   ` Nigel Cunningham [this message]
2007-09-21  4:46                     ` Eric W. Biederman
2007-09-21  9:45                       ` Pavel Machek
2007-09-26 20:30                         ` Joseph Fannin
2007-09-26 20:52                           ` Nigel Cunningham
2007-09-27  6:33                           ` Huang, Ying
2007-09-27  6:35                             ` Nigel Cunningham
2007-09-22 22:02                   ` Alon Bar-Lev
2007-09-21  3:33             ` Eric W. Biederman
2007-09-21 12:09               ` [linux-pm] " Rafael J. Wysocki
2007-09-21 13:14                 ` huang ying
2007-09-21 14:31                   ` Rafael J. Wysocki
2007-09-21 15:02                     ` huang ying
2007-09-21 15:50                       ` Rafael J. Wysocki
2007-09-21 18:11                     ` Jeremy Maitin-Shepard
2007-09-21 19:00                       ` Rafael J. Wysocki
2007-09-21 19:45                         ` Alan Stern
2007-09-21 20:15                           ` Rafael J. Wysocki
2007-09-21 20:26                             ` Jeremy Maitin-Shepard
2007-09-21 20:53                               ` Rafael J. Wysocki
2007-09-21 21:08                                 ` Jeremy Maitin-Shepard
2007-09-21 21:25                                   ` Rafael J. Wysocki
2007-09-21 21:16                                     ` Jeremy Maitin-Shepard
2007-09-21 23:19                                       ` Kyle Moffett
2007-09-21 23:47                                         ` Nigel Cunningham
2007-09-22 10:40                                           ` Rafael J. Wysocki
2007-10-11 20:54                                             ` Pavel Machek
2007-10-24 20:38                                               ` Rafael J. Wysocki
2007-09-22 10:34                                         ` Rafael J. Wysocki
2007-09-22 18:00                                           ` Kyle Moffett
2007-09-22 21:51                                             ` Rafael J. Wysocki
2007-09-26 20:52                                               ` Joseph Fannin
2007-09-21  4:16             ` Andrew Morton
2007-09-21 11:56           ` Rafael J. Wysocki
2007-09-21 11:58             ` Nigel Cunningham
2007-09-21 12:18               ` Rafael J. Wysocki
2007-09-21 12:15                 ` Nigel Cunningham
2007-09-21 13:25             ` huang ying
2007-09-24 17:37       ` Thomas Meyer
2007-09-21  9:49     ` Pavel Machek
2007-09-21 12:10       ` [linux-pm] " Rafael J. Wysocki
2007-09-21  2:55 ` Eric W. Biederman
2007-09-21  7:27   ` Huang, Ying
2007-09-21  4:01 ` Eric W. Biederman
2007-09-21  8:42   ` Huang, Ying

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=200709211259.00195.nigel@nigel.suspend2.net \
    --to=nigel@nigel.suspend2.net \
    --cc=akpm@linux-foundation.org \
    --cc=ebiederm@xmission.com \
    --cc=jbms@cmu.edu \
    --cc=kexec@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pm@lists.linux-foundation.org \
    --cc=nigel@suspend2.net \
    --cc=pavel@ucw.cz \
    --cc=ying.huang@intel.com \
    /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