On Wed, 2009-11-11 at 14:10 -0800, Alexander Miller wrote: > On Tue, Nov 10, 2009, Pallipadi, Venkatesh wrote: > > > Can you describe the "unresonable behavior" you are seeing. Is it > > > with NO_HZ enabled or disabled? > $ zgrep NO_HZ /proc/config.gz > # CONFIG_NO_HZ is not set > > When there are two cpu-intense processes, one with nice 19 and the other > with nice 0, then the latter will use almost 100% cpu time, of course. > But the cpu has been stuck at the lowest frequency without the patch. > To be exact, it would change the freq sometimes, but return to the > lowest freq within a fraction of a second. > I would expect it to select a freq such that the non-nice processes > take <80% or the highest freq (which it does with the patch). > > > > I see there can be a problem with this code when NO_HZ is disabled. > > > But, the patch below is not the right solution as it will result in > > > Adding times in different units with NO_HZ enabled. > > Yes, you are right. Looks like I've patched the wrong half of the > inconsistency :-( > I think it's a bit irritating you are using cputime64_t to store > microseconds. At least it fooled me (I'm no kernel guy though) into > thinking that get_cpu_idle_time_jiffy() returning jiffies was the > intended behaviour. Agreed. That cputime64 is ugly. There is also some confusion with naming of get_cpu_idle_time_jiffy and get_cpu_idle_time_us and these routines being redundantly repeated across 2 files. Will add them to my todo queue. > > > Does the below test patch (only compile tested) resolve the problem you > > are seeing? > > I've just rebooted the machine with the new patched kernel, and > it looks good. Ok. Thanks for reporting (and diagnosing as well :)) and verifying the patch. I will resend the patch with a bit more description and your Reported/Tested-by. Thanks, Venki -- To unsubscribe from this list: send the line "unsubscribe cpufreq" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html