[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAJZ5v0gbs2k4PjpYO95VhwAs2v7MwHtzAMx7cQLdShw-v-1g3Q@mail.gmail.com>
Date: Wed, 22 Mar 2017 15:05:39 +0100
From: "Rafael J. Wysocki" <rafael@...nel.org>
To: Peter Zijlstra <peterz@...radead.org>
Cc: "Rafael J. Wysocki" <rjw@...ysocki.net>,
Linux PM <linux-pm@...r.kernel.org>,
LKML <linux-kernel@...r.kernel.org>,
Viresh Kumar <viresh.kumar@...aro.org>,
Patrick Bellasi <patrick.bellasi@....com>,
Vincent Guittot <vincent.guittot@...aro.org>
Subject: Re: [PATCH] cpufreq: schedutil: Always trace frequency if it does not change
On Wed, Mar 22, 2017 at 1:52 PM, Rafael J. Wysocki <rafael@...nel.org> wrote:
> On Wed, Mar 22, 2017 at 10:29 AM, Peter Zijlstra <peterz@...radead.org> wrote:
>> On Wed, Mar 22, 2017 at 01:56:53AM +0100, Rafael J. Wysocki wrote:
>>> From: Rafael J. Wysocki <rafael.j.wysocki@...el.com>
>>>
>>> sugov_update_commit() calls trace_cpu_frequency() to record the
>>> current CPU frequency if it has not changed in the fast switch case
>>> to prevent utilities from getting confused (they may report that the
>>> CPU is idle if the frequency has not been recorded for too long, for
>>> example).
>>
>> That seems like buggy tools; we should then fix the tools, not the
>> kernel to emit more superfluous information.
>>
>>> However, the same problem may occur for a cpufreq driver that doesn't
>>> support fast frequency switching and implements the ->target callback
>>> (that is, it doesn't use frequency tables), but trace_cpu_frequency()
>>> is not called if frequency updates are skipped in that case.
>>
>> I'm having trouble parsing that; am I right in understanding this is the
>> exact same scenario where only superfluous changes are omitted?
>
> Yes, that's the same scenario basically, which is the point of the patch. :-)
>
>>> For this reason, modify sugov_update_commit() to always call
>>> trace_cpu_frequency() when the new frequency to be set is equal to
>>> the one that was set previously and reorganize the code in there to
>>> reduce duplication somewhat.
>>
>> So why not fix the tools?
>
> Because I can't.
>
> I just can't go and fix all of the tools binaries that people use out
> there and I want them to use recent kernels at the same time.
>
> But anyway, I think that the code with the patch looks better than
> without it regardless and having a frivolous difference there between
> the two cases is not useful.
Well, perhaps the changelog should just be
"Get rid of superfluous differences between two code branches in
sugov_update_commit()"
or similar. :-)
Powered by blists - more mailing lists