From: David Brownell <david-b@pacbell.net>
To: Matthew Locke <matt@nomadgs.com>
Cc: alexey.y.starikovskiy@intel.com, dirk.behme@de.bosch.com,
johannes@sipsolutions.net, pavel@ucw.cz,
linux-pm@lists.linux-foundation.org, nico@cam.org,
ben@simtec.co.uk, g.liakhovetski@gmx.de
Subject: Re: [PATCH] implement pm_ops.valid for everybody
Date: Fri, 23 Mar 2007 13:11:34 -0700 [thread overview]
Message-ID: <200703231311.36149.david-b@pacbell.net> (raw)
In-Reply-To: <C0893D0E-60E9-4F0F-A731-FCA92C9368DA@nomadgs.com>
On Friday 23 March 2007 12:21 pm, Matthew Locke wrote:
>
> Unless I've misread something, it is exactly a 1:1 mapping between
> the system state and the cpu state. There is no code to support
> mapping multiple cpu states to the system state and then selecting
> the cpu state that is entered for a system state at runtime.
Platform hardware and software can do whatever it wants when
it gets the pm_ops.enter() request.
There's no formal notion of CPU state (or current need for one!),
so of course there's no code doing what you sketched.
> > Consider the PXA 255, which has an "idle" mode that's natural for
> > the idle loop, a "33 MHz idle" mode that saves more power but
> > means most peripherals can't be clocked, and a "sleep" mode that
> > turns the CPU off. A "standby" might normally use "idle", but
> > might likewise use "33 MHz idle" if all the peripheral clocks
> > happen to be gated off after the drivers suspend(). That wouldn't
> > be a one-to-one mapping ... and smarter hardware might do very
> > similar stuff automatically, too.
>
> You are saying existing code handles this case?
Not at all. It only handles an STR mode. I'm pointing out
that would be a valid implementation of a "standby" mode,
with lower resume latency (other than device resume) than
the current STR.
> >> I think the right answer is that a mechanism for mapping platform
> >> specific states to the system states is needed.
> >
> > That could be done, but in practice not all platform states will
> > necessarily be implemented by the platform code.
>
> Ok, does this matter? Certainly more than two will be implemented.
> The latest pxa's have much more than that.
It matters in the pragmatic sense that if you're assuming every
possible hardware PM state documented in the chip manual will be
implemented, tested, and used in Linux ... I'm highly skeptical.
> My point is that platforms that don't
> need to change mappings don't have to do anything different.
But ... we don't currently have a need for "mappings", or to
change them. What problem would be solved by adding "mappings"?
Especially since the $SUBJECT patches highlighted the fact that
most platforms only support one of the N possible state? :)
> > If I were to want to change things in that area, I'd likely want
> > to let platforms define their own states and names (*),
>
> Sure. Much of the behavior is platform specific. It really depends
> on who is going to use /sys/power/state. Will it be a general pm
> daemon that can be used on every platform or will it be specific to
> the platform.
I don't think platforms should gratuitously break the code that knows
how to use /sys/power/state ... and by "code" I include not just the
tools and their GUIs, but also documentation and the user training.
> > but in
> > fact I think it's probably a lot more imporant for embedded cases
> > to support top notch *runtime* PM rather than /sys/power/state
> > kinds of transitions.
>
> Then why bother contributing to this thread. Since someone is
> changing code in this area already and discussing definitions, its
> good to let everyone what works for other platforms.
Because I believe bad ideas should not prosper ... and accordingly
that pm_ops should make as much sense as practical.
- Dave
next prev parent reply other threads:[~2007-03-23 20:11 UTC|newest]
Thread overview: 68+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-03-22 13:44 [PATCH] implement pm_ops.valid for everybody Scott E. Preece
2007-03-22 18:29 ` David Brownell
2007-03-22 19:26 ` Tony Lindgren
2007-03-22 21:16 ` David Brownell
2007-03-23 13:15 ` tony
2007-03-23 18:25 ` David Brownell
2007-03-22 21:37 ` Rafael J. Wysocki
2007-03-22 21:27 ` Rafael J. Wysocki
2007-03-22 21:43 ` David Brownell
2007-03-22 21:56 ` Guennadi Liakhovetski
2007-03-22 22:42 ` David Brownell
2007-03-22 22:10 ` Rafael J. Wysocki
2007-03-22 22:56 ` David Brownell
2007-03-22 23:21 ` Rafael J. Wysocki
2007-03-22 23:55 ` David Brownell
2007-03-23 1:14 ` Matthew Locke
2007-03-23 13:17 ` tony
2007-03-23 13:35 ` Igor Stoppa
2007-03-23 14:52 ` tony
2007-03-23 15:17 ` Igor Stoppa
2007-03-23 18:51 ` Matthew Locke
2007-03-23 19:19 ` Igor Stoppa
2007-03-23 18:29 ` David Brownell
2007-03-23 19:21 ` Matthew Locke
2007-03-23 20:11 ` David Brownell [this message]
2007-03-23 6:46 ` Guennadi Liakhovetski
2007-03-23 16:15 ` David Brownell
2007-03-23 21:08 ` Guennadi Liakhovetski
2007-03-24 0:52 ` David Brownell
2007-03-23 13:43 ` Rafael J. Wysocki
2007-03-23 17:57 ` David Brownell
2007-03-23 20:39 ` Rafael J. Wysocki
2007-03-24 0:01 ` Pavel Machek
2007-03-24 0:54 ` David Brownell
2007-03-24 20:01 ` Rafael J. Wysocki
2007-03-24 0:41 ` Dmitry Krivoschekov
2007-03-24 20:49 ` David Brownell
2007-03-24 21:01 ` Johannes Berg
2007-03-25 1:02 ` David Brownell
2007-03-24 21:36 ` Rafael J. Wysocki
2007-03-24 22:19 ` David Brownell
2007-03-25 10:26 ` Dmitry Krivoschekov
2007-03-25 15:20 ` David Brownell
2007-03-25 16:23 ` Jim Gettys
2007-03-25 16:55 ` David Brownell
2007-03-23 18:18 ` Matthew Locke
2007-03-24 3:08 ` Paul Mackerras
2007-03-24 20:04 ` Rafael J. Wysocki
2007-03-22 23:29 ` Guennadi Liakhovetski
2007-03-22 23:44 ` David Brownell
2007-03-22 23:45 ` Guennadi Liakhovetski
2007-03-22 21:33 ` Rafael J. Wysocki
-- strict thread matches above, loose matches on Subject: below --
2007-03-20 1:58 [PATCH] rework pm_ops pm_disk_modes foo Johannes Berg
2007-03-20 8:46 ` [PATCH v2] " Johannes Berg
2007-03-20 9:31 ` Pavel Machek
2007-03-20 9:36 ` Johannes Berg
2007-03-20 9:43 ` Pavel Machek
2007-03-20 10:17 ` [PATCH] add firmware disk state and clean up Johannes Berg
2007-03-20 10:25 ` Pavel Machek
2007-03-20 11:06 ` [PATCH] implement pm_ops.valid for everybody Johannes Berg
2007-03-20 13:16 ` Pavel Machek
2007-03-20 23:44 ` David Brownell
2007-03-20 22:49 ` Pavel Machek
2007-03-21 21:01 ` Guennadi Liakhovetski
2007-03-21 22:07 ` David Brownell
2007-03-21 22:36 ` Guennadi Liakhovetski
2007-03-21 22:57 ` Pavel Machek
2007-03-21 23:25 ` David Brownell
2007-03-21 23:31 ` Pavel Machek
2007-03-22 10:03 ` Johannes Berg
2007-03-22 17:10 ` David Brownell
2007-03-22 17:18 ` Johannes Berg
2007-03-22 18:13 ` David Brownell
2007-03-22 18:18 ` Johannes Berg
2007-03-21 23:32 ` Rafael J. Wysocki
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=200703231311.36149.david-b@pacbell.net \
--to=david-b@pacbell.net \
--cc=alexey.y.starikovskiy@intel.com \
--cc=ben@simtec.co.uk \
--cc=dirk.behme@de.bosch.com \
--cc=g.liakhovetski@gmx.de \
--cc=johannes@sipsolutions.net \
--cc=linux-pm@lists.linux-foundation.org \
--cc=matt@nomadgs.com \
--cc=nico@cam.org \
--cc=pavel@ucw.cz \
/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