hi Current CPUFreq governor will use deferrable timer to get the workload profiling run. But i think simply use this kind of timer will have some issue when the CPU comes to long idle. At this point, the CPUFreq governor for examaple, on-demand will not change the frequency lower. There is example, CPU1: profiling start 1 profiling start 2 |------------------------------++++++++|+++++++--------------------------------------------| "+" means CPU is busy doing a task. "-" means CPU is in idle. So at "profiling start 2", it detect the CPU is busy, and will increase the CPU frequency, may be to highest one. then during the second period, the task is completed, and CPU has no task to run, so it will enter a long idle. At this point, the profiling timer set by CPU governor which is deferrable will not be considered by system. So the CPU frequency will maintain the highest one for a long time even this is no task running at the CPU. For UP mode, it is not obviously. Because the only CPU always has some task to running in period. For SMP mode. The CPU0 will have task in period, while for other CPUs, they will be in idle for a long. The issue takes place frequently. So anyone in the mailist can give some suggestions? -- 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