linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Re: [PATCH 0/3][RFC] tracing/rcu: Add _rcuidle() tracepoint to handle rcu_idle_exit() tracepoints
@ 2012-02-14 18:09 Witold Baryluk
  2012-02-15 19:16 ` Steven Rostedt
  0 siblings, 1 reply; 6+ messages in thread
From: Witold Baryluk @ 2012-02-14 18:09 UTC (permalink / raw)
  To: Steven Rostedt
  Cc: Paul E. McKenney, Rob Herring, Nicolas Pitre, Kevin Hilman,
	linux-kernel, Ingo Molnar, Andrew Morton

Hi,

I have some problem with cpuidle tracing:

https://bugzilla.kernel.org/show_bug.cgi?id=42742

so I applied 3 patches from https://lkml.org/lkml/headers/2012/2/7/231

> Steven Rostedt (3):
>      tracing/rcu: Add trace_##name##__rcuidle() static tracepoint for inside rcu_idle_exit() sections
>      x86/tracing: Denote the power and cpuidle tracepoints as _rcuidle()
>      cpuidle/tracing: Denote the tracepoints as being in rcu_idle_exit() section

All 3 patches applied cleanly but for unknown reasons to me compilation fails:

CC      arch/x86/kernel/process.o
  arch/x86/kernel/process.c: In function ‘default_idle’:
  arch/x86/kernel/process.c:380:3: error: implicit declaration of function ‘trace_power_start_rcuidle’ [-Werror=implicit-function-declaration]
  arch/x86/kernel/process.c:394:3: error: implicit declaration of function ‘trace_power_end_rcuidle’ [-Werror=implicit-function-declaration]
  cc1: some warnings being treated as errors

I think this is because

        static inline void trace_##name##_rcuidle(proto)                \

should have only 1 argument passed.

but more are passed

        trace_cpu_idle_rcuidle(PWR_EVENT_EXIT, smp_processor_id());
        trace_power_start_rcuidle(POWER_CSTATE, next_state, dev->cpu);

However this explanation fails because

        trace_power_end_rcuidle(smp_processor_id());

have single argument, and because without patches
arch/x86/kernel/process.c compiles without a problem. and there is
nothing in my 'git diff' which should justify such change.

It is mainline Linus kernel with just this 3 patches added.

Any idea?

gcc version 4.6.2 (Debian 4.6.2-14) 
Debian GNU/Linux, wheezy i386. (IA-32)
Intel Pentium M processor.

-- 
Witold Baryluk

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH 0/3][RFC] tracing/rcu: Add _rcuidle() tracepoint to handle rcu_idle_exit() tracepoints
  2012-02-14 18:09 [PATCH 0/3][RFC] tracing/rcu: Add _rcuidle() tracepoint to handle rcu_idle_exit() tracepoints Witold Baryluk
@ 2012-02-15 19:16 ` Steven Rostedt
  0 siblings, 0 replies; 6+ messages in thread
From: Steven Rostedt @ 2012-02-15 19:16 UTC (permalink / raw)
  To: Witold Baryluk
  Cc: Paul E. McKenney, Rob Herring, Nicolas Pitre, Kevin Hilman,
	linux-kernel, Ingo Molnar, Andrew Morton

On Tue, 2012-02-14 at 19:09 +0100, Witold Baryluk wrote:
> Hi,
> 
> I have some problem with cpuidle tracing:
> 
> https://bugzilla.kernel.org/show_bug.cgi?id=42742
> 
> so I applied 3 patches from https://lkml.org/lkml/headers/2012/2/7/231
> 
> > Steven Rostedt (3):
> >      tracing/rcu: Add trace_##name##__rcuidle() static tracepoint for inside rcu_idle_exit() sections
> >      x86/tracing: Denote the power and cpuidle tracepoints as _rcuidle()
> >      cpuidle/tracing: Denote the tracepoints as being in rcu_idle_exit() section
> 
> All 3 patches applied cleanly but for unknown reasons to me compilation fails:

Yeah, my testing hit this issue and I fixed it up. I pushed out my
patches to Ingo that have passed all my tests. You can get them here:

https://lkml.org/lkml/2012/2/13/528

You only need to apply patches 3,4 and 5.

-- Steve

> 
> CC      arch/x86/kernel/process.o
>   arch/x86/kernel/process.c: In function ‘default_idle’:
>   arch/x86/kernel/process.c:380:3: error: implicit declaration of function ‘trace_power_start_rcuidle’ [-Werror=implicit-function-declaration]
>   arch/x86/kernel/process.c:394:3: error: implicit declaration of function ‘trace_power_end_rcuidle’ [-Werror=implicit-function-declaration]
>   cc1: some warnings being treated as errors
> 



^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH 0/3][RFC] tracing/rcu: Add _rcuidle() tracepoint to handle rcu_idle_exit() tracepoints
  2012-02-07 14:56 Steven Rostedt
  2012-02-07 15:37 ` Paul E. McKenney
@ 2012-02-07 20:17 ` Josh Triplett
  1 sibling, 0 replies; 6+ messages in thread
From: Josh Triplett @ 2012-02-07 20:17 UTC (permalink / raw)
  To: Steven Rostedt
  Cc: linux-kernel, Ingo Molnar, Andrew Morton, Paul E. McKenney,
	Rob Herring, Nicolas Pitre, Kevin Hilman, Mathieu Desnoyers

On Tue, Feb 07, 2012 at 09:56:53AM -0500, Steven Rostedt wrote:
> This is an RFC patch set for what I plan on pushing out to handle
> the tracepoints that are called from within rcu_idle_exit() sections.
> 
> The first patch is the tracepoint infrastructure,
> the second is the changes in x86
> the third is the changes in the cpuidle driver.

