From: Preeti U Murthy <preeti@linux.vnet.ibm.com>
To: Nicolas Pitre <nicolas.pitre@linaro.org>
Cc: Russell King <linux@arm.linux.org.uk>,
Catalin Marinas <catalin.marinas@arm.com>,
Benjamin Herrenschmidt <benh@kernel.crashing.org>,
Paul Mundt <lethal@linux-sh.org>,
Thomas Gleixner <tglx@linutronix.de>,
Ingo Molnar <mingo@redhat.com>,
Peter Zijlstra <peterz@infradead.org>,
"Rafael J. Wysocki" <rjw@rjwysocki.net>,
Daniel Lezcano <daniel.lezcano@linaro.org>,
linaro-kernel@lists.linaro.org, linux-pm@vger.kernel.org,
linux-sh@vger.kernel.org, linux-kernel@vger.kernel.org,
linuxppc-dev@lists.ozlabs.org,
linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH 6/9] PPC: remove redundant cpuidle_idle_call()
Date: Mon, 27 Jan 2014 17:29:51 +0530 [thread overview]
Message-ID: <52E64A37.4090405@linux.vnet.ibm.com> (raw)
In-Reply-To: <1390802904-28399-7-git-send-email-nicolas.pitre@linaro.org>
Hi Nicolas,
On 01/27/2014 11:38 AM, Nicolas Pitre wrote:
> The core idle loop now takes care of it. However a few things need
> checking:
>
> - Invocation of cpuidle_idle_call() in pseries_lpar_idle() happened
> through arch_cpu_idle() and was therefore always preceded by a call
> to ppc64_runlatch_off(). To preserve this property now that
> cpuidle_idle_call() is invoked directly from core code, a call to
> ppc64_runlatch_off() has been added to idle_loop_prolog() in
> platforms/pseries/processor_idle.c.
>
> - Similarly, cpuidle_idle_call() was followed by ppc64_runlatch_off()
> so a call to the later has been added to idle_loop_epilog().
>
> - And since arch_cpu_idle() always made sure to re-enable IRQs if they
> were not enabled, this is now
> done in idle_loop_epilog() as well.
>
> The above was made in order to keep the execution flow close to the
> original. I don't know if that was strictly necessary. Someone well
> aquainted with the platform details might find some room for possible
> optimizations.
>
> Signed-off-by: Nicolas Pitre <nico@linaro.org>
> ---
> arch/powerpc/platforms/pseries/processor_idle.c | 5 ++++
> arch/powerpc/platforms/pseries/setup.c | 34 ++++++++++---------------
> 2 files changed, 19 insertions(+), 20 deletions(-)
>
> diff --git a/arch/powerpc/platforms/pseries/processor_idle.c b/arch/powerpc/platforms/pseries/processor_idle.c
> index a166e38bd6..72ddfe3d2f 100644
> --- a/arch/powerpc/platforms/pseries/processor_idle.c
> +++ b/arch/powerpc/platforms/pseries/processor_idle.c
> @@ -33,6 +33,7 @@ static struct cpuidle_state *cpuidle_state_table;
>
> static inline void idle_loop_prolog(unsigned long *in_purr)
> {
> + ppc64_runlatch_off();
> *in_purr = mfspr(SPRN_PURR);
> /*
> * Indicate to the HV that we are idle. Now would be
> @@ -49,6 +50,10 @@ static inline void idle_loop_epilog(unsigned long in_purr)
> wait_cycles += mfspr(SPRN_PURR) - in_purr;
> get_lppaca()->wait_state_cycles = cpu_to_be64(wait_cycles);
> get_lppaca()->idle = 0;
> +
> + if (irqs_disabled())
> + local_irq_enable();
> + ppc64_runlatch_on();
> }
>
> static int snooze_loop(struct cpuidle_device *dev,
> diff --git a/arch/powerpc/platforms/pseries/setup.c b/arch/powerpc/platforms/pseries/setup.c
> index c1f1908587..7604c19d54 100644
> --- a/arch/powerpc/platforms/pseries/setup.c
> +++ b/arch/powerpc/platforms/pseries/setup.c
> @@ -39,7 +39,6 @@
> #include <linux/irq.h>
> #include <linux/seq_file.h>
> #include <linux/root_dev.h>
> -#include <linux/cpuidle.h>
> #include <linux/of.h>
> #include <linux/kexec.h>
>
> @@ -356,29 +355,24 @@ early_initcall(alloc_dispatch_log_kmem_cache);
>
> static void pseries_lpar_idle(void)
> {
> - /* This would call on the cpuidle framework, and the back-end pseries
> - * driver to go to idle states
> + /*
> + * Default handler to go into low thread priority and possibly
> + * low power mode by cedeing processor to hypervisor
> */
> - if (cpuidle_idle_call()) {
> - /* On error, execute default handler
> - * to go into low thread priority and possibly
> - * low power mode by cedeing processor to hypervisor
> - */
>
> - /* Indicate to hypervisor that we are idle. */
> - get_lppaca()->idle = 1;
> + /* Indicate to hypervisor that we are idle. */
> + get_lppaca()->idle = 1;
>
> - /*
> - * Yield the processor to the hypervisor. We return if
> - * an external interrupt occurs (which are driven prior
> - * to returning here) or if a prod occurs from another
> - * processor. When returning here, external interrupts
> - * are enabled.
> - */
> - cede_processor();
> + /*
> + * Yield the processor to the hypervisor. We return if
> + * an external interrupt occurs (which are driven prior
> + * to returning here) or if a prod occurs from another
> + * processor. When returning here, external interrupts
> + * are enabled.
> + */
> + cede_processor();
>
> - get_lppaca()->idle = 0;
> - }
> + get_lppaca()->idle = 0;
> }
>
> /*
>
Reviewed-by: Preeti U Murthy <preeti@linux.vnet.ibm.com>
The consequence of this would be for other Power platforms like PowerNV,
we will need to invoke ppc_runlatch_off() and ppc_runlatch_on() in each
of the idle routines since the idle_loop_prologue() and
idle_loop_epilogue() are not invoked by them, but we will take care of this.
Regards
Preeti U Murthy
WARNING: multiple messages have this Message-ID (diff)
From: Preeti U Murthy <preeti@linux.vnet.ibm.com>
To: linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH 6/9] PPC: remove redundant cpuidle_idle_call()
Date: Mon, 27 Jan 2014 12:11:51 +0000 [thread overview]
Message-ID: <52E64A37.4090405@linux.vnet.ibm.com> (raw)
In-Reply-To: <1390802904-28399-7-git-send-email-nicolas.pitre@linaro.org>
Hi Nicolas,
On 01/27/2014 11:38 AM, Nicolas Pitre wrote:
> The core idle loop now takes care of it. However a few things need
> checking:
>
> - Invocation of cpuidle_idle_call() in pseries_lpar_idle() happened
> through arch_cpu_idle() and was therefore always preceded by a call
> to ppc64_runlatch_off(). To preserve this property now that
> cpuidle_idle_call() is invoked directly from core code, a call to
> ppc64_runlatch_off() has been added to idle_loop_prolog() in
> platforms/pseries/processor_idle.c.
>
> - Similarly, cpuidle_idle_call() was followed by ppc64_runlatch_off()
> so a call to the later has been added to idle_loop_epilog().
>
> - And since arch_cpu_idle() always made sure to re-enable IRQs if they
> were not enabled, this is now
> done in idle_loop_epilog() as well.
>
> The above was made in order to keep the execution flow close to the
> original. I don't know if that was strictly necessary. Someone well
> aquainted with the platform details might find some room for possible
> optimizations.
>
> Signed-off-by: Nicolas Pitre <nico@linaro.org>
> ---
> arch/powerpc/platforms/pseries/processor_idle.c | 5 ++++
> arch/powerpc/platforms/pseries/setup.c | 34 ++++++++++---------------
> 2 files changed, 19 insertions(+), 20 deletions(-)
>
> diff --git a/arch/powerpc/platforms/pseries/processor_idle.c b/arch/powerpc/platforms/pseries/processor_idle.c
> index a166e38bd6..72ddfe3d2f 100644
> --- a/arch/powerpc/platforms/pseries/processor_idle.c
> +++ b/arch/powerpc/platforms/pseries/processor_idle.c
> @@ -33,6 +33,7 @@ static struct cpuidle_state *cpuidle_state_table;
>
> static inline void idle_loop_prolog(unsigned long *in_purr)
> {
> + ppc64_runlatch_off();
> *in_purr = mfspr(SPRN_PURR);
> /*
> * Indicate to the HV that we are idle. Now would be
> @@ -49,6 +50,10 @@ static inline void idle_loop_epilog(unsigned long in_purr)
> wait_cycles += mfspr(SPRN_PURR) - in_purr;
> get_lppaca()->wait_state_cycles = cpu_to_be64(wait_cycles);
> get_lppaca()->idle = 0;
> +
> + if (irqs_disabled())
> + local_irq_enable();
> + ppc64_runlatch_on();
> }
>
> static int snooze_loop(struct cpuidle_device *dev,
> diff --git a/arch/powerpc/platforms/pseries/setup.c b/arch/powerpc/platforms/pseries/setup.c
> index c1f1908587..7604c19d54 100644
> --- a/arch/powerpc/platforms/pseries/setup.c
> +++ b/arch/powerpc/platforms/pseries/setup.c
> @@ -39,7 +39,6 @@
> #include <linux/irq.h>
> #include <linux/seq_file.h>
> #include <linux/root_dev.h>
> -#include <linux/cpuidle.h>
> #include <linux/of.h>
> #include <linux/kexec.h>
>
> @@ -356,29 +355,24 @@ early_initcall(alloc_dispatch_log_kmem_cache);
>
> static void pseries_lpar_idle(void)
> {
> - /* This would call on the cpuidle framework, and the back-end pseries
> - * driver to go to idle states
> + /*
> + * Default handler to go into low thread priority and possibly
> + * low power mode by cedeing processor to hypervisor
> */
> - if (cpuidle_idle_call()) {
> - /* On error, execute default handler
> - * to go into low thread priority and possibly
> - * low power mode by cedeing processor to hypervisor
> - */
>
> - /* Indicate to hypervisor that we are idle. */
> - get_lppaca()->idle = 1;
> + /* Indicate to hypervisor that we are idle. */
> + get_lppaca()->idle = 1;
>
> - /*
> - * Yield the processor to the hypervisor. We return if
> - * an external interrupt occurs (which are driven prior
> - * to returning here) or if a prod occurs from another
> - * processor. When returning here, external interrupts
> - * are enabled.
> - */
> - cede_processor();
> + /*
> + * Yield the processor to the hypervisor. We return if
> + * an external interrupt occurs (which are driven prior
> + * to returning here) or if a prod occurs from another
> + * processor. When returning here, external interrupts
> + * are enabled.
> + */
> + cede_processor();
>
> - get_lppaca()->idle = 0;
> - }
> + get_lppaca()->idle = 0;
> }
>
> /*
>
Reviewed-by: Preeti U Murthy <preeti@linux.vnet.ibm.com>
The consequence of this would be for other Power platforms like PowerNV,
we will need to invoke ppc_runlatch_off() and ppc_runlatch_on() in each
of the idle routines since the idle_loop_prologue() and
idle_loop_epilogue() are not invoked by them, but we will take care of this.
Regards
Preeti U Murthy
WARNING: multiple messages have this Message-ID (diff)
From: Preeti U Murthy <preeti@linux.vnet.ibm.com>
To: Nicolas Pitre <nicolas.pitre@linaro.org>
Cc: linaro-kernel@lists.linaro.org,
Russell King <linux@arm.linux.org.uk>,
linux-pm@vger.kernel.org, Peter Zijlstra <peterz@infradead.org>,
Catalin Marinas <catalin.marinas@arm.com>,
Daniel Lezcano <daniel.lezcano@linaro.org>,
"Rafael J. Wysocki" <rjw@rjwysocki.net>,
linux-kernel@vger.kernel.org, linux-sh@vger.kernel.org,
Paul Mundt <lethal@linux-sh.org>,
Thomas Gleixner <tglx@linutronix.de>,
linuxppc-dev@lists.ozlabs.org, Ingo Molnar <mingo@redhat.com>,
linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH 6/9] PPC: remove redundant cpuidle_idle_call()
Date: Mon, 27 Jan 2014 17:29:51 +0530 [thread overview]
Message-ID: <52E64A37.4090405@linux.vnet.ibm.com> (raw)
In-Reply-To: <1390802904-28399-7-git-send-email-nicolas.pitre@linaro.org>
Hi Nicolas,
On 01/27/2014 11:38 AM, Nicolas Pitre wrote:
> The core idle loop now takes care of it. However a few things need
> checking:
>
> - Invocation of cpuidle_idle_call() in pseries_lpar_idle() happened
> through arch_cpu_idle() and was therefore always preceded by a call
> to ppc64_runlatch_off(). To preserve this property now that
> cpuidle_idle_call() is invoked directly from core code, a call to
> ppc64_runlatch_off() has been added to idle_loop_prolog() in
> platforms/pseries/processor_idle.c.
>
> - Similarly, cpuidle_idle_call() was followed by ppc64_runlatch_off()
> so a call to the later has been added to idle_loop_epilog().
>
> - And since arch_cpu_idle() always made sure to re-enable IRQs if they
> were not enabled, this is now
> done in idle_loop_epilog() as well.
>
> The above was made in order to keep the execution flow close to the
> original. I don't know if that was strictly necessary. Someone well
> aquainted with the platform details might find some room for possible
> optimizations.
>
> Signed-off-by: Nicolas Pitre <nico@linaro.org>
> ---
> arch/powerpc/platforms/pseries/processor_idle.c | 5 ++++
> arch/powerpc/platforms/pseries/setup.c | 34 ++++++++++---------------
> 2 files changed, 19 insertions(+), 20 deletions(-)
>
> diff --git a/arch/powerpc/platforms/pseries/processor_idle.c b/arch/powerpc/platforms/pseries/processor_idle.c
> index a166e38bd6..72ddfe3d2f 100644
> --- a/arch/powerpc/platforms/pseries/processor_idle.c
> +++ b/arch/powerpc/platforms/pseries/processor_idle.c
> @@ -33,6 +33,7 @@ static struct cpuidle_state *cpuidle_state_table;
>
> static inline void idle_loop_prolog(unsigned long *in_purr)
> {
> + ppc64_runlatch_off();
> *in_purr = mfspr(SPRN_PURR);
> /*
> * Indicate to the HV that we are idle. Now would be
> @@ -49,6 +50,10 @@ static inline void idle_loop_epilog(unsigned long in_purr)
> wait_cycles += mfspr(SPRN_PURR) - in_purr;
> get_lppaca()->wait_state_cycles = cpu_to_be64(wait_cycles);
> get_lppaca()->idle = 0;
> +
> + if (irqs_disabled())
> + local_irq_enable();
> + ppc64_runlatch_on();
> }
>
> static int snooze_loop(struct cpuidle_device *dev,
> diff --git a/arch/powerpc/platforms/pseries/setup.c b/arch/powerpc/platforms/pseries/setup.c
> index c1f1908587..7604c19d54 100644
> --- a/arch/powerpc/platforms/pseries/setup.c
> +++ b/arch/powerpc/platforms/pseries/setup.c
> @@ -39,7 +39,6 @@
> #include <linux/irq.h>
> #include <linux/seq_file.h>
> #include <linux/root_dev.h>
> -#include <linux/cpuidle.h>
> #include <linux/of.h>
> #include <linux/kexec.h>
>
> @@ -356,29 +355,24 @@ early_initcall(alloc_dispatch_log_kmem_cache);
>
> static void pseries_lpar_idle(void)
> {
> - /* This would call on the cpuidle framework, and the back-end pseries
> - * driver to go to idle states
> + /*
> + * Default handler to go into low thread priority and possibly
> + * low power mode by cedeing processor to hypervisor
> */
> - if (cpuidle_idle_call()) {
> - /* On error, execute default handler
> - * to go into low thread priority and possibly
> - * low power mode by cedeing processor to hypervisor
> - */
>
> - /* Indicate to hypervisor that we are idle. */
> - get_lppaca()->idle = 1;
> + /* Indicate to hypervisor that we are idle. */
> + get_lppaca()->idle = 1;
>
> - /*
> - * Yield the processor to the hypervisor. We return if
> - * an external interrupt occurs (which are driven prior
> - * to returning here) or if a prod occurs from another
> - * processor. When returning here, external interrupts
> - * are enabled.
> - */
> - cede_processor();
> + /*
> + * Yield the processor to the hypervisor. We return if
> + * an external interrupt occurs (which are driven prior
> + * to returning here) or if a prod occurs from another
> + * processor. When returning here, external interrupts
> + * are enabled.
> + */
> + cede_processor();
>
> - get_lppaca()->idle = 0;
> - }
> + get_lppaca()->idle = 0;
> }
>
> /*
>
Reviewed-by: Preeti U Murthy <preeti@linux.vnet.ibm.com>
The consequence of this would be for other Power platforms like PowerNV,
we will need to invoke ppc_runlatch_off() and ppc_runlatch_on() in each
of the idle routines since the idle_loop_prologue() and
idle_loop_epilogue() are not invoked by them, but we will take care of this.
Regards
Preeti U Murthy
WARNING: multiple messages have this Message-ID (diff)
From: preeti@linux.vnet.ibm.com (Preeti U Murthy)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 6/9] PPC: remove redundant cpuidle_idle_call()
Date: Mon, 27 Jan 2014 17:29:51 +0530 [thread overview]
Message-ID: <52E64A37.4090405@linux.vnet.ibm.com> (raw)
In-Reply-To: <1390802904-28399-7-git-send-email-nicolas.pitre@linaro.org>
Hi Nicolas,
On 01/27/2014 11:38 AM, Nicolas Pitre wrote:
> The core idle loop now takes care of it. However a few things need
> checking:
>
> - Invocation of cpuidle_idle_call() in pseries_lpar_idle() happened
> through arch_cpu_idle() and was therefore always preceded by a call
> to ppc64_runlatch_off(). To preserve this property now that
> cpuidle_idle_call() is invoked directly from core code, a call to
> ppc64_runlatch_off() has been added to idle_loop_prolog() in
> platforms/pseries/processor_idle.c.
>
> - Similarly, cpuidle_idle_call() was followed by ppc64_runlatch_off()
> so a call to the later has been added to idle_loop_epilog().
>
> - And since arch_cpu_idle() always made sure to re-enable IRQs if they
> were not enabled, this is now
> done in idle_loop_epilog() as well.
>
> The above was made in order to keep the execution flow close to the
> original. I don't know if that was strictly necessary. Someone well
> aquainted with the platform details might find some room for possible
> optimizations.
>
> Signed-off-by: Nicolas Pitre <nico@linaro.org>
> ---
> arch/powerpc/platforms/pseries/processor_idle.c | 5 ++++
> arch/powerpc/platforms/pseries/setup.c | 34 ++++++++++---------------
> 2 files changed, 19 insertions(+), 20 deletions(-)
>
> diff --git a/arch/powerpc/platforms/pseries/processor_idle.c b/arch/powerpc/platforms/pseries/processor_idle.c
> index a166e38bd6..72ddfe3d2f 100644
> --- a/arch/powerpc/platforms/pseries/processor_idle.c
> +++ b/arch/powerpc/platforms/pseries/processor_idle.c
> @@ -33,6 +33,7 @@ static struct cpuidle_state *cpuidle_state_table;
>
> static inline void idle_loop_prolog(unsigned long *in_purr)
> {
> + ppc64_runlatch_off();
> *in_purr = mfspr(SPRN_PURR);
> /*
> * Indicate to the HV that we are idle. Now would be
> @@ -49,6 +50,10 @@ static inline void idle_loop_epilog(unsigned long in_purr)
> wait_cycles += mfspr(SPRN_PURR) - in_purr;
> get_lppaca()->wait_state_cycles = cpu_to_be64(wait_cycles);
> get_lppaca()->idle = 0;
> +
> + if (irqs_disabled())
> + local_irq_enable();
> + ppc64_runlatch_on();
> }
>
> static int snooze_loop(struct cpuidle_device *dev,
> diff --git a/arch/powerpc/platforms/pseries/setup.c b/arch/powerpc/platforms/pseries/setup.c
> index c1f1908587..7604c19d54 100644
> --- a/arch/powerpc/platforms/pseries/setup.c
> +++ b/arch/powerpc/platforms/pseries/setup.c
> @@ -39,7 +39,6 @@
> #include <linux/irq.h>
> #include <linux/seq_file.h>
> #include <linux/root_dev.h>
> -#include <linux/cpuidle.h>
> #include <linux/of.h>
> #include <linux/kexec.h>
>
> @@ -356,29 +355,24 @@ early_initcall(alloc_dispatch_log_kmem_cache);
>
> static void pseries_lpar_idle(void)
> {
> - /* This would call on the cpuidle framework, and the back-end pseries
> - * driver to go to idle states
> + /*
> + * Default handler to go into low thread priority and possibly
> + * low power mode by cedeing processor to hypervisor
> */
> - if (cpuidle_idle_call()) {
> - /* On error, execute default handler
> - * to go into low thread priority and possibly
> - * low power mode by cedeing processor to hypervisor
> - */
>
> - /* Indicate to hypervisor that we are idle. */
> - get_lppaca()->idle = 1;
> + /* Indicate to hypervisor that we are idle. */
> + get_lppaca()->idle = 1;
>
> - /*
> - * Yield the processor to the hypervisor. We return if
> - * an external interrupt occurs (which are driven prior
> - * to returning here) or if a prod occurs from another
> - * processor. When returning here, external interrupts
> - * are enabled.
> - */
> - cede_processor();
> + /*
> + * Yield the processor to the hypervisor. We return if
> + * an external interrupt occurs (which are driven prior
> + * to returning here) or if a prod occurs from another
> + * processor. When returning here, external interrupts
> + * are enabled.
> + */
> + cede_processor();
>
> - get_lppaca()->idle = 0;
> - }
> + get_lppaca()->idle = 0;
> }
>
> /*
>
Reviewed-by: Preeti U Murthy <preeti@linux.vnet.ibm.com>
The consequence of this would be for other Power platforms like PowerNV,
we will need to invoke ppc_runlatch_off() and ppc_runlatch_on() in each
of the idle routines since the idle_loop_prologue() and
idle_loop_epilogue() are not invoked by them, but we will take care of this.
Regards
Preeti U Murthy
next prev parent reply other threads:[~2014-01-27 12:03 UTC|newest]
Thread overview: 132+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-01-27 6:08 [PATCH 0/9] setting the table for integration of cpuidle with the scheduler Nicolas Pitre
2014-01-27 6:08 ` Nicolas Pitre
2014-01-27 6:08 ` Nicolas Pitre
2014-01-27 6:08 ` Nicolas Pitre
2014-01-27 6:08 ` [PATCH 1/9] ARM: get rid of arch_cpu_idle_prepare() Nicolas Pitre
2014-01-27 6:08 ` Nicolas Pitre
2014-01-27 6:08 ` Nicolas Pitre
2014-01-27 6:08 ` Nicolas Pitre
2014-01-27 8:22 ` Daniel Lezcano
2014-01-27 8:22 ` Daniel Lezcano
2014-01-27 8:22 ` Daniel Lezcano
2014-01-27 8:22 ` Daniel Lezcano
2014-01-27 16:07 ` Russell King - ARM Linux
2014-01-27 16:07 ` Russell King - ARM Linux
2014-01-27 16:07 ` Russell King - ARM Linux
2014-01-27 16:07 ` Russell King - ARM Linux
2014-01-27 17:12 ` Daniel Lezcano
2014-01-27 17:12 ` Daniel Lezcano
2014-01-27 17:12 ` Daniel Lezcano
2014-01-27 17:12 ` Daniel Lezcano
2014-01-27 17:21 ` Russell King - ARM Linux
2014-01-27 17:21 ` Russell King - ARM Linux
2014-01-27 17:21 ` Russell King - ARM Linux
2014-01-27 17:21 ` Russell King - ARM Linux
2014-01-27 17:30 ` Daniel Lezcano
2014-01-27 17:30 ` Daniel Lezcano
2014-01-27 17:30 ` Daniel Lezcano
2014-01-27 17:30 ` Daniel Lezcano
2014-01-27 17:35 ` Peter Zijlstra
2014-01-27 17:35 ` Peter Zijlstra
2014-01-27 17:35 ` Peter Zijlstra
2014-01-27 17:35 ` Peter Zijlstra
2014-01-27 17:35 ` Peter Zijlstra
2014-01-27 12:45 ` Russell King - ARM Linux
2014-01-27 12:45 ` Russell King - ARM Linux
2014-01-27 12:45 ` Russell King - ARM Linux
2014-01-27 12:45 ` Russell King - ARM Linux
2014-01-27 15:45 ` Nicolas Pitre
2014-01-27 15:45 ` Nicolas Pitre
2014-01-27 15:45 ` Nicolas Pitre
2014-01-27 15:45 ` Nicolas Pitre
2014-01-27 16:06 ` Russell King - ARM Linux
2014-01-27 16:06 ` Russell King - ARM Linux
2014-01-27 16:06 ` Russell King - ARM Linux
2014-01-27 16:06 ` Russell King - ARM Linux
2014-01-27 17:36 ` Nicolas Pitre
2014-01-27 17:36 ` Nicolas Pitre
2014-01-27 17:36 ` Nicolas Pitre
2014-01-27 17:36 ` Nicolas Pitre
2014-01-27 6:08 ` [PATCH 2/9] ARM64: " Nicolas Pitre
2014-01-27 6:08 ` Nicolas Pitre
2014-01-27 6:08 ` Nicolas Pitre
2014-01-27 6:08 ` Nicolas Pitre
2014-01-27 8:23 ` Daniel Lezcano
2014-01-27 8:23 ` Daniel Lezcano
2014-01-27 8:23 ` Daniel Lezcano
2014-01-27 8:23 ` Daniel Lezcano
2014-01-27 15:43 ` Catalin Marinas
2014-01-27 15:43 ` Catalin Marinas
2014-01-27 15:43 ` Catalin Marinas
2014-01-27 15:43 ` Catalin Marinas
2014-01-27 15:51 ` Nicolas Pitre
2014-01-27 15:51 ` Nicolas Pitre
2014-01-27 15:51 ` Nicolas Pitre
2014-01-27 15:51 ` Nicolas Pitre
2014-01-27 15:57 ` Catalin Marinas
2014-01-27 15:57 ` Catalin Marinas
2014-01-27 15:57 ` Catalin Marinas
2014-01-27 15:57 ` Catalin Marinas
2014-01-29 18:00 ` Nicolas Pitre
2014-01-30 11:36 ` Catalin Marinas
2014-01-27 6:08 ` [PATCH 3/9] idle: no more arch_cpu_idle_prepare() users Nicolas Pitre
2014-01-27 6:08 ` Nicolas Pitre
2014-01-27 6:08 ` Nicolas Pitre
2014-01-27 6:08 ` Nicolas Pitre
2014-01-27 8:24 ` Daniel Lezcano
2014-01-27 8:24 ` Daniel Lezcano
2014-01-27 8:24 ` Daniel Lezcano
2014-01-27 8:24 ` Daniel Lezcano
2014-01-27 6:08 ` [PATCH 4/9] idle: move the cpuidle entry point to the generic idle loop Nicolas Pitre
2014-01-27 6:08 ` Nicolas Pitre
2014-01-27 6:08 ` Nicolas Pitre
2014-01-27 6:08 ` Nicolas Pitre
2014-01-27 8:32 ` Daniel Lezcano
2014-01-27 8:32 ` Daniel Lezcano
2014-01-27 8:32 ` Daniel Lezcano
2014-01-27 8:32 ` Daniel Lezcano
2014-01-27 6:08 ` [PATCH 5/9] ARM: remove redundant cpuidle_idle_call() Nicolas Pitre
2014-01-27 6:08 ` Nicolas Pitre
2014-01-27 6:08 ` Nicolas Pitre
2014-01-27 6:08 ` Nicolas Pitre
2014-01-27 8:33 ` Daniel Lezcano
2014-01-27 8:33 ` Daniel Lezcano
2014-01-27 8:33 ` Daniel Lezcano
2014-01-27 8:33 ` Daniel Lezcano
2014-01-27 6:08 ` [PATCH 6/9] PPC: " Nicolas Pitre
2014-01-27 6:08 ` Nicolas Pitre
2014-01-27 6:08 ` Nicolas Pitre
2014-01-27 6:08 ` Nicolas Pitre
2014-01-27 8:35 ` Daniel Lezcano
2014-01-27 8:35 ` Daniel Lezcano
2014-01-27 8:35 ` Daniel Lezcano
2014-01-27 8:35 ` Daniel Lezcano
2014-01-27 11:59 ` Preeti U Murthy [this message]
2014-01-27 12:11 ` Preeti U Murthy
2014-01-27 11:59 ` Preeti U Murthy
2014-01-27 11:59 ` Preeti U Murthy
2014-01-27 6:08 ` [PATCH 7/9] SH: " Nicolas Pitre
2014-01-27 6:08 ` Nicolas Pitre
2014-01-27 6:08 ` Nicolas Pitre
2014-01-27 6:08 ` Nicolas Pitre
2014-01-27 8:35 ` Daniel Lezcano
2014-01-27 8:35 ` Daniel Lezcano
2014-01-27 8:35 ` Daniel Lezcano
2014-01-27 8:35 ` Daniel Lezcano
2014-01-27 6:08 ` [PATCH 8/9] X86: " Nicolas Pitre
2014-01-27 6:08 ` Nicolas Pitre
2014-01-27 6:08 ` Nicolas Pitre
2014-01-27 6:08 ` Nicolas Pitre
2014-01-27 8:43 ` Daniel Lezcano
2014-01-27 8:43 ` Daniel Lezcano
2014-01-27 8:43 ` Daniel Lezcano
2014-01-27 8:43 ` Daniel Lezcano
2014-01-27 6:08 ` [PATCH 9/9] cpu/idle.c: move to sched/idle.c Nicolas Pitre
2014-01-27 6:08 ` Nicolas Pitre
2014-01-27 6:08 ` Nicolas Pitre
2014-01-27 6:08 ` Nicolas Pitre
2014-01-27 12:47 ` [PATCH 0/9] setting the table for integration of cpuidle with the scheduler Peter Zijlstra
2014-01-27 12:47 ` Peter Zijlstra
2014-01-27 12:47 ` Peter Zijlstra
2014-01-27 12:47 ` Peter Zijlstra
2014-01-27 12:47 ` Peter Zijlstra
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=52E64A37.4090405@linux.vnet.ibm.com \
--to=preeti@linux.vnet.ibm.com \
--cc=benh@kernel.crashing.org \
--cc=catalin.marinas@arm.com \
--cc=daniel.lezcano@linaro.org \
--cc=lethal@linux-sh.org \
--cc=linaro-kernel@lists.linaro.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pm@vger.kernel.org \
--cc=linux-sh@vger.kernel.org \
--cc=linux@arm.linux.org.uk \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=mingo@redhat.com \
--cc=nicolas.pitre@linaro.org \
--cc=peterz@infradead.org \
--cc=rjw@rjwysocki.net \
--cc=tglx@linutronix.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.