On 02/24/2014 03:59 PM, Peter Zijlstra wrote:
On Mon, Feb 24, 2014 at 02:55:50PM +0100, Daniel Lezcano wrote:
@@ -136,25 +155,8 @@ static void cpu_idle_loop(void)
                        local_irq_disable();
                        arch_cpu_idle_enter();

-                       /*
-                        * In poll mode we reenable interrupts and spin.
-                        *
-                        * Also if we detected in the wakeup from idle
-                        * path that the tick broadcast device expired
-                        * for us, we don't want to go deep idle as we
-                        * know that the IPI is going to arrive right
-                        * away
-                        */
-                       if (cpu_idle_force_poll || 
tick_check_broadcast_expired()) {
-                               cpu_idle_poll();
-                       } else {
-                               if (!current_clr_polling_and_test()) {
-                                       cpuidle_idle_call();
-                               } else {
-                                       local_irq_enable();
-                               }
-                               __current_set_polling();
-                       }
+                       cpuidle_idle_call();
+

Yeah, not liking that much; you can make it look like:

        if (cpu_idle_force_poll || tick_check_broadcast_expired())
                cpu_idle_poll();
        else
                cpu_idle_call();

Though. That keeps the polling case separate from the actual idle
function.

Yes, you are right, it looks better.

And when you do that; you can also push down the
current_clr_polling_and_test() muck so it doesn't cover the actual
cpuidle policy code.

I am not getting it. Where do you suggest to move it ?

--
 <http://www.linaro.org/> Linaro.org │ Open source software for ARM SoCs

Follow Linaro:  <http://www.facebook.com/pages/Linaro> Facebook |
<http://twitter.com/#!/linaroorg> Twitter |
<http://www.linaro.org/linaro-blog/> Blog

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to