On Wed, Mar 22, 2017 at 1:52 PM, Rafael J. Wysocki <raf...@kernel.org> wrote: > On Wed, Mar 22, 2017 at 10:29 AM, Peter Zijlstra <pet...@infradead.org> wrote: >> On Wed, Mar 22, 2017 at 01:56:53AM +0100, Rafael J. Wysocki wrote: >>> From: Rafael J. Wysocki <rafael.j.wyso...@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.
Well, perhaps the changelog should just be "Get rid of superfluous differences between two code branches in sugov_update_commit()" or similar. :-)