Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1226171 > unrolled thread

[PATCH] arm: add cpu_idle tracepoints to arch_cpu_idle

Started byJisheng Zhang <jszhang@marvell.com>
First post2015-09-16 16:50 +0200
Last post2015-09-16 19:10 +0200
Articles 4 — 3 participants

Back to article view | Back to linux.kernel


Contents

  [PATCH] arm: add cpu_idle tracepoints to arch_cpu_idle Jisheng Zhang <jszhang@marvell.com> - 2015-09-16 16:50 +0200
    Re: [PATCH] arm: add cpu_idle tracepoints to arch_cpu_idle Russell King - ARM Linux <linux@arm.linux.org.uk> - 2015-09-16 18:30 +0200
      Re: [PATCH] arm: add cpu_idle tracepoints to arch_cpu_idle Steven Rostedt <rostedt@goodmis.org> - 2015-09-16 18:50 +0200
        Re: [PATCH] arm: add cpu_idle tracepoints to arch_cpu_idle Steven Rostedt <rostedt@goodmis.org> - 2015-09-16 19:10 +0200

#1226171 — [PATCH] arm: add cpu_idle tracepoints to arch_cpu_idle

FromJisheng Zhang <jszhang@marvell.com>
Date2015-09-16 16:50 +0200
Subject[PATCH] arm: add cpu_idle tracepoints to arch_cpu_idle
Message-ID<q9mc2-7pI-31@gated-at.bofh.it>
Currently, if cpuidle is disabled or not supported, powertop reports
zero wakeups and zero events. This is due to the cpu_idle tracepoints
are missing.

This patch is to make cpu_idle tracepoints always available even if
cpuidle is disabled or not supported.

Signed-off-by: Jisheng Zhang <jszhang@marvell.com>
---
 arch/arm/kernel/process.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/arch/arm/kernel/process.c b/arch/arm/kernel/process.c
index f192a2a..aa78e09 100644
--- a/arch/arm/kernel/process.c
+++ b/arch/arm/kernel/process.c
@@ -28,6 +28,7 @@
 #include <linux/random.h>
 #include <linux/hw_breakpoint.h>
 #include <linux/leds.h>
+#include <trace/events/power.h>
 
 #include <asm/processor.h>
 #include <asm/thread_notify.h>
@@ -66,11 +67,13 @@ void (*arm_pm_idle)(void);
 
 void arch_cpu_idle(void)
 {
+	trace_cpu_idle_rcuidle(1, smp_processor_id());
 	if (arm_pm_idle)
 		arm_pm_idle();
 	else
 		cpu_do_idle();
 	local_irq_enable();
+	trace_cpu_idle_rcuidle(PWR_EVENT_EXIT, smp_processor_id());
 }
 
 void arch_cpu_idle_prepare(void)
-- 
2.5.1

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

[toc] | [next] | [standalone]


#1226243

FromRussell King - ARM Linux <linux@arm.linux.org.uk>
Date2015-09-16 18:30 +0200
Message-ID<q9nKP-1iB-21@gated-at.bofh.it>
In reply to#1226171
On Wed, Sep 16, 2015 at 10:37:00PM +0800, Jisheng Zhang wrote:
> Currently, if cpuidle is disabled or not supported, powertop reports
> zero wakeups and zero events. This is due to the cpu_idle tracepoints
> are missing.
> 
> This patch is to make cpu_idle tracepoints always available even if
> cpuidle is disabled or not supported.

This seems like a hack to me.  These are cpu_idle tracepoints which
tell people when something happens in cpuidle.  If cpuidle is disabled,
then surely the tracepoints shouldn't fire.

However, I'll leave it to the tracing people to have the final word on
whether this is the right thing to do as I've very little experience
with the tracing design.

> 
> Signed-off-by: Jisheng Zhang <jszhang@marvell.com>
> ---
>  arch/arm/kernel/process.c | 3 +++
>  1 file changed, 3 insertions(+)
> 
> diff --git a/arch/arm/kernel/process.c b/arch/arm/kernel/process.c
> index f192a2a..aa78e09 100644
> --- a/arch/arm/kernel/process.c
> +++ b/arch/arm/kernel/process.c
> @@ -28,6 +28,7 @@
>  #include <linux/random.h>
>  #include <linux/hw_breakpoint.h>
>  #include <linux/leds.h>
> +#include <trace/events/power.h>
>  
>  #include <asm/processor.h>
>  #include <asm/thread_notify.h>
> @@ -66,11 +67,13 @@ void (*arm_pm_idle)(void);
>  
>  void arch_cpu_idle(void)
>  {
> +	trace_cpu_idle_rcuidle(1, smp_processor_id());
>  	if (arm_pm_idle)
>  		arm_pm_idle();
>  	else
>  		cpu_do_idle();
>  	local_irq_enable();
> +	trace_cpu_idle_rcuidle(PWR_EVENT_EXIT, smp_processor_id());
>  }
>  
>  void arch_cpu_idle_prepare(void)
> -- 
> 2.5.1
> 

-- 
FTTC broadband for 0.8mile line: currently at 9.6Mbps down 400kbps up
according to speedtest.net.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [next] | [standalone]


