public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: "Rafael J. Wysocki" <rjw@sisk.pl>
To: Nigel Cunningham <nigel@nigel.suspend2.net>
Cc: Kyle Moffett <mrmacman_g4@mac.com>,
	Jeremy Maitin-Shepard <jbms@cmu.edu>,
	Alan Stern <stern@rowland.harvard.edu>,
	nigel@suspend2.net,
	Kexec Mailing List <kexec@lists.infradead.org>,
	linux-kernel@vger.kernel.org,
	"Eric W. Biederman" <ebiederm@xmission.com>,
	"Huang, Ying" <ying.huang@intel.com>,
	linux-pm@lists.linux-foundation.org,
	huang ying <huang.ying.caritas@gmail.com>,
	Andrew Morton <akpm@linux-foundation.org>
Subject: Re: [linux-pm] Re: [RFC][PATCH 1/2 -mm] kexec based hibernation -v3: kexec jump
Date: Sat, 22 Sep 2007 12:40:24 +0200	[thread overview]
Message-ID: <200709221240.25614.rjw@sisk.pl> (raw)
In-Reply-To: <200709220947.58872.nigel@nigel.suspend2.net>

On Saturday, 22 September 2007 01:47, Nigel Cunningham wrote:
> Hi.
> 
> On Saturday 22 September 2007 09:19:18 Kyle Moffett wrote:
> > I think that in order for this to work, there would need to be some  
> > ABI whereby the resume-ing kernel can pass its entire ACPI state and  
> > a bunch of other ACPI-related device details to the resume-ed kernel,  
> > which I believe it does not do at the moment.  I believe that what  
> > causes problems is the ACPI state data that the kernel stores is  
> > *different* between identical sequential boots, especially when you  
> > add/remove/replace batteries, AC, etc.
> 
> That's certainly possible. We already pass a very small amount of data between 
> the boot and resuming kernels at the moment, and it's done quite simply - by 
> putting the variables we want to 'transfer' in a nosave page/section.

Well, if the boot and image kernels are different, which is now possible on
x86_64 with some recent patches (currently in -mm), the nosave trick won't
work.

Still, I don't think we need to pass anything from the boot to the image
kernel.  Moreover, we shouldn't do that, IMO (arguably, the boot kernel
could be replaced with a resume-aware boot loader).

> I could  conceive of a scheme wherein this was extended for driver data.
> Since the memory needed would depend on the drivers loaded, it would
> probably require that the space be allocated when hibernating, and the
> locations of structures be stored in the image header and then drivers
> notified of the locations to use when preparing to resume, but it could
> work... 
>  
> > Since we currently throw away most of that in-kernel ACPI interpreter  
> > state data when we load the to-be-resumed image and replace it with  
> > the state from the previous boot it looks to the ACPI code and  
> > firmware like our system's hardware magically changed behind its  
> > back.  The result is that the ACPI and firmware code is justifiably  
> > confused (although probably it should be more idempotent to begin  
> > with).  There's 2 potential solutions:
> >    1) Formalize and copy a *lot* of ACPI state from the resume-ing  
> > kernel to the resume-ed kernel.
> >    2) Properly call the ACPI S4 methods in the proper order
> 
> ... that said, I don't think the above should be necessary in most cases. I 
> believe we're already calling the ACPI S4 methods in the proper order. If I 
> understood correctly, Rafael put a lot of effort into learning what that was, 
> and into ensuring it does get done.

Yes, I did, but I can be wrong nevertheless. ;-)

Greetings,
Rafael

  reply	other threads:[~2007-09-22 10:27 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
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 [this message]
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=200709221240.25614.rjw@sisk.pl \
    --to=rjw@sisk.pl \
    --cc=akpm@linux-foundation.org \
    --cc=ebiederm@xmission.com \
    --cc=huang.ying.caritas@gmail.com \
    --cc=jbms@cmu.edu \
    --cc=kexec@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pm@lists.linux-foundation.org \
    --cc=mrmacman_g4@mac.com \
    --cc=nigel@nigel.suspend2.net \
    --cc=nigel@suspend2.net \
    --cc=stern@rowland.harvard.edu \
    --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