* RE: Re: [RFC][PATCH 0/4] Software coordination of frequency across CPUs sharing common P-state
@ 2005-09-01 18:04 Pallipadi, Venkatesh
0 siblings, 0 replies; 4+ messages in thread
From: Pallipadi, Venkatesh @ 2005-09-01 18:04 UTC (permalink / raw)
To: Dominik Brodowski, Dave Jones
Cc: cpufreq, acpi-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f, Brown, Len,
Shah, Rajesh
>-----Original Message-----
>From: acpi-devel-admin-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org
>[mailto:acpi-devel-admin-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org] On Behalf Of
>Dominik Brodowski
>Sent: Thursday, September 01, 2005 2:08 AM
>To: Dave Jones
>Cc: Pallipadi, Venkatesh; cpufreq;
>acpi-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org; Brown, Len; Shah, Rajesh
>Subject: [ACPI] Re: [RFC][PATCH 0/4] Software coordination of
>frequency across CPUs sharing common P-state
>
>On Thu, Sep 01, 2005 at 01:29:03AM -0400, Dave Jones wrote:
>> On Wed, Aug 31, 2005 at 02:09:33PM -0700, Venkatesh Pallipadi wrote:
>>
>> > ACPI 3.0 (http://www.acpi.info) adds new methods with
>which BIOS can communicate
>> > P-state dependency domains (List of CPUs that share a
>common P-state) to
>> > the OS. This can be used in conjunction with the existing
>"cpu group awareness"
>> > in cpufreq infrastructure, to manage the group of CPUs
>sharing the common
>> > P-state, in a better way.
>> >
>> > The patchset that follows adds this
>"software-coordination" feature in
>> > acpi-perflib, and also changes acpi-cpufreq and
>speedstep-centrino drivers to
>> > use this feature.
>>
>> Patch 1 rejects against the latest git tree, due to Len's
>latest ACPI changes.
>> That (and possibly patch 4) need redoing.
>>
>> From a first look, these patches look ok to me, so if you
>rediff these,
>> and Len is happy with the ACPI changes, I'm happy to merge
>them for 2.6.14
>
>Patches
>
>Acked-by: Dominik Brodowski <linux-X3ehHDuj6sIIGcDfoQAp7OTW4wlIGRCZ@public.gmane.org>
>
>Nice work!
>
I had rebased my patch over Len's acpi-20050815-2.6.13 . Probably
some part of it is still not in git that is causing the conflict.
I will rebase the patch with latest git, before I resend the patch.
I have few minor comments from our internal review. I will respin
the patch, do some more testing and send it sometime next week.
Thanks,
Venki
-------------------------------------------------------
SF.Net email is Sponsored by the Better Software Conference & EXPO
September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices
Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA
Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf
^ permalink raw reply [flat|nested] 4+ messages in thread
* RE: Re: [RFC][PATCH 0/4] Software coordination of frequency across CPUs sharing common P-state
@ 2005-09-01 19:20 Brown, Len
[not found] ` <F7DC2337C7631D4386A2DF6E8FB22B30047B8ED9-N2PTB0HCzHKkrb+BlOpmy7fspsVTdybXVpNB7YpNyf8@public.gmane.org>
0 siblings, 1 reply; 4+ messages in thread
From: Brown, Len @ 2005-09-01 19:20 UTC (permalink / raw)
To: Pallipadi, Venkatesh, Dominik Brodowski, Dave Jones
Cc: cpufreq, acpi-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f,
Shah, Rajesh
>I had rebased my patch over Len's acpi-20050815-2.6.13 . Probably
>some part of it is still not in git that is causing the conflict.
>I will rebase the patch with latest git, before I resend the patch.
FYI we're planning to send this ACPI patch to Linus in the next
few days. It includes a huge Lindent flag-day, so we really
want to get it into 2.6.14 extremely early, but we need to
button up a few things first.
-Len
-------------------------------------------------------
SF.Net email is Sponsored by the Better Software Conference & EXPO
September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices
Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA
Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Re: [RFC][PATCH 0/4] Software coordination of frequency across CPUs sharing common P-state
[not found] ` <F7DC2337C7631D4386A2DF6E8FB22B30047B8ED9-N2PTB0HCzHKkrb+BlOpmy7fspsVTdybXVpNB7YpNyf8@public.gmane.org>
@ 2005-09-01 19:31 ` Dave Jones
[not found] ` <20050901193154.GD24910-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
0 siblings, 1 reply; 4+ messages in thread
From: Dave Jones @ 2005-09-01 19:31 UTC (permalink / raw)
To: Brown, Len
Cc: Pallipadi, Venkatesh, Dominik Brodowski, cpufreq,
acpi-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f, Shah, Rajesh
On Thu, Sep 01, 2005 at 03:20:33PM -0400, Brown, Len wrote:
>
> >I had rebased my patch over Len's acpi-20050815-2.6.13 . Probably
> >some part of it is still not in git that is causing the conflict.
> >I will rebase the patch with latest git, before I resend the patch.
>
> FYI we're planning to send this ACPI patch to Linus in the next
> few days. It includes a huge Lindent flag-day, so we really
> want to get it into 2.6.14 extremely early, but we need to
> button up a few things first.
Ok, given Linus seems to now be away (for a week?) this gives a
bit of time for Venkatesh to get his bits in shape before you
do your merge. It should all just work out in time :)
Dave
-------------------------------------------------------
SF.Net email is Sponsored by the Better Software Conference & EXPO
September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices
Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA
Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf
^ permalink raw reply [flat|nested] 4+ messages in thread
* [ACPI][PATCH 0/4] (take 2) Software coordination of frequency across CPUs sharing common P-state
[not found] ` <20050901193154.GD24910-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
@ 2005-09-13 23:57 ` Venkatesh Pallipadi
0 siblings, 0 replies; 4+ messages in thread
From: Venkatesh Pallipadi @ 2005-09-13 23:57 UTC (permalink / raw)
To: cpufreq, acpi-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f
Cc: Dave Jones, Dominik Brodowski, Brown, Len, Shah, Rajesh
Take 2 of patchset posted earlier (Sub -
"Software coordination of frequency across CPUs sharing common P-state")
Changes since last post:
- Small changes to make things work with CPU_HOTPLUG
- Minor changes and cleanups
Outstanding issue:
- "affected_cpus" unaware userlevel policies can change CPU frequencies wrongly.
If the userlevel policy is unaware that CPU freqs can be shared across CPUs,
and assumes each CPU has independent control, then it can change the frequencies
wrongly.
Say CPU 0 and CPU 1 share a P-state. That information is exposed
by kernel. But, if userspace daemon doesn't know about it (legacy daemon),
then it thinks each CPU is independent, and whenever one CPu (say CPU 1) is
idle it lowers CPU 1's frequency. And even when CPU 0 is busy, CPU 0's frequency
will get reduced in such a circumstance. And all this can happen silently,
letting the user to wonder why performance has gone down.
I don't know of any clean way of providing backward compatibility to those
(legacy) userlevel policy. Keeping this patch in mm for a while (until 2.6.14)
should provide a chance to identify such userlevel policies and fix them.
(Rest of this mail is same as in original thread)
Details:
ACPI 3.0 (http://www.acpi.info) adds new methods with which BIOS can communicate
P-state dependency domains (List of CPUs that share a common P-state) to
the OS. This can be used in conjunction with the existing "cpu group awareness"
in cpufreq infrastructure, to manage the group of CPUs sharing the common
P-state, in a better way.
The patchset that follows adds this "software-coordination" feature in
acpi-perflib, and also changes acpi-cpufreq and speedstep-centrino drivers to
use this feature.
With this feature, current and future platforms (with more than one
logical processor) with Enhanced Speedstep Technology, can use
software-coordination in place of BIOS(or Hardware)-coordination of P-states.
The advantages:
1) With software coordination, we can use MSRs to change the frequency,
instead of using IO ports (as in BIOS coordination). This has a huge advantage
in terms of P-state transition latency. MSR based P-states transition latency
is around 10uS where as IO port based (which goes through SMM for BIOS
coordination) latency is around 100uS.
2) Kernel will know about the exact frequency at which each CPU is running.
With BIOS coordination, actual frequency of a particular CPU may be different
from what kernel thinks it is. As, BIOS changes the frequency of a particular
CPU depending on last request from the kernel and also the frequency request
from all the other CPUs in the same domain.
Caveat: BIOSes have to change to to support these new ACPI 3.0 based interfaces.
Not many BIOSes support it today. But, are likely to do it in future, as with
dual-cores, more number of logical processors share the common P-states.
The patchset also allows "hardware coordination" of P-states among the
CPUs belonging to same P-state dependency domain. Kernel will use either
software or hardware coordination, depending on what BIOS supports on the
particular platform. With hardware coordination among the CPUs of a dependency
domain, we will still have the advantage (2) above, but will not have the
advantage (1).
Below is more info about each patch in the patchset.
Comments most welcome.
Thanks,
Venki
[PATCH 1/4] Software coordination of freq across CPUs sharing common P-state
Changes to acpi/processor_perflib.c to invoke new (ACPI 3.0) _PSD methods.
This method has to be called early on all CPUs and P-state dependency domains
determined before the actual performance_register of P-states.
Also, a new field (shared_type) is added to cpufreq_policy. This is required to support two kinds of CPU groups. One, where one logical CPU can change the
frequency of all the CPUs by writing into an MSR or IO port. Other, where all
CPUs in the dependency domain need to write to an MSR or IO port.
[PATCH 2/4] Software coordination of freq across CPUs sharing common P-state
Changes to speedstep-centrino required for supporting cpu groups sharing
common P-state.
acpi_processor_preregister_performance is called initially to determine the
CPU group membership.
centrino_target is chaneg to handle acpu group shared_type of SHARED_TYPE_ANY
and SHARED_TYPE_ALL.
[PATCH 3/4] Software coordination of freq across CPUs sharing common P-state
Changes to acpi-cpufreq required for supporting cpu groups sharing
common P-state
acpi_processor_preregister_performance is called initially to determine the
CPU group membership.
centrino_target is chaneg to handle acpu group shared_type of SHARED_TYPE_ANY
and SHARED_TYPE_ALL.
[PATCH 4/4] Software coordination of freq across CPUs sharing common P-state
Final knob to turn on the P-state cpu groups in acpi-cpufreq and
speedstep-centrino. Add the software coordination bit for _PDC calls.
-------------------------------------------------------
SF.Net email is sponsored by:
Tame your development challenges with Apache's Geronimo App Server.
Download it for free - -and be entered to win a 42" plasma tv or your very
own Sony(tm)PSP. Click here to play: http://sourceforge.net/geronimo.php
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2005-09-13 23:57 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-09-01 19:20 Re: [RFC][PATCH 0/4] Software coordination of frequency across CPUs sharing common P-state Brown, Len
[not found] ` <F7DC2337C7631D4386A2DF6E8FB22B30047B8ED9-N2PTB0HCzHKkrb+BlOpmy7fspsVTdybXVpNB7YpNyf8@public.gmane.org>
2005-09-01 19:31 ` Dave Jones
[not found] ` <20050901193154.GD24910-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2005-09-13 23:57 ` [ACPI][PATCH 0/4] (take 2) " Venkatesh Pallipadi
-- strict thread matches above, loose matches on Subject: below --
2005-09-01 18:04 Re: [RFC][PATCH 0/4] " Pallipadi, Venkatesh
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox