From: Amit Kucheria <amit.kucheria@nokia.com>
To: ext Greg KH <greg@kroah.com>
Cc: linux-pm@lists.osdl.org
Subject: Re: So, what's the status on the recent patches here?
Date: Tue, 15 Aug 2006 13:35:15 +0300 [thread overview]
Message-ID: <1155638115.6736.135.camel@localhost> (raw)
In-Reply-To: <20060815010020.GA14251@kroah.com>
On Mon, 2006-08-14 at 18:00 -0700, ext Greg KH wrote:
> On Mon, Aug 14, 2006 at 07:48:01PM -0400, Dave Jones wrote:
> >
> > This adds a whole bunch of new code, and doesn't seem to make any
> > existing code any simpler (to me at least). From a cpufreq point of view,
> > what does adding this buy us? What problem do we have today that is
> > being solved by all this?
> >
> > Every explanation of powerop I've seen so far dives into microdetails,
> > whilst the 10,000ft view has always passed me by other than "this is
> > what we've had in the embedded world".
> >
> > The diagram at http://lists.osdl.org/pipermail/linux-pm/2006-August/003196.html
> > also confuses me. I was under the impression that powerop was adding additional
> > userspace interfaces. If we're not changing how things from a userspace
> > point of view, we're churning a lot of kernel code,.. why?
> >
> > Clue me in here, I'm feeling thick.
>
> You're not alone, I really don't get it either.
>
> But I guess we'll just wait for the next round of unified patches and
> then go from there.
Here is my shot at providing a 10,000ft view:
a. For embedded platforms, cpufreq just does not cut it when specifying
an operating point for the device. These platforms use tuples such as
<voltage, pll_freq, core1_freq, core2_freq, interconnect_freq>
to signify an 'operating point'. Note that core1 and core2 can be
totally different processors e.g. ARM and DSP. x86 platforms hide this
complexity behind ACPI.
b. The clocking and voltage dependency tree in embedded devices can be
summarised in the clock framework ( find ./arch -name clock* ) and
soon-to-be-available voltage framework. These is again done to large
extent by ACPI on x86.
c. PowerOP provides an interface, that most embedded developers agree,
is a good starting point to encapsulate platform information in a
consistent way without having to resort to subarch-specific kludges.
d. In the end, all this is leading to an interface for a user-space
policy manager that will control _system_ power state based on
constraints imposed by HW peripherals or on policies implemented by
device manufacturer/distro maintainer.
In conclusion, PowerOP only allows embedded platforms to join the PM fun
without affecting cpufreq-supported platforms adversely. Or that is the
original idea. If that rule is being violated, please feel free to point
that out.
The way forward as I see is:
1. PowerOP integration into mainline [patch 1/3]
- PM Core drivers (OMAP, x86) [patch 2/3]
- cpufreq drivers modified to use PowerOP (OMAP, x86) [patch 3/3]
At this point, PowerOP is an optional component in mainline tree.
Cpufreq drivers can _choose_ to use it or not. But now embedded
platforms can do the PM dance in a consistent way.
2. Support for more architectures - PPC, x86_64, XScale, MIPS? Platform
expertise needed here.
3. Move clock/voltage framework from arch/arm to kernel/clock and
kernel/voltage. This would allow more embedded platforms and potentially
future PC platforms to utilise the framework for 'automated'
clock/voltage dependency management.
4. Userspace policy managers are created to provide basic control of
system operating points. Embedded system integrators might want to
extend these policy managers to fully utilise the 'knobs' available on
their platforms.
5. <Crystal Ball Gazing/Wishful Thinking>
- Clock/Voltage FW <--> ACPI logical mappings allows us to use global
state names in /sys/power/state for system power state transitions.
- Drivers on PC platforms are fixed to use/unuse resources dynamically
to allow asynchronous peripheral power state transitions. Embedded
platforms use clock framework for this.
- PowerOP can address needs of all platforms, allowing removal of
cpufreq.
</CBG/WT>
Regards,
Amit
--
Amit Kucheria <amit.kucheria@nokia.com>
Nokia
next prev parent reply other threads:[~2006-08-15 10:35 UTC|newest]
Thread overview: 136+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-08-14 20:07 So, what's the status on the recent patches here? Greg KH
2006-08-14 22:24 ` Matthew Locke
2006-08-14 22:46 ` Dave Jones
2006-08-14 23:24 ` Matthew Locke
2006-08-14 23:48 ` Dave Jones
2006-08-15 1:00 ` Greg KH
2006-08-15 3:03 ` Dave Jones
2006-08-15 10:35 ` Amit Kucheria [this message]
2006-08-15 19:04 ` Dave Jones
2006-08-16 12:58 ` Igor Stoppa
2006-08-17 21:39 ` Pavel Machek
2006-08-18 10:02 ` Igor Stoppa
2006-08-18 15:29 ` Alexey Starikovskiy
2006-08-18 17:54 ` Igor Stoppa
2006-08-18 21:05 ` Alexey Starikovskiy
2006-08-20 13:19 ` Igor Stoppa
2006-08-17 5:20 ` Matthew Locke
2006-08-17 7:20 ` Paul Mundt
2006-08-17 9:18 ` Amit Kucheria
2006-08-17 21:40 ` Pavel Machek
2006-08-18 5:42 ` Vitaly Wool
2006-08-23 12:28 ` Pavel Machek
2006-08-23 15:26 ` Igor Stoppa
2006-08-24 12:58 ` Vitaly Wool
2006-08-25 19:55 ` Pavel Machek
2006-08-25 23:26 ` Vitaly Wool
2006-08-26 10:18 ` Pavel Machek
2006-08-26 13:30 ` Vitaly Wool
2006-08-26 13:46 ` Pavel Machek
2006-08-28 16:40 ` Mark Gross
2006-08-28 17:39 ` Pavel Machek
2006-08-29 7:51 ` Matthew Locke
2006-08-30 22:13 ` Mark Gross
2006-08-30 22:27 ` Pavel Machek
2006-08-18 11:48 ` Amit Kucheria
2006-08-24 7:59 ` Pavel Machek
2006-08-30 11:00 ` Amit Kucheria
2006-08-30 22:36 ` Pavel Machek
2006-08-31 13:44 ` Amit Kucheria
2006-09-02 11:17 ` Pavel Machek
2006-08-17 21:24 ` Pavel Machek
2006-08-19 6:10 ` David Singleton
2006-08-22 2:13 ` Greg KH
2006-08-22 5:20 ` David Singleton
2006-08-23 19:05 ` Mark Gross
2006-08-24 12:39 ` Pavel Machek
2006-08-19 6:19 ` David Singleton
[not found] ` <20060819184843.GB15644@redhat.com>
2006-08-20 3:20 ` David Singleton
2006-08-20 3:30 ` Dave Jones
2006-08-23 18:50 ` Mark Gross
2006-08-27 4:37 ` David Singleton
2006-08-27 15:41 ` Pavel Machek
2006-08-29 15:55 ` David Singleton
2006-08-29 16:34 ` Pavel Machek
2006-08-29 17:49 ` Preece Scott-PREECE
2006-08-30 6:20 ` Matthew Locke
2006-08-30 13:26 ` Preece Scott-PREECE
2006-08-30 22:50 ` Pavel Machek
2006-08-31 0:22 ` Preece Scott-PREECE
2006-08-31 12:04 ` Pavel Machek
2006-09-02 18:05 ` David Singleton
2006-09-02 19:30 ` Rafael J. Wysocki
2006-09-03 16:25 ` David Singleton
2006-09-03 20:57 ` Rafael J. Wysocki
2006-09-03 21:33 ` Pavel Machek
2006-09-09 0:39 ` David Singleton
2006-09-09 0:48 ` David Singleton
2006-09-09 16:13 ` Pavel Machek
2006-09-09 12:17 ` Pavel Machek
2006-09-11 15:11 ` David Singleton
2006-09-11 17:14 ` Pavel Machek
2006-09-11 18:58 ` Matthew Locke
2006-08-30 4:52 ` David Singleton
2006-08-30 5:52 ` Matthew Locke
2006-08-30 13:39 ` Preece Scott-PREECE
2006-08-30 22:43 ` Pavel Machek
2006-08-27 19:48 ` Greg KH
2006-08-28 0:07 ` David Singleton
2006-08-27 20:54 ` Eugeny S. Mints
2006-08-28 22:18 ` Pavel Machek
2006-08-29 21:46 ` Eugeny S. Mints
2006-08-29 1:29 ` David Singleton
2006-08-29 22:39 ` Eugeny S. Mints
2006-08-31 13:27 ` Amit Kucheria
2006-08-31 19:22 ` Preece Scott-PREECE
2006-09-01 8:11 ` Amit Kucheria
2006-08-14 23:29 ` Dominik Brodowski
2006-08-14 23:48 ` Matthew Locke
-- strict thread matches above, loose matches on Subject: below --
2006-08-16 1:27 Scott E. Preece
2006-08-16 15:25 ` Mark Gross
2006-08-20 13:36 Woodruff, Richard
2006-08-23 19:20 Woodruff, Richard
2006-08-24 8:03 ` Pavel Machek
2006-08-24 12:16 Woodruff, Richard
2006-08-24 12:29 ` Pavel Machek
2006-08-24 14:52 Woodruff, Richard
2006-08-25 19:58 ` Pavel Machek
2006-08-25 20:05 Woodruff, Richard
2006-08-25 20:08 ` Pavel Machek
2006-08-25 20:22 Woodruff, Richard
2006-08-25 20:34 ` Alan Stern
2006-08-25 21:27 ` Pavel Machek
2006-08-25 21:46 ` Alan Stern
2006-08-25 22:03 ` Pavel Machek
2006-08-26 2:21 ` Alan Stern
2006-08-25 20:57 Woodruff, Richard
2006-08-25 21:13 ` Alan Stern
2006-08-25 21:21 Woodruff, Richard
2006-08-25 21:42 ` Alan Stern
2006-08-25 22:11 Woodruff, Richard
2006-08-31 0:52 Scott E. Preece
2006-08-31 2:41 Woodruff, Richard
2006-08-31 15:14 Scott E. Preece
2006-09-01 14:49 Scott E. Preece
2006-09-03 21:21 Scott E. Preece
2006-09-03 21:54 ` Pavel Machek
2006-09-03 21:34 Scott E. Preece
2006-09-03 21:43 ` Pavel Machek
2006-09-03 22:10 ` Rafael J. Wysocki
2006-09-03 22:12 Scott E. Preece
2006-09-03 22:25 ` Pavel Machek
2006-09-03 22:31 Scott E. Preece
2006-09-03 22:41 ` Pavel Machek
2006-09-03 22:40 Scott E. Preece
2006-09-04 9:06 ` Pavel Machek
2006-09-05 16:45 ` Mark Gross
2006-09-06 10:59 ` Pavel Machek
2006-09-03 23:00 Scott E. Preece
2006-09-04 9:12 ` Pavel Machek
2006-09-05 10:31 ` Rafael J. Wysocki
2006-09-03 23:05 Scott E. Preece
2006-09-04 9:09 ` Pavel Machek
2006-09-04 15:43 Scott E. Preece
2006-09-05 16:03 Scott E. Preece
2006-09-05 20:42 ` Rafael J. Wysocki
2006-09-06 10:56 ` Pavel Machek
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=1155638115.6736.135.camel@localhost \
--to=amit.kucheria@nokia.com \
--cc=greg@kroah.com \
--cc=linux-pm@lists.osdl.org \
/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