All of lore.kernel.org
 help / color / mirror / Atom feed
From: ebiederm@xmission.com (Eric W. Biederman)
To: Maxim Levitsky <maximlevitsky@gmail.com>
Cc: nigel@nigel.suspend2.net,
	Kexec Mailing List <kexec@lists.infradead.org>,
	linux-kernel@vger.kernel.org, "Rafael J. Wysocki" <rjw@sisk.pl>,
	linux-pm@lists.linux-foundation.org,
	Andrew Morton <akpm@linux-foundation.org>,
	Vivek Goyal <vgoyal@redhat.com>
Subject: Re: [linux-pm] [PATCH -mm] kexec jump -v9
Date: Wed, 14 May 2008 16:34:48 -0700	[thread overview]
Message-ID: <m1od78tq7b.fsf@frodo.ebiederm.org> (raw)
In-Reply-To: <200805142341.52078.maximlevitsky@gmail.com> (Maxim Levitsky's message of "Wed, 14 May 2008 23:41:51 +0300")

Maxim Levitsky <maximlevitsky@gmail.com> writes:

> First of all S4 ACPI code turns some leds on some systems,
> cosmetic thing, but still nice.
>
> Secondary, what about wakeup devices?
> Hardware can disable some devices in S5 while leave them running in S4
> on my system for example network card will do WOL in S4,
> but to make it WOL in S5 I have to turn a specific option in BIOS.
>
> While my system doesn't have this, it isn't uncommon for system to leave USB
> ports
> running so one can turn the PC with keyboard/mouse even in S4.
> in S5 those ports  will probably  be disabled.
> My system on have this for S3 only.
>
> On laptops we can expect even more ACPI functionality, so some more differences
> between
> S4 and S5 can happen.
>
> Last thing that I want to say is that, when linux puts PC in S? state, on top of
> executing
> _PTS, _GTS acpi functions, it writes the destination S state to a fixed
> register, thus the hardware
> can (and does) behave differently.

Yes.

S4 looks interesting.  Especially the weird fans don't work on restore
from S5 case.

S4 still appears to be a premature optimization, that ads lots of
complexity and reduces the reliability of the code.

Software hibernation to disk should be a rock solid proposition, that
needs little if any cooperation from drivers, and it should work on
every box, because fundamentally it is hardware agnostic.  The only
cooperation we need from drivers is for devices that we can't tolerate
at upper layers an unplug and replug event like block devices because
we would loose our filesystems.

All of the reports say hibernation is not rock solid reliable.
Things like S4 support keep us from being hardware agnostic.
Therefore it appears to me we have a design bug.

Which is why I'm not at all happy with S4 support.



It actually occurs to me that the first mode we should really support
is the mode where the user hits the power button themselves.  That
totally removes the hibernation path from any weird hardware
interactions.

Then S5 is an optimization upon that (just a little more work on the
shutdown path).

Then ultimately S4 reusing and refactoring the work for S3? suspend to
ram to allow us to leave very specific devices on.  But that is lot
of complexity, for a little bit of gain.

We should have code that works by design. Code that practically
every time.  Something that is easy to diagnose.


Eric

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

WARNING: multiple messages have this Message-ID (diff)
From: ebiederm@xmission.com (Eric W. Biederman)
To: Maxim Levitsky <maximlevitsky@gmail.com>
Cc: linux-pm@lists.linux-foundation.org,
	"Rafael J. Wysocki" <rjw@sisk.pl>,
	nigel@nigel.suspend2.net,
	Kexec Mailing List <kexec@lists.infradead.org>,
	linux-kernel@vger.kernel.org,
	Andrew Morton <akpm@linux-foundation.org>,
	Vivek Goyal <vgoyal@redhat.com>
Subject: Re: [linux-pm] [PATCH -mm] kexec jump -v9
Date: Wed, 14 May 2008 16:34:48 -0700	[thread overview]
Message-ID: <m1od78tq7b.fsf@frodo.ebiederm.org> (raw)
In-Reply-To: <200805142341.52078.maximlevitsky@gmail.com> (Maxim Levitsky's message of "Wed, 14 May 2008 23:41:51 +0300")

Maxim Levitsky <maximlevitsky@gmail.com> writes:

> First of all S4 ACPI code turns some leds on some systems,
> cosmetic thing, but still nice.
>
> Secondary, what about wakeup devices?
> Hardware can disable some devices in S5 while leave them running in S4
> on my system for example network card will do WOL in S4,
> but to make it WOL in S5 I have to turn a specific option in BIOS.
>
> While my system doesn't have this, it isn't uncommon for system to leave USB
> ports
> running so one can turn the PC with keyboard/mouse even in S4.
> in S5 those ports  will probably  be disabled.
> My system on have this for S3 only.
>
> On laptops we can expect even more ACPI functionality, so some more differences
> between
> S4 and S5 can happen.
>
> Last thing that I want to say is that, when linux puts PC in S? state, on top of
> executing
> _PTS, _GTS acpi functions, it writes the destination S state to a fixed
> register, thus the hardware
> can (and does) behave differently.

Yes.

S4 looks interesting.  Especially the weird fans don't work on restore
from S5 case.

S4 still appears to be a premature optimization, that ads lots of
complexity and reduces the reliability of the code.

Software hibernation to disk should be a rock solid proposition, that
needs little if any cooperation from drivers, and it should work on
every box, because fundamentally it is hardware agnostic.  The only
cooperation we need from drivers is for devices that we can't tolerate
at upper layers an unplug and replug event like block devices because
we would loose our filesystems.

All of the reports say hibernation is not rock solid reliable.
Things like S4 support keep us from being hardware agnostic.
Therefore it appears to me we have a design bug.

Which is why I'm not at all happy with S4 support.



It actually occurs to me that the first mode we should really support
is the mode where the user hits the power button themselves.  That
totally removes the hibernation path from any weird hardware
interactions.

Then S5 is an optimization upon that (just a little more work on the
shutdown path).

Then ultimately S4 reusing and refactoring the work for S3? suspend to
ram to allow us to leave very specific devices on.  But that is lot
of complexity, for a little bit of gain.

We should have code that works by design. Code that practically
every time.  Something that is easy to diagnose.


Eric

  parent reply	other threads:[~2008-05-14 23:40 UTC|newest]

Thread overview: 253+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-03-06  3:13 [PATCH -mm] kexec jump -v9 Huang, Ying
2008-03-06  3:13 ` Huang, Ying
2008-03-11 21:10 ` Vivek Goyal
2008-03-11 21:10 ` Vivek Goyal
2008-03-11 21:10   ` Vivek Goyal
2008-03-11 21:59   ` Nigel Cunningham
2008-03-11 21:59     ` Nigel Cunningham
2008-03-11 23:55     ` Eric W. Biederman
2008-03-11 23:55       ` Eric W. Biederman
2008-03-11 23:55     ` Eric W. Biederman
2008-03-12  0:09     ` david
2008-03-12  0:09     ` david
2008-03-12  0:09       ` david
2008-03-12  2:14     ` Huang, Ying
2008-03-12  2:14     ` Huang, Ying
2008-03-12  2:14       ` Huang, Ying
2008-03-12 18:53       ` Vivek Goyal
2008-03-12 18:53         ` Vivek Goyal
2008-03-13  0:01         ` Eric W. Biederman
2008-03-13  0:01           ` Eric W. Biederman
2008-03-13  0:01         ` Eric W. Biederman
2008-03-12 18:53       ` Vivek Goyal
2008-03-11 21:59   ` Nigel Cunningham
2008-03-11 22:18   ` Rafael J. Wysocki
2008-03-11 22:18   ` Rafael J. Wysocki
2008-03-11 22:18     ` Rafael J. Wysocki
2008-03-12  2:02     ` Eric W. Biederman
2008-03-12  2:02     ` Eric W. Biederman
2008-03-12  2:02       ` Eric W. Biederman
2008-03-12  2:26     ` Huang, Ying
2008-03-12  2:26     ` Huang, Ying
2008-03-12  2:26       ` Huang, Ying
2008-03-11 23:24   ` Pavel Machek
2008-03-11 23:24   ` Pavel Machek
2008-03-11 23:24     ` Pavel Machek
2008-03-11 23:49     ` Rafael J. Wysocki
2008-03-11 23:49       ` Rafael J. Wysocki
2008-03-12  1:55       ` Huang, Ying
2008-03-12  1:55       ` Huang, Ying
2008-03-12  1:55         ` Huang, Ying
2008-03-12 15:01         ` [linux-pm] " Alan Stern
2008-03-12 15:01           ` Alan Stern
2008-03-12 21:53           ` Rafael J. Wysocki
2008-03-12 21:53             ` Rafael J. Wysocki
2008-03-13  0:33             ` Eric W. Biederman
2008-03-13  0:33               ` Eric W. Biederman
2008-03-13 17:03               ` Rafael J. Wysocki
2008-03-13 17:03                 ` Rafael J. Wysocki
2008-03-13 23:07                 ` Eric W. Biederman
2008-03-13 23:07                 ` [linux-pm] " Eric W. Biederman
2008-03-13 23:07                   ` Eric W. Biederman
2008-03-14  1:31                   ` Rafael J. Wysocki
2008-03-14  1:31                     ` Rafael J. Wysocki
2008-03-18 16:56                     ` Eric W. Biederman
2008-03-18 23:52                       ` Pavel Machek
2008-03-18 23:52                         ` Pavel Machek
2008-03-18 23:52                       ` Pavel Machek
2008-03-19  0:08                       ` Rafael J. Wysocki
2008-03-19  0:08                       ` [linux-pm] " Rafael J. Wysocki
2008-03-19  0:08                         ` Rafael J. Wysocki
2008-03-19  2:33                         ` Alan Stern
2008-03-19  2:33                         ` [linux-pm] " Alan Stern
2008-03-19  2:33                           ` Alan Stern
2008-03-19  3:25                           ` Eric W. Biederman
2008-03-19  3:25                             ` Eric W. Biederman
2008-03-19 15:01                             ` Alan Stern
2008-03-19 15:01                             ` [linux-pm] " Alan Stern
2008-03-19 15:01                               ` Alan Stern
2008-03-19 19:28                               ` Rafael J. Wysocki
2008-03-19 19:28                                 ` Rafael J. Wysocki
2008-03-19 19:28                               ` Rafael J. Wysocki
2008-03-20 10:40                             ` Pavel Machek
2008-03-20 10:40                             ` [linux-pm] " Pavel Machek
2008-03-20 10:40                               ` Pavel Machek
2008-03-20 22:45                               ` Rafael J. Wysocki
2008-03-20 22:45                               ` [linux-pm] " Rafael J. Wysocki
2008-03-20 22:45                                 ` Rafael J. Wysocki
2008-03-20 23:01                                 ` Alan Stern
2008-03-20 23:01                                 ` [linux-pm] " Alan Stern
2008-03-20 23:01                                   ` Alan Stern
2008-03-20 23:22                                   ` Pavel Machek
2008-03-20 23:22                                     ` Pavel Machek
2008-03-20 23:40                                     ` Rafael J. Wysocki
2008-03-20 23:40                                     ` [linux-pm] " Rafael J. Wysocki
2008-03-20 23:40                                       ` Rafael J. Wysocki
2008-03-21  0:36                                       ` Rafael J. Wysocki
2008-03-21  0:36                                       ` [linux-pm] " Rafael J. Wysocki
2008-03-21  0:36                                         ` Rafael J. Wysocki
2008-03-21  0:52                                       ` Alan Stern
2008-03-21  0:52                                       ` [linux-pm] " Alan Stern
2008-03-21  0:52                                         ` Alan Stern
2008-03-21 22:05                                         ` Nigel Cunningham
2008-03-21 22:05                                           ` Nigel Cunningham
2008-03-21 22:05                                         ` Nigel Cunningham
2008-03-22 16:21                                         ` [linux-pm] " Pavel Machek
2008-03-22 16:21                                           ` Pavel Machek
2008-03-22 17:45                                           ` Rafael J. Wysocki
2008-03-22 17:45                                             ` Rafael J. Wysocki
2008-03-22 20:49                                             ` Alan Stern
2008-03-22 20:49                                             ` [linux-pm] " Alan Stern
2008-03-22 20:49                                               ` Alan Stern
2008-03-22 21:29                                               ` Rafael J. Wysocki
2008-03-22 21:29                                                 ` Rafael J. Wysocki
2008-05-14 22:38                                                 ` Eric W. Biederman
2008-05-14 22:38                                                   ` Eric W. Biederman
2008-05-14 23:47                                                   ` Rafael J. Wysocki
2008-05-14 23:47                                                     ` Rafael J. Wysocki
2008-05-15 20:55                                                     ` Eric W. Biederman
2008-05-15 20:55                                                     ` [linux-pm] " Eric W. Biederman
2008-05-15 20:55                                                       ` Eric W. Biederman
2008-05-15 21:20                                                       ` Rafael J. Wysocki
2008-05-15 21:20                                                         ` Rafael J. Wysocki
2008-05-15 21:20                                                       ` Rafael J. Wysocki
2008-05-14 23:47                                                   ` Rafael J. Wysocki
2008-05-14 22:38                                                 ` Eric W. Biederman
2008-03-22 21:29                                               ` Rafael J. Wysocki
2008-03-22 17:45                                           ` Rafael J. Wysocki
2008-03-22 16:21                                         ` Pavel Machek
2008-03-20 23:22                                   ` Pavel Machek
2008-05-14 20:41                       ` [linux-pm] " Maxim Levitsky
2008-05-14 20:41                         ` Maxim Levitsky
2008-05-14 23:34                         ` Eric W. Biederman
2008-05-14 23:34                         ` Eric W. Biederman [this message]
2008-05-14 23:34                           ` [linux-pm] " Eric W. Biederman
2008-05-14 20:41                       ` Maxim Levitsky
2008-03-18 16:56                     ` Eric W. Biederman
2008-03-14  1:31                   ` Rafael J. Wysocki
2008-03-13 17:03               ` Rafael J. Wysocki
2008-03-13  0:33             ` Eric W. Biederman
2008-03-12 21:53           ` Rafael J. Wysocki
2008-03-12 15:01         ` Alan Stern
2008-03-12  8:57       ` Pavel Machek
2008-03-12  8:57       ` Pavel Machek
2008-03-12  8:57         ` Pavel Machek
2008-03-11 23:49     ` Rafael J. Wysocki
2008-03-12  0:00     ` Nigel Cunningham
2008-03-12  0:00       ` Nigel Cunningham
2008-03-12  0:00     ` Nigel Cunningham
2008-03-12  1:45   ` Huang, Ying
2008-03-12  1:45   ` Huang, Ying
2008-03-12  1:45     ` Huang, Ying
2008-03-12  2:17     ` Eric W. Biederman
2008-03-12  2:17     ` Eric W. Biederman
2008-03-12  2:17       ` Eric W. Biederman
2008-03-12  6:54       ` Huang, Ying
2008-03-12  6:54       ` Huang, Ying
2008-03-12  6:54         ` Huang, Ying
2008-03-12 19:37       ` Vivek Goyal
2008-03-12 19:37         ` Vivek Goyal
2008-03-14  8:03         ` Huang, Ying
2008-03-14  8:03         ` Huang, Ying
2008-03-14  8:03           ` Huang, Ying
2008-03-21 19:12           ` Vivek Goyal
2008-03-21 19:12             ` Vivek Goyal
2008-03-21 19:12             ` Vivek Goyal
2008-03-25  7:25             ` Huang, Ying
2008-03-25  7:25               ` Huang, Ying
2008-03-25  7:25             ` Huang, Ying
2008-03-12 19:37       ` Vivek Goyal
2008-03-12 19:47     ` Vivek Goyal
2008-03-12 19:47       ` Vivek Goyal
2008-03-12 19:47     ` Vivek Goyal
2008-04-09  9:34 ` Pavel Machek
2008-04-09  9:34 ` Pavel Machek
2008-04-09  9:34   ` Pavel Machek
2008-04-09 12:30   ` Vivek Goyal
2008-04-09 12:30     ` Vivek Goyal
2008-04-09 12:30   ` Vivek Goyal
2008-05-14 16:03 ` Vivek Goyal
2008-05-14 16:03   ` Vivek Goyal
2008-05-14 17:49   ` Vivek Goyal
2008-05-14 17:49     ` Vivek Goyal
2008-05-14 17:49   ` Vivek Goyal
2008-05-14 16:03 ` Vivek Goyal
2008-05-14 20:52 ` Vivek Goyal
2008-05-14 20:52 ` Vivek Goyal
2008-05-14 20:52   ` Vivek Goyal
2008-05-15  2:32   ` Huang, Ying
2008-05-15  2:32     ` Huang, Ying
2008-05-15 20:09     ` Vivek Goyal
2008-05-15 20:09     ` Vivek Goyal
2008-05-15 20:09       ` Vivek Goyal
2008-05-16  1:48       ` Huang, Ying
2008-05-16  1:48         ` Huang, Ying
2008-05-16  1:51         ` Vivek Goyal
2008-05-16  1:51           ` Vivek Goyal
2008-05-16  2:08           ` Huang, Ying
2008-05-16  2:08             ` Huang, Ying
2008-05-16  2:08           ` Huang, Ying
2008-05-16  1:51         ` Vivek Goyal
2008-05-16 12:13         ` Pavel Machek
2008-05-16 12:13           ` Pavel Machek
2008-05-16 12:13         ` Pavel Machek
2008-05-16  1:48       ` Huang, Ying
2008-05-15  2:32   ` Huang, Ying
2008-05-15  5:41   ` Huang, Ying
2008-05-15  5:41   ` Huang, Ying
2008-05-15  5:41     ` Huang, Ying
2008-05-15 18:42     ` Eric W. Biederman
2008-05-15 18:42     ` Eric W. Biederman
2008-05-15 18:42       ` Eric W. Biederman
2008-05-16  0:51     ` Vivek Goyal
2008-05-16  0:51     ` Vivek Goyal
2008-05-16  0:51       ` Vivek Goyal
2008-05-16  1:35       ` Eric W. Biederman
2008-05-16  1:35       ` Eric W. Biederman
2008-05-16  1:35         ` Eric W. Biederman
2008-05-16  1:55         ` Huang, Ying
2008-05-16  1:55         ` Huang, Ying
2008-05-16  1:55           ` Huang, Ying
2008-05-27  7:27       ` Huang, Ying
2008-05-27  7:27         ` Huang, Ying
2008-05-27 22:15         ` Vivek Goyal
2008-05-27 22:15           ` Vivek Goyal
2008-05-28  1:35           ` Huang, Ying
2008-05-28  1:35           ` Huang, Ying
2008-05-28  1:35             ` Huang, Ying
2008-05-27 22:15         ` Vivek Goyal
2008-05-27  7:27       ` Huang, Ying
2008-05-14 22:30 ` Eric W. Biederman
2008-05-14 22:30   ` Eric W. Biederman
2008-05-14 23:55   ` Rafael J. Wysocki
2008-05-14 23:55     ` Rafael J. Wysocki
2008-05-15 22:03     ` Eric W. Biederman
2008-05-15 22:03     ` Eric W. Biederman
2008-05-15 22:03       ` Eric W. Biederman
2008-05-15 23:20       ` Rafael J. Wysocki
2008-05-15 23:20         ` Rafael J. Wysocki
2008-05-15 23:20       ` Rafael J. Wysocki
2008-05-16 12:18       ` Pavel Machek
2008-05-16 12:18         ` Pavel Machek
2008-05-16 12:18       ` Pavel Machek
2008-05-16 14:20       ` [linux-pm] " Alan Stern
2008-05-16 14:20         ` Alan Stern
2008-05-16 14:20       ` Alan Stern
2008-05-14 23:55   ` Rafael J. Wysocki
2008-05-15  1:42   ` Huang, Ying
2008-05-15  1:42   ` Huang, Ying
2008-05-15  1:42     ` Huang, Ying
2008-05-15 19:05     ` Rafael J. Wysocki
2008-05-15 19:05     ` Rafael J. Wysocki
2008-05-15 19:05       ` Rafael J. Wysocki
2008-05-15 14:14   ` Alan Stern
2008-05-15 14:14   ` [linux-pm] " Alan Stern
2008-05-15 14:14     ` Alan Stern
2008-05-15 20:48     ` Eric W. Biederman
2008-05-15 20:48     ` [linux-pm] " Eric W. Biederman
2008-05-15 20:48       ` Eric W. Biederman
2008-05-15 21:07       ` Alan Stern
2008-05-15 21:07         ` Alan Stern
2008-05-15 21:07       ` Alan Stern
2008-05-15 21:07       ` Alan Stern
2008-05-14 22:30 ` Eric W. Biederman

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=m1od78tq7b.fsf@frodo.ebiederm.org \
    --to=ebiederm@xmission.com \
    --cc=akpm@linux-foundation.org \
    --cc=kexec@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pm@lists.linux-foundation.org \
    --cc=maximlevitsky@gmail.com \
    --cc=nigel@nigel.suspend2.net \
    --cc=rjw@sisk.pl \
    --cc=vgoyal@redhat.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.