Patches 2 and 3 look sensible to me as well.

Reviewed-by: Josh Triplett <josh@joshtriplett.org>

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH 0/3][RFC] tracing/rcu: Add _rcuidle() tracepoint to handle rcu_idle_exit() tracepoints
  2012-02-07 15:37 ` Paul E. McKenney
@ 2012-02-07 16:09   ` Steven Rostedt
  0 siblings, 0 replies; 6+ messages in thread
From: Steven Rostedt @ 2012-02-07 16:09 UTC (permalink / raw)
  To: paulmck
  Cc: linux-kernel, Ingo Molnar, Andrew Morton, Rob Herring,
	Nicolas Pitre, Kevin Hilman, Josh Triplett, Mathieu Desnoyers

On Tue, 2012-02-07 at 07:37 -0800, Paul E. McKenney wrote:

> Please note that the __rcudle() tracepoints depend on patch #45 from
> my series (https://lkml.org/lkml/2012/2/3/471), though only for code
> containing tracepoints that are called both from idle and non-idle.
> I believe that the tracepoints in this patch series are only invoked
> from idle, so should be no problem.

Right, as I tested these without your patch series.

-- Steve



^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH 0/3][RFC] tracing/rcu: Add _rcuidle() tracepoint to handle rcu_idle_exit() tracepoints
  2012-02-07 14:56 Steven Rostedt
@ 2012-02-07 15:37 ` Paul E. McKenney
  2012-02-07 16:09   ` Steven Rostedt
  2012-02-07 20:17 ` Josh Triplett
  1 sibling, 1 reply; 6+ messages in thread
From: Paul E. McKenney @ 2012-02-07 15:37 UTC (permalink / raw)
  To: Steven Rostedt
  Cc: linux-kernel, Ingo Molnar, Andrew Morton, Rob Herring,
	Nicolas Pitre, Kevin Hilman, Josh Triplett, Mathieu Desnoyers

On Tue, Feb 07, 2012 at 09:56:53AM -0500, Steven Rostedt wrote:
> This is an RFC patch set for what I plan on pushing out to handle
> the tracepoints that are called from within rcu_idle_exit() sections.
> 
> The first patch is the tracepoint infrastructure,
> the second is the changes in x86
> the third is the changes in the cpuidle driver.
> 
> I see there's use cases in the arm arch, but as that is in flux, I'll
> let the arm folks deal with those.

Please note that the __rcudle() tracepoints depend on patch #45 from
my series (https://lkml.org/lkml/2012/2/3/471), though only for code
containing tracepoints that are called both from idle and non-idle.
I believe that the tracepoints in this patch series are only invoked
from idle, so should be no problem.

							Thanx, Paul

> -- Steve
> 
> 
> Steven Rostedt (3):
>       tracing/rcu: Add trace_##name##__rcuidle() static tracepoint for inside rcu_idle_exit() sections
>       x86/tracing: Denote the power and cpuidle tracepoints as _rcuidle()
>       cpuidle/tracing: Denote the tracepoints as being in rcu_idle_exit() section
> 
> ----
>  arch/x86/kernel/process.c  |   24 ++++++++++++------------
>  drivers/cpuidle/cpuidle.c  |    8 ++++----
>  include/linux/tracepoint.h |   20 ++++++++++++++++----
>  3 files changed, 32 insertions(+), 20 deletions(-)
> 
> --
> 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/
> 


^ permalink raw reply	[flat|nested] 6+ messages in thread

* [PATCH 0/3][RFC] tracing/rcu: Add _rcuidle() tracepoint to handle rcu_idle_exit() tracepoints
@ 2012-02-07 14:56 Steven Rostedt
  2012-02-07 15:37 ` Paul E. McKenney
  2012-02-07 20:17 ` Josh Triplett
  0 siblings, 2 replies; 6+ messages in thread
From: Steven Rostedt @ 2012-02-07 14:56 UTC (permalink / raw)
  To: linux-kernel
  Cc: Ingo Molnar, Andrew Morton, Paul E. McKenney, Rob Herring,
	Nicolas Pitre, Kevin Hilman, Josh Triplett, Mathieu Desnoyers

This is an RFC patch set for what I plan on pushing out to handle
the tracepoints that are called from within rcu_idle_exit() sections.

The first patch is the tracepoint infrastructure,
the second is the changes in x86
the third is the changes in the cpuidle driver.

I see there's use cases in the arm arch, but as that is in flux, I'll
let the arm folks deal with those.

-- Steve


Steven Rostedt (3):
      tracing/rcu: Add trace_##name##__rcuidle() static tracepoint for inside rcu_idle_exit() sections
      x86/tracing: Denote the power and cpuidle tracepoints as _rcuidle()
      cpuidle/tracing: Denote the tracepoints as being in rcu_idle_exit() section

----
 arch/x86/kernel/process.c  |   24 ++++++++++++------------
 drivers/cpuidle/cpuidle.c  |    8 ++++----
 include/linux/tracepoint.h |   20 ++++++++++++++++----
 3 files changed, 32 insertions(+), 20 deletions(-)


^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2012-02-15 19:16 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-02-14 18:09 [PATCH 0/3][RFC] tracing/rcu: Add _rcuidle() tracepoint to handle rcu_idle_exit() tracepoints Witold Baryluk
2012-02-15 19:16 ` Steven Rostedt
  -- strict thread matches above, loose matches on Subject: below --
2012-02-07 14:56 Steven Rostedt
2012-02-07 15:37 ` Paul E. McKenney
2012-02-07 16:09   ` Steven Rostedt
2012-02-07 20:17 ` Josh Triplett

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).