sched/idle: Drop !! while calculating 'broadcast'
authorViresh Kumar <viresh.kumar@linaro.org>
Tue, 24 Jun 2014 04:31:01 +0000 (10:01 +0530)
committerIngo Molnar <mingo@kernel.org>
Sat, 5 Jul 2014 09:17:31 +0000 (11:17 +0200)
We don't need 'broadcast' to be set to 'zero or one', but to 'zero or non-zero'
and so the extra operation to convert it to 'zero or one' can be skipped.

Also change type of 'broadcast' to unsigned int, i.e. type of
drv->states[*].flags.

Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
Cc: linaro-kernel@lists.linaro.org
Signed-off-by: Peter Zijlstra <peterz@infradead.org>
Link: http://lkml.kernel.org/r/0dfbe2976aa108c53e08d3477ea90f6360c1f54c.1403584026.git.viresh.kumar@linaro.org
Signed-off-by: Ingo Molnar <mingo@kernel.org>
kernel/sched/idle.c

index cf009fb0bc25b1427683d614a3a40ad98ad0c958..9f1608f998196cae04fd5a97eb162d3c0db6034c 100644 (file)
@@ -79,7 +79,7 @@ static void cpuidle_idle_call(void)
        struct cpuidle_device *dev = __this_cpu_read(cpuidle_devices);
        struct cpuidle_driver *drv = cpuidle_get_cpu_driver(dev);
        int next_state, entered_state;
-       bool broadcast;
+       unsigned int broadcast;
 
        /*
         * Check if the idle task must be rescheduled. If it is the
@@ -135,7 +135,7 @@ use_default:
                goto exit_idle;
        }
 
-       broadcast = !!(drv->states[next_state].flags & CPUIDLE_FLAG_TIMER_STOP);
+       broadcast = drv->states[next_state].flags & CPUIDLE_FLAG_TIMER_STOP;
 
        /*
         * Tell the time framework to switch to a broadcast timer