Messages in this thread | | | From | "Rafael J. Wysocki" <> | Date | Wed, 22 Mar 2017 13:52:04 +0100 | Subject | Re: [PATCH] cpufreq: schedutil: Always trace frequency if it does not change |
| |
On Wed, Mar 22, 2017 at 10:29 AM, Peter Zijlstra <peterz@infradead.org> wrote: > On Wed, Mar 22, 2017 at 01:56:53AM +0100, Rafael J. Wysocki wrote: >> From: Rafael J. Wysocki <rafael.j.wysocki@intel.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.
| |