#1226279

FromSteven Rostedt <rostedt@goodmis.org>
Date2015-09-16 18:50 +0200
Message-ID<q9o4a-1G6-5@gated-at.bofh.it>
In reply to#1226243
[ Added Arjan, as he knows powertop better, as well as
 Thomas Renninger, that added the cpu_idle trace event ]

On Wed, 16 Sep 2015 17:28:18 +0100
Russell King - ARM Linux <linux@arm.linux.org.uk> wrote:

> On Wed, Sep 16, 2015 at 10:37:00PM +0800, Jisheng Zhang wrote:
> > Currently, if cpuidle is disabled or not supported, powertop reports
> > zero wakeups and zero events. This is due to the cpu_idle tracepoints
> > are missing.
> > 
> > This patch is to make cpu_idle tracepoints always available even if
> > cpuidle is disabled or not supported.
> 
> This seems like a hack to me.  These are cpu_idle tracepoints which
> tell people when something happens in cpuidle.  If cpuidle is disabled,
> then surely the tracepoints shouldn't fire.
> 
> However, I'll leave it to the tracing people to have the final word on
> whether this is the right thing to do as I've very little experience
> with the tracing design.

Adding back the change log for the original patch:

"Currently, if cpuidle is disabled or not supported, powertop reports
zero wakeups and zero events. This is due to the cpu_idle tracepoints
are missing.

This patch is to make cpu_idle tracepoints always available even if
cpuidle is disabled or not supported."

This is the same code that sits in x86. I'm assuming it is fine. But
I'm not an expert on the cpu_idle trace event.

-- Steve


> 
> > 
> > Signed-off-by: Jisheng Zhang <jszhang@marvell.com>
> > ---
> >  arch/arm/kernel/process.c | 3 +++
> >  1 file changed, 3 insertions(+)
> > 
> > diff --git a/arch/arm/kernel/process.c b/arch/arm/kernel/process.c
> > index f192a2a..aa78e09 100644
> > --- a/arch/arm/kernel/process.c
> > +++ b/arch/arm/kernel/process.c
> > @@ -28,6 +28,7 @@
> >  #include <linux/random.h>
> >  #include <linux/hw_breakpoint.h>
> >  #include <linux/leds.h>
> > +#include <trace/events/power.h>
> >  
> >  #include <asm/processor.h>
> >  #include <asm/thread_notify.h>
> > @@ -66,11 +67,13 @@ void (*arm_pm_idle)(void);
> >  
> >  void arch_cpu_idle(void)
> >  {
> > +	trace_cpu_idle_rcuidle(1, smp_processor_id());
> >  	if (arm_pm_idle)
> >  		arm_pm_idle();
> >  	else
> >  		cpu_do_idle();
> >  	local_irq_enable();
> > +	trace_cpu_idle_rcuidle(PWR_EVENT_EXIT, smp_processor_id());
> >  }
> >  
> >  void arch_cpu_idle_prepare(void)
> > -- 
> > 2.5.1
> > 
> 

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

[toc] | [prev] | [next] | [standalone]


#1226294

FromSteven Rostedt <rostedt@goodmis.org>
Date2015-09-16 19:10 +0200
Message-ID<q9onv-2h2-15@gated-at.bofh.it>
In reply to#1226279
On Wed, 16 Sep 2015 12:41:28 -0400
Steven Rostedt <rostedt@goodmis.org> wrote:

> [ Added Arjan, as he knows powertop better, as well as
>  Thomas Renninger, that added the cpu_idle trace event ]
> 
> On Wed, 16 Sep 2015 17:28:18 +0100
> Russell King - ARM Linux <linux@arm.linux.org.uk> wrote:
> 
> > On Wed, Sep 16, 2015 at 10:37:00PM +0800, Jisheng Zhang wrote:
> > > Currently, if cpuidle is disabled or not supported, powertop reports
> > > zero wakeups and zero events. This is due to the cpu_idle tracepoints
> > > are missing.
> > > 
> > > This patch is to make cpu_idle tracepoints always available even if
> > > cpuidle is disabled or not supported.
> > 
> > This seems like a hack to me.  These are cpu_idle tracepoints which
> > tell people when something happens in cpuidle.  If cpuidle is disabled,
> > then surely the tracepoints shouldn't fire.
> > 
> > However, I'll leave it to the tracing people to have the final word on
> > whether this is the right thing to do as I've very little experience
> > with the tracing design.
> 
> Adding back the change log for the original patch:

Bah, it was in the original email. I accidentally double clicked on the
reply part, and claws-mail collapsed it. I never read the change log
via this email because of that.

Sorry Russell, my mistake :-/

-- Steve


> 
> "Currently, if cpuidle is disabled or not supported, powertop reports
> zero wakeups and zero events. This is due to the cpu_idle tracepoints
> are missing.
> 
> This patch is to make cpu_idle tracepoints always available even if
> cpuidle is disabled or not supported."
> 
> This is the same code that sits in x86. I'm assuming it is fine. But
> I'm not an expert on the cpu_idle trace event.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web