[PATCH 6/6] ARM: ftrace: enable function graph tracer
catalin.marinas at arm.com
Mon Nov 8 05:42:57 EST 2010
2010/11/8 Uwe Kleine-König <u.kleine-koenig at pengutronix.de>:
> On Sat, Nov 06, 2010 at 07:06:28PM +0000, Catalin Marinas wrote:
>> On Saturday, November 6, 2010, Rabin Vincent <rabin at rab.in> wrote:
>> > Add the options to enable the function graph tracer on ARM. Function
>> > graph tracer support requires frame pointers, so exclude Thumb-2 and
>> > also explicitly select FRAME_POINTER in FUNCTION_GRAPH_TRACER since
>> > FUNCTION_TRACER doesn't select FRAME_POINTER when ARM_UNWIND is used
>> > Therefore, with GCC 4.4.0+, you get plain function tracing without frame
>> > pointers, but you'll need them if you want function graph tracing.
>> > --- a/kernel/trace/Kconfig
>> > +++ b/kernel/trace/Kconfig
>> > @@ -141,6 +141,7 @@ config FUNCTION_TRACER
>> > config FUNCTION_GRAPH_TRACER
>> > bool "Kernel Function Graph Tracer"
>> > + select FRAME_POINTER if ARM_UNWIND
>> Would it be better to modify FRAME_POINTER definition in the ARM
>> Kconfig so that it is enabled automatically when FUNCTION_GRAPH_TRACER
>> is enabled?
> I don't like that suggestion much because it hides the dependency.
> Moreover a "default y if FUNCTION_GRAPH_TRACER" doesn't work if a
> precondition for FRAME_POINTER isn't true. Rabin's approach at least
> generates a warning.
If a precondition for FRAME_POINTER isn't true, we should not force it
via 'select'. We try to get rid of such warnings in the kernel.
However, on ARM the FRAME_POINTER depends on !THUMB2_KERNEL but for
Thumb-2 kernels HAVE_FUNCTION_GRAPH_TRACER is also disabled, so there
isn't a dependency issue here. It's more like a personal preference to
keep the changes within the arch/arm tree.
More information about the linux-arm-kernel