All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Rafael J. Wysocki" <rjw@sisk.pl>
To: Jeremy Maitin-Shepard <jbms@cmu.edu>
Cc: Nigel Cunningham <nigel@nigel.suspend2.net>,
	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>,
	Len Brown <lenb@kernel.org>
Subject: Re: [linux-pm] Re: [RFC][PATCH 1/2 -mm] kexec based hibernation -v3: kexec jump
Date: Fri, 21 Sep 2007 21:00:09 +0200	[thread overview]
Message-ID: <200709212100.11050.rjw@sisk.pl> (raw)
In-Reply-To: <87sl576g8q.fsf@jbms.ath.cx>

On Friday, 21 September 2007 20:11, Jeremy Maitin-Shepard wrote:
> "Rafael J. Wysocki" <rjw@sisk.pl> writes:
> 
> > On Friday, 21 September 2007 15:14, huang ying wrote:
> >> On 9/21/07, Rafael J. Wysocki <rjw@sisk.pl> wrote:
> >> > On Friday, 21 September 2007 05:33, Eric W. Biederman wrote:
> >> > > Nigel Cunningham <nigel@nigel.suspend2.net> writes:
> > [--snip--]
> >> > >
> >> > > No one has yet attacked the hard problem of coming up with separate
> >> > > hibernate methods for drivers.
> >> >
> >> > Well, I've been playing a bit with that for some time, but it's not easy by
> > any
> >> > means.
> >> >
> >> > In short, I'm seeing some problems related to the handling of ACPI that seem
> > to
> >> > shatter the entire idea of having separate hibernate methods, at least as
> > far
> >> > as ACPI systems are concerned.
> >> 
> >> So sadly to hear this. Can you details it a little? Or a link?
> 
> > Well, the problem is that apparently some systems (eg. my HP nx6325) expect us
> > to execute the _PTS ACPI global control method before creating the image _and_
> > to execute acpi_enter_sleep_state(ACPI_STATE_S4) in order to finally put the
> > system into the sleep state.  In particular, on nx6325, if we don't do that,
> > then after the restore the status of the AC power will not be reported
> > correctly (and if you replace the battery while in the sleep state, the
> > battery status will not be updated correctly after the restore).  Similar
> > issues have been reported for other machines.
> 
> Suppose that instead of using ACPI S4 state at all, you instead just
> power off.  Yes, you'll lose wakeup event functionality, and flashy
> LEDs, but doesn't this take care of the problem?

Nope.

> The firmware shouldn't see the hibernate as anything other than a shutdown
> and reboot.

Actually, this assumption is apparently wrong.

> ACPI should be initialized normally when resuming, which should take care of
> getting AC power status reported properly.

Well, that doesn't work.  I've tested it, really. :-)

> This should be the behavior, anyway, on the many systems that do not
> support S4.
> 
> > Now, the ACPI specification requires us to put devices into low power states
> > before executing _PTS and that's exactly what we're doing before a suspend to
> > RAM.  Thus, it seems that in general we need to do the same for hibernation on
> > ACPI systems.
> 
> It seems that if ACPI S4 is going to be used, Switching to low power
> state is something that should be done only immediately before entering
> that state (i.e. after the image has already been saved).

Doesn't.  Work.

> In particular, it should not be done just before the atomic copy.  It is
> true that (during resume) after the atomic copy snapshot is restored,
> drivers will need to be prepared (i.e. have saved whatever information
> is necessary) to _resume_ devices from the low power state, but that
> does not mean they have to actually be put into that low power state
> before the copy is made.
> 
> I agree that for the kexec implementation there may be additional
> issues.  For swsusp, uswsusp, and tuxonice, though, I don't see why
> there should be a problem.  I think that, as was recognized before, all
> of the issues are resolved by properly considering exactly what each
> callback should do and when it should be called.  The problems stem from
> ambiguous specifications, or trying to use the same callback for two
> different purposes or in two different cases.
> 
> Let me know if I'm mistaken.

See above. :-)

Greetings,
Rafael

_______________________________________________
kexec mailing list
kexec@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/kexec

WARNING: multiple messages have this Message-ID (diff)
From: "Rafael J. Wysocki" <rjw@sisk.pl>
To: Jeremy Maitin-Shepard <jbms@cmu.edu>
Cc: Nigel Cunningham <nigel@nigel.suspend2.net>,
	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: Re: [RFC][PATCH 1/2 -mm] kexec based hibernation -v3: kexec jump
Date: Fri, 21 Sep 2007 21:00:09 +0200	[thread overview]
Message-ID: <200709212100.11050.rjw@sisk.pl> (raw)
In-Reply-To: <87sl576g8q.fsf@jbms.ath.cx>

