On Fri, 2017-07-28 at 10:58 +0530, Viresh Kumar wrote: > On 27-07-17, 19:54, Leonard Crestez wrote: > > On Wed, 2017-07-26 at 11:36 +0530, Viresh Kumar wrote: > > > Without this patch the sampling rate of ondemand governor will be 109 > > > ms. And after this patch it would be capped at 10 ms. Why would that > > > screw up anyone's setup ? I don't have an answer to that right now. > > On a closer look it seems that most of the time is actually spent at > > low cpufreq though (90%+). > > > > Your change makes it so that even something like "sleep 1; cat > > scaling_cur_freq" raises the frequency to the maximum. > Why? > > > > > This happens > > enough that even if you do it in a loop you will never see the minimum > > frequency. It seems there is enough internal bookkeeping on such a > > wakeup that it takes more than 10ms and enough for a reevaluation of > > cpufreq until cat returns the value?!
> At this point I really feel that this is a hardware specific problem > and it was working by chance until now. And I am not sure if we > shouldn't be stopping this patch from getting merged just because of > that. Yes, I agree. Something is fishy here but most likely your patch just expose the problem. > At least you can teach your distribution to go increase the sampling > rate from userspace to make it all work. > > Can you try one more thing? Try using schedutil governor and see how > it behaves ? I don't have the time to investigate this properly right now. > > I found this by enabling the power:cpu_frequency tracepoint event and > > checking for deltas with a script. Enabling CPU_FREQ_STAT show this: > > > > time_in_state: > > > > 396000 1609 > So we still stay at the lowest frequency most of the time. Yes > Maybe can you compare these values with and without this patch to let > us know? Without the patch it is always at low freq. Sampling at a lower frequency means spikes get ignored.