mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
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
-----------------------------------

  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®