Re: [PATCH 3/3] tracing: Tracers that use CALLER_ADDR macros should select FRAME_POINTER

From: Frédéric Weisbecker
Date: Wed Feb 04 2009 - 10:26:33 EST


2009/2/4 Anton Vorontsov <avorontsov@xxxxxxxxxxxxx>:
> Irqsoff, switch and preempt tracers use CALLER_ADDR macros, so they
> should select FRAME_POINTER. Otherwise traces are meaningless.
>
> Signed-off-by: Anton Vorontsov <avorontsov@xxxxxxxxxxxxx>
> ---
> kernel/trace/Kconfig | 3 +++
> 1 files changed, 3 insertions(+), 0 deletions(-)
>
> diff --git a/kernel/trace/Kconfig b/kernel/trace/Kconfig
> index e2a4ff6..48f7a37 100644
> --- a/kernel/trace/Kconfig
> +++ b/kernel/trace/Kconfig
> @@ -86,6 +86,7 @@ config IRQSOFF_TRACER
> select TRACE_IRQFLAGS
> select TRACING
> select TRACER_MAX_TRACE
> + select FRAME_POINTER
> help
> This option measures the time spent in irqs-off critical
> sections, with microsecond accuracy.
> @@ -108,6 +109,7 @@ config PREEMPT_TRACER
> depends on DEBUG_KERNEL
> select TRACING
> select TRACER_MAX_TRACE
> + select FRAME_POINTER
> help
> This option measures the time spent in preemption off critical
> sections, with microsecond accuracy.
> @@ -136,6 +138,7 @@ config SCHED_TRACER
> select TRACING
> select CONTEXT_SWITCH_TRACER
> select TRACER_MAX_TRACE
> + select FRAME_POINTER
> help
> This tracer tracks the latency of the highest priority task
> to be scheduled in, starting from the point it has woken up.
> --


Looks right.

BTW, how behaves builtin_return_address in case of !FRAME_POINTERS ?
I guess it would only work with the first caller builtin_return_address(0)
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/