On Friday, 21 September 2007 20:11, Jeremy Maitin-Shepard wrote:
> "Rafael J. Wysocki" <rjw@sisk.pl> writes:
> 
> > On Friday, 21 September 2007 15:14, huang ying wrote:
> >> On 9/21/07, Rafael J. Wysocki <rjw@sisk.pl> wrote:
> >> > On Friday, 21 September 2007 05:33, Eric W. Biederman wrote:
> >> > > Nigel Cunningham <nigel@nigel.suspend2.net> writes:
> > [--snip--]
> >> > >
> >> > > No one has yet attacked the hard problem of coming up with separate
> >> > > hibernate methods for drivers.
> >> >
> >> > Well, I've been playing a bit with that for some time, but it's not easy by
> > any
> >> > means.
> >> >
> >> > In short, I'm seeing some problems related to the handling of ACPI that seem
> > to
> >> > shatter the entire idea of having separate hibernate methods, at least as
> > far
> >> > as ACPI systems are concerned.
> >> 
> >> So sadly to hear this. Can you details it a little? Or a link?
> 
> > Well, the problem is that apparently some systems (eg. my HP nx6325) expect us
> > to execute the _PTS ACPI global control method before creating the image _and_
> > to execute acpi_enter_sleep_state(ACPI_STATE_S4) in order to finally put the
> > system into the sleep state.  In particular, on nx6325, if we don't do that,
> > then after the restore the status of the AC power will not be reported
> > correctly (and if you replace the battery while in the sleep state, the
> > battery status will not be updated correctly after the restore).  Similar
> > issues have been reported for other machines.
> 
> Suppose that instead of using ACPI S4 state at all, you instead just
> power off.  Yes, you'll lose wakeup event functionality, and flashy
> LEDs, but doesn't this take care of the problem?

Nope.

> The firmware shouldn't see the hibernate as anything other than a shutdown
> and reboot.

Actually, this assumption is apparently wrong.

> ACPI should be initialized normally when resuming, which should take care of
> getting AC power status reported properly.

Well, that doesn't work.  I've tested it, really. :-)

> This should be the behavior, anyway, on the many systems that do not
> support S4.
> 
> > Now, the ACPI specification requires us to put devices into low power states
> > before executing _PTS and that's exactly what we're doing before a suspend to
> > RAM.  Thus, it seems that in general we need to do the same for hibernation on
> > ACPI systems.
> 
> It seems that if ACPI S4 is going to be used, Switching to low power
> state is something that should be done only immediately before entering
> that state (i.e. after the image has already been saved).

Doesn't.  Work.

> In particular, it should not be done just before the atomic copy.  It is
> true that (during resume) after the atomic copy snapshot is restored,
> drivers will need to be prepared (i.e. have saved whatever information
> is necessary) to _resume_ devices from the low power state, but that
> does not mean they have to actually be put into that low power state
> before the copy is made.
> 
> I agree that for the kexec implementation there may be additional
> issues.  For swsusp, uswsusp, and tuxonice, though, I don't see why
> there should be a problem.  I think that, as was recognized before, all
> of the issues are resolved by properly considering exactly what each
> callback should do and when it should be called.  The problems stem from
> ambiguous specifications, or trying to use the same callback for two
> different purposes or in two different cases.
> 
> Let me know if I'm mistaken.

See above. :-)

Greetings,
Rafael

WARNING: multiple messages have this Message-ID (diff)
From: "Rafael J. Wysocki" <rjw@sisk.pl>
To: Jeremy Maitin-Shepard <jbms@cmu.edu>
Cc: "huang ying" <huang.ying.caritas@gmail.com>,
	linux-pm@lists.linux-foundation.org,
	"Eric W. Biederman" <ebiederm@xmission.com>,
	"Nigel Cunningham" <nigel@nigel.suspend2.net>,
	nigel@suspend2.net,
	"Kexec Mailing List" <kexec@lists.infradead.org>,
	linux-kernel@vger.kernel.org, "Huang\,
	Ying" <ying.huang@intel.com>,
	"Andrew Morton" <akpm@linux-foundation.org>,
	"Len Brown" <lenb@kernel.org>
Subject: Re: [linux-pm] Re: [RFC][PATCH 1/2 -mm] kexec based hibernation -v3: kexec jump
Date: Fri, 21 Sep 2007 21:00:09 +0200	[thread overview]
Message-ID: <200709212100.11050.rjw@sisk.pl> (raw)
In-Reply-To: <87sl576g8q.fsf@jbms.ath.cx>

