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