From: Dirk Brandewie <dirk.brandewie@gmail.com>
To: Ashwin Chaugule <ashwin.chaugule@linaro.org>,
Viresh Kumar <viresh.kumar@linaro.org>,
Catalin Marinas <Catalin.Marinas@arm.com>,
"rwells@codeaurora.org" <rwells@codeaurora.org>
Cc: dirk.brandewie@gmail.com, "Rafael J. Wysocki" <rjw@rjwysocki.net>,
"linux-pm@vger.kernel.org" <linux-pm@vger.kernel.org>,
lkml <linux-kernel@vger.kernel.org>,
"linaro-acpi@lists.linaro.org" <linaro-acpi@lists.linaro.org>,
Len Brown <len.brown@intel.com>,
"Van De Ven, Arjan" <arjan.van.de.ven@intel.com>
Subject: Re: [RFC v1 0/6] CPPC as a PID backend
Date: Wed, 10 Sep 2014 10:31:19 -0700 [thread overview]
Message-ID: <54108AE7.8020600@gmail.com> (raw)
In-Reply-To: <CAJ5Y-eYRiq8ZFuKQHR0cDBWQfp7eEQLVfzvXNHpxOwEFQZeEeg@mail.gmail.com>
On 09/10/2014 09:11 AM, Ashwin Chaugule wrote:
> On 10 September 2014 11:44, Dirk Brandewie <dirk.brandewie@gmail.com> wrote:
>> Hi Ashwin,
>
> Hi Dirk,
>
>>
>> I think the CPPC based driver should be a separate driver.
>>
>> We made the conscious decision to not use any of the ACPI mechanisms
>> to enumerate or control P state selection. Experience over the years
>> has shown that the quality/accuracy of the BIOS/ACPI implementations
>> vary widely across OEM's and platform types from a single OEM. Features
>> that always work on a server platform from a given OEM may not work or
>> provide bad information on client platforms for example.
>>
>> Another reason for doing intel_pstate was to be able to land intel specific
>> features and fixes without breaking other architectures as the power
>> management capabilities of the platform evolve. As processors that support
>> Hardware P states (HWP) as described in section 14.4 of the current SDM
>> come into the market intel_pstate will change to not doing much other
>> than enabling HWP and providing an interface to forward user configuration
>> requests to the processor if the user chooses to enable HWP otherwise the
>> current mechanisms will be used. This is why the intel_pstate sysfs
>> interface is the way it is to be able to map cleanly to HWP and provide
>> an abstract interface going forward.
>>
>> Having separate drivers allows the system integrator/user to select the
>> most appropriate mechanism for their system.
>>
>> --Dirk
>
> With the current split I think you will still be able to maintain
> Intel specific changes for the future in the backend driver. The PID
> algorithm seems platform independent anyway and the PID knobs are
> exported to userspace for platform specific tuning. The Intel backend
> driver should be unaffected by the CPPC (ACPI) backend. We can also
> make them mutually exclusive at runtime.
We could make it runtime selectable whether to use CPPC or the
native mechanisms for P state enumeration and selection but we would
get into an awful black/white list situation that would not make
anyone happy.
Using CPPC on Intel platforms implies using HWP which is already
planned for in intel_pstate. I am not aware of any effort to support
CPPC on Intel platforms that do not support HWP. For Intel platforms
using CPPC is NOT needed or desirable IMHO. We had many conversations
over many months while CPPC was being defined and made the decision
to not use this mechanism on Intel Linux platforms.
For other platforms that plan on conforming to ACPI 5.x with respect
to P state enumeration and selection I would like to leave it to them
to hurd all the cats at the OEMs to get CPPC correct on all their platforms.
>
> Or are you suggesting using PID + CPPC as another driver? IIUC, that
> would lead to a lot of redundancy.
>
The redundancy is actually pretty small IMHO if you take out the
enumeration/init code the code shared at runtime is pretty small
sample/calc_busy/PID.
> Cheers,
> Ashwin
>
next prev parent reply other threads:[~2014-09-10 17:31 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-09-09 22:12 [RFC v1 0/6] CPPC as a PID backend Ashwin Chaugule
2014-09-09 22:12 ` [PATCH 1/6] PID Controller governor Ashwin Chaugule
2014-09-09 22:12 ` [PATCH 2/6] PID: Move Turbo detection into backend driver Ashwin Chaugule
2014-09-09 22:12 ` [PATCH 3/6] PID: Move Baytrail specific accessors " Ashwin Chaugule
2014-09-09 22:12 ` [PATCH 4/6] PID: Add new function pointers to read multiple registers Ashwin Chaugule
2014-09-09 22:12 ` [PATCH 5/6] PID: Rename counters to make them more generic Ashwin Chaugule
2014-09-09 22:12 ` [PATCH 6/6] PID: Add CPPC (Collaborative Processor Performance) backend driver Ashwin Chaugule
2014-09-10 15:44 ` [RFC v1 0/6] CPPC as a PID backend Dirk Brandewie
2014-09-10 16:11 ` Ashwin Chaugule
2014-09-10 17:31 ` Dirk Brandewie [this message]
2014-09-10 18:21 ` Ashwin Chaugule
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=54108AE7.8020600@gmail.com \
--to=dirk.brandewie@gmail.com \
--cc=Catalin.Marinas@arm.com \
--cc=arjan.van.de.ven@intel.com \
--cc=ashwin.chaugule@linaro.org \
--cc=len.brown@intel.com \
--cc=linaro-acpi@lists.linaro.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pm@vger.kernel.org \
--cc=rjw@rjwysocki.net \
--cc=rwells@codeaurora.org \
--cc=viresh.kumar@linaro.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;
as well as URLs for NNTP newsgroup(s).