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 | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/drivers/cpufreq/cpufreq_ondemand.c b/drivers/cpufreq/cpufreq_ondemand.c index 18d4091..7db2468 100644 --- a/drivers/cpufreq/cpufreq_ondemand.c +++ b/drivers/cpufreq/cpufreq_ondemand.c @@ -475,8 +475,6 @@ static struct attribute_group od_attr_group_gov_pol = { static int od_init(struct dbs_data *dbs_data) { struct od_dbs_tuners *tuners; - u64 idle_time; - int cpu; tuners = kzalloc(sizeof(*tuners), GFP_KERNEL); if (!tuners) { @@ -484,10 +482,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