All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Rafael J. Wysocki" <rjw@sisk.pl>
To: Alan Stern <stern@rowland.harvard.edu>
Cc: pm list <linux-pm@lists.linux-foundation.org>,
	David Brownell <david-b@pacbell.net>, Pavel Machek <pavel@ucw.cz>,
	linux acpi <linux-acpi@vger.kernel.org>,
	Len Brown <len.brown@intel.com>,
	Shaohua Li <shaohua.li@intel.com>
Subject: Re: [RFC][PATCH -mm] PM: Introduce set_target method in pm_ops
Date: Sun, 24 Jun 2007 02:03:12 +0200	[thread overview]
Message-ID: <200706240203.12970.rjw@sisk.pl> (raw)
In-Reply-To: <Pine.LNX.4.44L0.0706231937010.9663-100000@netrider.rowland.org>

On Sunday, 24 June 2007 01:46, Alan Stern wrote:
> On Sun, 24 Jun 2007, Rafael J. Wysocki wrote:
> 
> > Hi,
> > 
> > The appended patch adds the new pm_ops callback to be used to pass the target
> > system sleep state to the platform core (ACPI core in particular) and reworks
> > the ACPI PM operations to take this callback into account.
> > 
> > When I was working on this patch I thought it might be a good idea to do the
> > following additional changes:
> > * rename pm_ops to something more descriptive, like for example
> >   'platform_suspend_operations'
> > * move the definition of pm_ops (or whatever it will be called) to
> >   <linux/suspend.h>
> > * make the prepare(), enter() and finish() callbacks not take any arguments
> > * clean up the PM-related code in the ARM tree (that, and the previous one,
> >   would require someone to test the changes on these platforms, though)
> > 
> > Comments welcome.
> 
> Is this design okay with system states in which the CPU is able to run?

Do you mean the patch or the suggestions above?

> Right now the states we have are On, Standby, and Suspend, and the CPU
> runs only in the On state.  But on some platforms there could be
> multiple states in which the CPU is able to run, albeit with degraded 
> performance.

I wouldn't call those system sleep states.  For example, ACPI defines system
sleep states as the states in which no instructions are executed by any CPUs
and I think that's reasonable.

Moreover, the ACPI spec insists that transitions between different sleep
states should be made through the On state.

> So for something like Suspend the PM core tells the platform to enter 
> the new state, and when the call returns the system has already left 
> that state.  But with a low-performance On state, when the call returns 
> the system will still be in the new state.
> 
> Is the PM core prepared to handle this difference?

No, I don't think so.  IMO, runtime power management is needed for the
low-performance On states.

Greetings,
Rafael


-- 
"Premature optimization is the root of all evil." - Donald Knuth

  reply	other threads:[~2007-06-23 23:55 UTC|newest]

