Messages in this thread | | | Date | Mon, 8 Nov 2010 10:42:57 +0000 | Subject | Re: [PATCH 6/6] ARM: ftrace: enable function graph tracer | From | Catalin Marinas <> |
| |
2010/11/8 Uwe Kleine-König <u.kleine-koenig@pengutronix.de>: > On Sat, Nov 06, 2010 at 07:06:28PM +0000, Catalin Marinas wrote: >> On Saturday, November 6, 2010, Rabin Vincent <rabin@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.
-- Catalin -- 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/
| |