From: Al Stone <ahs3@redhat.com>
To: Ashwin Chaugule <ashwinch@google.com>
Cc: Viresh Kumar <viresh.kumar@linaro.org>,
linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org,
Prashanth Prakash <pprakash@codeaurora.org>,
"Rafael J. Wysocki" <rjw@rjwysocki.net>
Subject: Re: [PATCH v5] Force cppc_cpufreq to report values in KHz to fix user space reporting
Date: Mon, 22 Aug 2016 12:12:21 -0600 [thread overview]
Message-ID: <6a0079da-2f81-a58b-0a71-3564d79ad61b@redhat.com> (raw)
In-Reply-To: <CANYZqRv6pLCK+oaWxyzr3YPxs0VytupWD7oPfX4tA7STxWNGOg@mail.gmail.com>
On 08/22/2016 11:45 AM, Ashwin Chaugule wrote:
> Hi Al,
>
> On Mon, Aug 22, 2016 at 10:16 AM, Al Stone <ahs3@redhat.com> wrote:
>> Maybe a top-post will get attention....
>>
>> Yet another ping; this was first submitted on 20 July, and has received
>> no comments. It has now been a month and other architectures are starting
>> to use CPPC so they will run into the same errors that this fixes. Can
>> I get an ACK, NAK, or further instructions, please?
>>
>
> Apologies for the delay. I thought this patch was merged already.
I've looked in linux-next and linux-pm; I could have missed it, but I didn't
see it...my bad, if I did.
>> Also adding Rafael on the ACPI side, just in case, since he's also reviewing
>> the Intel patches on the linux-acpi mailing list that are adding CPPC usage.
>>
>> On 08/11/2016 12:15 PM, Al Stone wrote:
>>> On 08/01/2016 02:31 PM, Viresh Kumar wrote:
>>>> [+ Ashwin's new email id..]
>>>>
>>>> On 20-07-16, 15:10, Al Stone wrote:
>>>>> When CPPC is being used by ACPI on arm64, user space tools such as
>>>>> cpupower report CPU frequency values from sysfs that are incorrect.
>>>>>
>>>>> What the driver was doing was reporting the values given by ACPI tables
>>>>> in whatever scale was used to provide them. However, the ACPI spec
>>>>> defines the CPPC values as unitless abstract numbers. Internal kernel
>>>>> structures such as struct perf_cap, in contrast, expect these values
>>>>> to be in KHz. When these struct values get reported via sysfs, the
>>>>> user space tools also assume they are in KHz, causing them to report
>>>>> incorrect values (for example, reporting a CPU frequency of 1MHz when
>>>>> it should be 1.8GHz).
>>>>>
>>>>> The downside is that this approach has some assumptions:
>>>>>
>>>>> (1) It relies on SMBIOS3 being used, *and* that the Max Frequency
>>>>> value for a processor is set to a non-zero value.
>>>>>
>>>>> (2) It assumes that all processors run at the same speed, or that
>>>>> the CPPC values have all been scaled to reflect relative speed.
>>>>> This patch retrieves the largest CPU Max Frequency from a type 4 DMI
>>>>> record that it can find. This may not be an issue, however, as a
>>>>> sampling of DMI data on x86 and arm64 indicates there is often only
>>>>> one such record regardless. Since CPPC is relatively new, it is
>>>>> unclear if the ACPI ASL will always be written to reflect any sort
>>>>> of relative performance of processors of differing speeds.
>>>>>
>>>>> (3) It assumes that performance and frequency both scale linearly.
>>>>>
>>>>> For arm64 servers, this may be sufficient, but it does rely on
>>>>> firmware values being set correctly. Hence, other approaches will
>>>>> be considered in the future.
>>>>>
>>>>> This has been tested on three arm64 servers, with and without DMI, with
>>>>> and without CPPC support.
>>>>>
>>>>> Changes for v5:
>>>>> -- Move code to cpufreq/cppc_cpufreq.c from acpi/cppc_acpi.c to keep
>>>>> frequency-related code together, and keep the CPPC abstract scale
>>>>> in ACPI (Prashanth Prakash)
>>>>> -- Fix the scaling to remove the incorrect assumption that frequency
>>>>> was always a range from zero to max; as a practical matter, it is
>>>>> not (Prasanth Prakash); this also allowed us to remove an over-
>>>>> engineered function to do this math.
>>>>>
>
> This addresses my previous feedback. So FWIW, Acked-by: Ashwin
> Chaugule <ashwinch@google.com>
>
> Cheers,
> Ashwin.
>
Thanks, Ashwin.
--
ciao,
al
-----------------------------------
Al Stone
Software Engineer
Red Hat, Inc.
ahs3@redhat.com
-----------------------------------
next prev parent reply other threads:[~2016-08-22 18:12 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-07-20 21:10 Al Stone
2016-08-01 20:07 ` Al Stone
2016-08-01 20:31 ` Viresh Kumar
2016-08-11 18:15 ` Al Stone
2016-08-22 17:16 ` Al Stone
2016-08-22 17:45 ` Ashwin Chaugule
2016-08-22 18:12 ` Al Stone [this message]
2016-08-23 4:31 ` Pandruvada, Srinivas
2016-08-23 16:14 ` Al Stone
2016-08-25 22:00 ` Pandruvada, Srinivas
2016-08-30 17:09 ` Al Stone
2016-09-14 1:09 ` Rafael J. Wysocki
2016-09-19 18:53 ` Al Stone
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=6a0079da-2f81-a58b-0a71-3564d79ad61b@redhat.com \
--to=ahs3@redhat.com \
--cc=ashwinch@google.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pm@vger.kernel.org \
--cc=pprakash@codeaurora.org \
--cc=rjw@rjwysocki.net \
--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
all inboxes | Powered by JetHome®