Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1467857

Re: [PATCH v5] Force cppc_cpufreq to report values in KHz to fix user space reporting

From Ashwin Chaugule <ashwinch@google.com>
Newsgroups linux.kernel
Subject Re: [PATCH v5] Force cppc_cpufreq to report values in KHz to fix user space reporting
Date 2016-08-22 19:50 +0200
Message-ID <s91we-Tx-23@gated-at.bofh.it> (permalink)
References <rX74l-6Go-13@gated-at.bofh.it> <s1sad-2RI-7@gated-at.bofh.it> <s52Ke-7mc-13@gated-at.bofh.it> <s913c-JI-21@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


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.

> 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.

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

Re: [PATCH v5] Force cppc_cpufreq to report values in KHz to fix user  space reporting Al Stone <ahs3@redhat.com> - 2016-08-11 20:20 +0200
  Re: [PATCH v5] Force cppc_cpufreq to report values in KHz to fix user  space reporting Al Stone <ahs3@redhat.com> - 2016-08-22 19:20 +0200
    Re: [PATCH v5] Force cppc_cpufreq to report values in KHz to fix user  space reporting Ashwin Chaugule <ashwinch@google.com> - 2016-08-22 19:50 +0200
      Re: [PATCH v5] Force cppc_cpufreq to report values in KHz to fix user  space reporting Al Stone <ahs3@redhat.com> - 2016-08-22 20:20 +0200
        Re: [PATCH v5] Force cppc_cpufreq to report values in KHz to fix  user space reporting "Pandruvada, Srinivas" <srinivas.pandruvada@intel.com> - 2016-08-23 06:40 +0200
          Re: [PATCH v5] Force cppc_cpufreq to report values in KHz to fix user  space reporting Al Stone <ahs3@redhat.com> - 2016-08-23 18:20 +0200

csiph-web