Thread overview: 111+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-06-19  2:33 [PATCH 1/2] acpi choose sleep state help Shaohua Li
2007-06-19 11:52 ` Rafael J. Wysocki
2007-06-19 22:00   ` Rafael J. Wysocki
2007-06-20  6:18   ` Shaohua Li
2007-06-20 11:32     ` [RFD] How to tell ACPI drivers what the target sleep state is (was: Re: [PATCH 1/2] acpi choose sleep state help) Rafael J. Wysocki
2007-06-20 11:32     ` Rafael J. Wysocki
2007-06-20 11:32     ` Rafael J. Wysocki
2007-06-20 14:08       ` Alan Stern
2007-06-20 14:08       ` [linux-pm] " Alan Stern
2007-06-20 14:36         ` Rafael J. Wysocki
2007-06-20 14:36         ` Rafael J. Wysocki
2007-06-21  6:57         ` David Brownell
2007-06-21  1:51       ` Len Brown
2007-06-21  1:51       ` Len Brown
2007-06-21  7:10         ` David Brownell
2007-06-21  7:04       ` David Brownell
2007-06-21 12:42         ` Rafael J. Wysocki
2007-06-21 13:03           ` Pavel Machek
2007-06-21 13:03           ` Pavel Machek
2007-06-21 14:46             ` Rafael J. Wysocki
2007-06-21 15:23               ` Alan Stern
2007-06-21 15:23               ` [linux-pm] " Alan Stern
2007-06-21 19:41                 ` Rafael J. Wysocki
2007-06-21 19:41                 ` Rafael J. Wysocki
2007-06-21 16:35               ` David Brownell
2007-06-21 19:42                 ` Rafael J. Wysocki
2007-06-21 19:42                 ` Rafael J. Wysocki
2007-06-21 16:35               ` David Brownell
2007-06-21 14:46             ` Rafael J. Wysocki
2007-06-21 15:37             ` David Brownell
2007-06-21 15:37             ` David Brownell
2007-06-21 18:59               ` [linux-pm] " Pavel Machek
2007-06-21 20:03                 ` David Brownell
2007-06-21 20:37                   ` Rafael J. Wysocki
2007-06-21 20:37                   ` [linux-pm] " Rafael J. Wysocki
2007-06-21 20:03                 ` David Brownell
2007-06-21 18:59               ` Pavel Machek
2007-06-21 19:52               ` Rafael J. Wysocki
2007-06-21 19:52               ` Rafael J. Wysocki
2007-06-21 14:48           ` David Brownell
2007-06-21 20:04             ` Rafael J. Wysocki
2007-06-21 20:04             ` Rafael J. Wysocki
2007-06-21 20:22               ` David Brownell
2007-06-21 20:22               ` David Brownell
2007-06-21 20:41                 ` Rafael J. Wysocki
2007-06-21 20:41                 ` Rafael J. Wysocki
2007-06-21 14:48           ` David Brownell
2007-06-21 12:42         ` Rafael J. Wysocki
2007-06-21 15:56         ` Alan Stern
2007-06-21 16:35           ` David Brownell
2007-06-21 16:35           ` [linux-pm] " David Brownell
2007-06-21 17:11             ` Alan Stern
2007-06-21 17:11             ` [linux-pm] " Alan Stern
2007-06-21 18:02               ` David Brownell
2007-06-21 18:02               ` [linux-pm] " David Brownell
2007-06-21 18:51                 ` Alan Stern
2007-06-21 18:51                 ` [linux-pm] " Alan Stern
2007-06-21 19:51                   ` David Brownell
2007-06-21 20:35                     ` Rafael J. Wysocki
2007-06-21 20:35                     ` [linux-pm] " Rafael J. Wysocki
2007-06-21 20:46                       ` David Brownell
2007-06-21 21:02                         ` Rafael J. Wysocki
2007-06-21 21:02                         ` [linux-pm] " Rafael J. Wysocki
2007-06-21 21:04                           ` Alan Stern
2007-06-21 21:04                           ` [linux-pm] " Alan Stern
2007-06-23 22:00                             ` [RFC][PATCH -mm] PM: Introduce set_target method in pm_ops Rafael J. Wysocki
2007-06-23 23:46                               ` Alan Stern
2007-06-23 23:46                               ` Alan Stern
2007-06-24  0:03                                 ` Rafael J. Wysocki [this message]
2007-06-24  0:28                                   ` Alan Stern
2007-06-24  9:52                                     ` Johannes Berg
2007-06-24  9:52                                     ` [linux-pm] " Johannes Berg
2007-06-24 11:49                                     ` Igor Stoppa
2007-06-24 13:04                                       ` Rafael J. Wysocki
2007-06-24 13:04                                       ` Rafael J. Wysocki
2007-06-24 11:49                                     ` Igor Stoppa
2007-06-24 12:57                                     ` Rafael J. Wysocki
2007-06-25  0:01                                       ` David Brownell
2007-06-25  0:01                                       ` David Brownell
2007-06-25 22:14                                         ` Rafael J. Wysocki
2007-06-25 22:14                                         ` Rafael J. Wysocki
2007-06-24 12:57                                     ` Rafael J. Wysocki
2007-06-24  0:28                                   ` Alan Stern
2007-06-25 13:04                                   ` Pavel Machek
2007-06-25 13:57                                     ` [linux-pm] " Dmitry Krivoschekov
2007-06-25 19:28                                       ` Pavel Machek
2007-06-25 19:28                                       ` [linux-pm] " Pavel Machek
2007-06-25 22:16                                         ` Rafael J. Wysocki
2007-06-25 22:16                                         ` [linux-pm] " Rafael J. Wysocki
2007-06-25 13:57                                     ` Dmitry Krivoschekov
2007-06-25 13:04                                   ` Pavel Machek
2007-06-24  0:03                                 ` Rafael J. Wysocki
2007-06-23 22:00                             ` Rafael J. Wysocki
2007-06-21 20:46                       ` Re: [RFD] How to tell ACPI drivers what the target sleep state is (was: Re: [PATCH 1/2] acpi choose sleep state help) David Brownell
2007-06-21 21:00                     ` Platform-specific system power states Alan Stern
2007-06-22 19:49                       ` David Brownell
2007-06-22 21:30                         ` Rafael J. Wysocki
2007-06-23  1:32                           ` Alan Stern
2007-06-23 20:20                             ` Rafael J. Wysocki
2007-06-25  0:10                               ` David Brownell
2007-06-25 22:59                                 ` Rafael J. Wysocki
2007-06-25  0:26                           ` David Brownell
2007-06-25 23:04                             ` Rafael J. Wysocki
2007-06-21 19:51                   ` Re: [RFD] How to tell ACPI drivers what the target sleep state is (was: Re: [PATCH 1/2] acpi choose sleep state help) David Brownell
2007-06-21 20:19                   ` Rafael J. Wysocki
2007-06-21 20:19                   ` [linux-pm] " Rafael J. Wysocki
2007-06-21 20:32                     ` David Brownell
2007-06-21 20:50                       ` Rafael J. Wysocki
2007-06-21 20:50                       ` [linux-pm] " Rafael J. Wysocki
2007-06-21 20:32                     ` David Brownell
2007-06-21  7:14     ` [PATCH 1/2] acpi choose sleep state help David Brownell

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=200706240203.12970.rjw@sisk.pl \
    --to=rjw@sisk.pl \
    --cc=david-b@pacbell.net \
    --cc=len.brown@intel.com \
    --cc=linux-acpi@vger.kernel.org \
    --cc=linux-pm@lists.linux-foundation.org \
    --cc=pavel@ucw.cz \
    --cc=shaohua.li@intel.com \
    --cc=stern@rowland.harvard.edu \
    /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.