Current, od_init() uses get_cpu_idle_time_us() to check whether idle micro accouting is supported. The get_cpu_idle_time_us() returns -1 only when tick nohz is disabled. This patch is to use tick_nohz_check() directly to check nohz enable status instead of get_cpu_idle_time_us(). This can avoid unnecessary getting and putting cpu. Signed-off-by: Lan Tianyu <tianyu.lan@xxxxxxxxx> --- drivers/cpufreq/cpufreq_ondemand.c | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/drivers/cpufreq/cpufreq_ondemand.c b/drivers/cpufreq/cpufreq_ondemand.c index 32f26f6..79986a9 100644 --- a/drivers/cpufreq/cpufreq_ondemand.c +++ b/drivers/cpufreq/cpufreq_ondemand.c @@ -485,10 +485,7 @@ static int od_init(struct dbs_data *dbs_data) return -ENOMEM; } - cpu = get_cpu(); - idle_time = get_cpu_idle_time_us(cpu, NULL); - put_cpu(); - if (idle_time != -1ULL) { + if (tick_nohz_check()) { /* Idle micro accounting is supported. Use finer thresholds */ tuners->up_threshold = MICRO_FREQUENCY_UP_THRESHOLD; /* -- 1.8.4.rc0.1.g8f6a3e5.dirty -- 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