On Friday, 21 September 2007 20:11, Jeremy Maitin-Shepard wrote:
> "Rafael J. Wysocki" <rjw@sisk.pl> writes:
> 
> > On Friday, 21 September 2007 15:14, huang ying wrote:
> >> On 9/21/07, Rafael J. Wysocki <rjw@sisk.pl> wrote:
> >> > On Friday, 21 September 2007 05:33, Eric W. Biederman wrote:
> >> > > Nigel Cunningham <nigel@nigel.suspend2.net> writes:
> > [--snip--]
> >> > >
> >> > > No one has yet attacked the hard problem of coming up with separate
> >> > > hibernate methods for drivers.
> >> >
> >> > Well, I've been playing a bit with that for some time, but it's not easy by
> > any
> >> > means.
> >> >
> >> > In short, I'm seeing some problems related to the handling of ACPI that seem
> > to
> >> > shatter the entire idea of having separate hibernate methods, at least as
> > far
> >> > as ACPI systems are concerned.
> >> 
> >> So sadly to hear this. Can you details it a little? Or a link?
> 
> > Well, the problem is that apparently some systems (eg. my HP nx6325) expect us
> > to execute the _PTS ACPI global control method before creating the image _and_
> > to execute acpi_enter_sleep_state(ACPI_STATE_S4) in order to finally put the
> > system into the sleep state.  In particular, on nx6325, if we don't do that,
> > then after the restore the status of the AC power will not be reported
> > correctly (and if you replace the battery while in the sleep state, the
> > battery status will not be updated correctly after the restore).  Similar
> > issues have been reported for other machines.
> 
> Suppose that instead of using ACPI S4 state at all, you instead just
> power off.  Yes, you'll lose wakeup event functionality, and flashy
> LEDs, but doesn't this take care of the problem?

Nope.

> The firmware shouldn't see the hibernate as anything other than a shutdown
> and reboot.

Actually, this assumption is apparently wrong.

> ACPI should be initialized normally when resuming, which should take care of
> getting AC power status reported properly.

Well, that doesn't work.  I've tested it, really. :-)

> This should be the behavior, anyway, on the many systems that do not
> support S4.
> 
> > Now, the ACPI specification requires us to put devices into low power states
> > before executing _PTS and that's exactly what we're doing before a suspend to
> > RAM.  Thus, it seems that in general we need to do the same for hibernation on
> > ACPI systems.
> 
> It seems that if ACPI S4 is going to be used, Switching to low power
> state is something that should be done only immediately before entering
> that state (i.e. after the image has already been saved).

Doesn't.  Work.

> In particular, it should not be done just before the atomic copy.  It is
> true that (during resume) after the atomic copy snapshot is restored,
> drivers will need to be prepared (i.e. have saved whatever information
> is necessary) to _resume_ devices from the low power state, but that
> does not mean they have to actually be put into that low power state
> before the copy is made.
> 
> I agree that for the kexec implementation there may be additional
> issues.  For swsusp, uswsusp, and tuxonice, though, I don't see why
> there should be a problem.  I think that, as was recognized before, all
> of the issues are resolved by properly considering exactly what each
> callback should do and when it should be called.  The problems stem from
> ambiguous specifications, or trying to use the same callback for two
> different purposes or in two different cases.
> 
> Let me know if I'm mistaken.

See above. :-)

Greetings,
Rafael

  reply	other threads:[~2007-09-21 18:47 UTC|newest]

Thread overview: 166+ 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  5:34 ` Huang, Ying
2007-09-20 10:09 ` Pavel Machek
2007-09-20 10:09 ` Pavel Machek
2007-09-20 10:09   ` Pavel Machek
2007-09-21  0:24   ` Nigel Cunningham
2007-09-21  0:24   ` Nigel Cunningham
2007-09-21  0:24     ` Nigel Cunningham
2007-09-21  1:06     ` Andrew Morton
2007-09-21  1:06       ` Andrew Morton
2007-09-21  1:06       ` Andrew Morton
2007-09-21  1:19       ` Nigel Cunningham
2007-09-21  1:19       ` Nigel Cunningham
2007-09-21  1:19         ` Nigel Cunningham
2007-09-21  1:41         ` Andrew Morton
2007-09-21  1:41           ` Andrew Morton
2007-09-21  1:57           ` Nigel Cunningham
2007-09-21  1:57           ` Nigel Cunningham
2007-09-21  1:57             ` Nigel Cunningham
2007-09-21  2:18             ` Huang, Ying
2007-09-21  2:18             ` Huang, Ying
2007-09-21  2:18               ` Huang, Ying
2007-09-21  2:25               ` Nigel Cunningham
2007-09-21  2:25               ` Nigel Cunningham
2007-09-21  2:25                 ` Nigel Cunningham
2007-09-21  2:45                 ` Huang, Ying
2007-09-21  2:45                 ` Huang, Ying
2007-09-21  2:45                   ` Huang, Ying
2007-09-21  2:58                   ` Nigel Cunningham
2007-09-21  2:58                     ` Nigel Cunningham
2007-09-21  4:46                     ` Eric W. Biederman
2007-09-21  4:46                       ` Eric W. Biederman
2007-09-21  9:45                       ` Pavel Machek
2007-09-21  9:45                         ` Pavel Machek
2007-09-26 20:30                         ` Joseph Fannin
2007-09-26 20:30                         ` Joseph Fannin
2007-09-26 20:30                           ` Joseph Fannin
2007-09-26 20:52                           ` Nigel Cunningham
2007-09-26 20:52                             ` Nigel Cunningham
2007-09-26 20:52                           ` Nigel Cunningham
2007-09-27  6:33                           ` Huang, Ying
2007-09-27  6:33                           ` Huang, Ying
2007-09-27  6:33                             ` Huang, Ying
2007-09-27  6:35                             ` Nigel Cunningham
2007-09-27  6:35                               ` Nigel Cunningham
2007-09-27  6:35                               ` Nigel Cunningham
2007-09-21  9:45                       ` Pavel Machek
2007-09-21  4:46                     ` Eric W. Biederman
2007-09-21  2:58                   ` Nigel Cunningham
2007-09-22 22:02                   ` Alon Bar-Lev
2007-09-22 22:02                   ` Alon Bar-Lev
2007-09-22 22:02                     ` Alon Bar-Lev
2007-09-21  3:33             ` Eric W. Biederman
2007-09-21  3:33               ` Eric W. Biederman
2007-09-21 12:09               ` Rafael J. Wysocki
2007-09-21 12:09               ` [linux-pm] " Rafael J. Wysocki
2007-09-21 12:09                 ` Rafael J. Wysocki
2007-09-21 13:14                 ` huang ying
2007-09-21 13:14                 ` [linux-pm] " huang ying
2007-09-21 13:14                   ` huang ying
2007-09-21 14:31                   ` Rafael J. Wysocki
2007-09-21 14:31                   ` [linux-pm] " Rafael J. Wysocki
2007-09-21 14:31                     ` Rafael J. Wysocki
2007-09-21 14:45                     ` Alan Stern
2007-09-21 15:27                       ` Rafael J. Wysocki
2007-09-21 15:02                     ` [linux-pm] " huang ying
2007-09-21 15:02                       ` huang ying
2007-09-21 15:50                       ` Rafael J. Wysocki
2007-09-21 15:50                       ` [linux-pm] " Rafael J. Wysocki
2007-09-21 15:50                         ` Rafael J. Wysocki
2007-09-21 15:02                     ` huang ying
2007-09-21 18:11                     ` [linux-pm] " Jeremy Maitin-Shepard
2007-09-21 18:11                       ` Jeremy Maitin-Shepard
2007-09-21 19:00                       ` Rafael J. Wysocki [this message]
2007-09-21 19:00                         ` Rafael J. Wysocki
2007-09-21 19:00                         ` Rafael J. Wysocki
2007-09-21 19:45                         ` Alan Stern
2007-09-21 19:45                         ` [linux-pm] " Alan Stern
2007-09-21 19:45                           ` Alan Stern
2007-09-21 20:15                           ` Rafael J. Wysocki
2007-09-21 20:15                           ` [linux-pm] " Rafael J. Wysocki
2007-09-21 20:15                             ` Rafael J. Wysocki
2007-09-21 20:26                             ` Jeremy Maitin-Shepard
2007-09-21 20:26                             ` [linux-pm] " Jeremy Maitin-Shepard
2007-09-21 20:26                               ` Jeremy Maitin-Shepard
2007-09-21 20:53                               ` Rafael J. Wysocki
2007-09-21 20:53                                 ` Rafael J. Wysocki
2007-09-21 21:08                                 ` Jeremy Maitin-Shepard
2007-09-21 21:08                                 ` [linux-pm] " Jeremy Maitin-Shepard
2007-09-21 21:08                                   ` Jeremy Maitin-Shepard
2007-09-21 21:25                                   ` Rafael J. Wysocki
2007-09-21 21:25                                     ` Rafael J. Wysocki
2007-09-21 21:16                                     ` Jeremy Maitin-Shepard
2007-09-21 21:16                                     ` [linux-pm] " Jeremy Maitin-Shepard
2007-09-21 21:16                                       ` Jeremy Maitin-Shepard
2007-09-21 23:19                                       ` Kyle Moffett
2007-09-21 23:19                                       ` [linux-pm] " Kyle Moffett
2007-09-21 23:19                                         ` Kyle Moffett
2007-09-21 23:47                                         ` Nigel Cunningham
2007-09-21 23:47                                         ` [linux-pm] " Nigel Cunningham
2007-09-21 23:47                                           ` Nigel Cunningham
2007-09-22 10:40                                           ` Rafael J. Wysocki
2007-09-22 10:40                                           ` [linux-pm] " Rafael J. Wysocki
2007-09-22 10:40                                             ` Rafael J. Wysocki
2007-10-11 20:54                                             ` Pavel Machek
2007-10-11 20:54                                             ` [linux-pm] " Pavel Machek
2007-10-11 20:54                                               ` Pavel Machek
2007-10-24 20:38                                               ` Rafael J. Wysocki
2007-10-24 20:38                                                 ` Rafael J. Wysocki
2007-10-24 20:38                                               ` Rafael J. Wysocki
2007-09-22 10:34                                         ` Rafael J. Wysocki
2007-09-22 10:34                                         ` [linux-pm] " Rafael J. Wysocki
2007-09-22 10:34                                           ` Rafael J. Wysocki
2007-09-22 18:00                                           ` Kyle Moffett
2007-09-22 18:00                                           ` [linux-pm] " Kyle Moffett
2007-09-22 18:00                                             ` Kyle Moffett
2007-09-22 21:51                                             ` Rafael J. Wysocki
2007-09-22 21:51                                             ` [linux-pm] " Rafael J. Wysocki
2007-09-22 21:51                                               ` Rafael J. Wysocki
2007-09-26 20:52                                               ` Joseph Fannin
2007-09-26 20:52                                               ` [linux-pm] " Joseph Fannin
2007-09-26 20:52                                                 ` Joseph Fannin
2007-09-21 21:25                                   ` Rafael J. Wysocki
2007-09-21 20:53                               ` Rafael J. Wysocki
2007-09-21 18:11                     ` Jeremy Maitin-Shepard
2007-09-21  3:33             ` Eric W. Biederman
2007-09-21  4:16             ` Andrew Morton
2007-09-21  4:16             ` Andrew Morton
2007-09-21  4:16               ` Andrew Morton
2007-09-21 11:56           ` Rafael J. Wysocki
2007-09-21 11:56           ` Rafael J. Wysocki
2007-09-21 11:56             ` Rafael J. Wysocki
2007-09-21 11:58             ` Nigel Cunningham
2007-09-21 11:58             ` Nigel Cunningham
2007-09-21 11:58               ` Nigel Cunningham
2007-09-21 12:18               ` Rafael J. Wysocki
2007-09-21 12:18               ` Rafael J. Wysocki
2007-09-21 12:18                 ` Rafael J. Wysocki
2007-09-21 12:15                 ` Nigel Cunningham
2007-09-21 12:15                 ` Nigel Cunningham
2007-09-21 12:15                   ` Nigel Cunningham
2007-09-21 13:25             ` huang ying
2007-09-21 13:25               ` huang ying
2007-09-21 13:25             ` huang ying
2007-09-21  1:41         ` Andrew Morton
2007-09-24 17:37       ` Thomas Meyer
2007-09-24 17:37       ` Thomas Meyer
2007-09-24 17:37         ` Thomas Meyer
2007-09-21  9:49     ` Pavel Machek
2007-09-21  9:49       ` Pavel Machek
2007-09-21 12:10       ` Rafael J. Wysocki
2007-09-21 12:10       ` [linux-pm] " Rafael J. Wysocki
2007-09-21 12:10         ` Rafael J. Wysocki
2007-09-21  9:49     ` Pavel Machek
2007-09-21  2:55 ` Eric W. Biederman
2007-09-21  2:55   ` Eric W. Biederman
2007-09-21  7:27   ` Huang, Ying
2007-09-21  7:27     ` Huang, Ying
2007-09-21  7:27   ` Huang, Ying
2007-09-21  2:55 ` Eric W. Biederman
2007-09-21  4:01 ` Eric W. Biederman
2007-09-21  4:01 ` Eric W. Biederman
2007-09-21  4:01   ` Eric W. Biederman
2007-09-21  8:42   ` Huang, Ying
2007-09-21  8:42   ` Huang, Ying
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=200709212100.11050.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=lenb@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pm@lists.linux-foundation.org \
    --cc=nigel@nigel.suspend2.net \
    --cc=nigel@suspend2.net \
    --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 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.