From: rabin@rab.in (Rabin Vincent)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 6/6] ARM: ftrace: enable function graph tracer
Date: Tue, 9 Nov 2010 19:16:45 +0530 [thread overview]
Message-ID: <20101109134644.GA3163@debian> (raw)
In-Reply-To: <AANLkTinmSn1fqKv8sCCP8d0-_0HsLrhtorXvHCovOYve@mail.gmail.com>
On Mon, Nov 08, 2010 at 10:42:57AM +0000, Catalin Marinas wrote:
> 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:
> >> > --- 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.
OK, new patch below.
WARNING: multiple messages have this Message-ID (diff)
From: Rabin Vincent <rabin@rab.in>
To: Catalin Marinas <catalin.marinas@arm.com>
Cc: "Uwe Kleine-König" <u.kleine-koenig@pengutronix.de>,
"Frederic Weisbecker" <fweisbec@gmail.com>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"Steven Rostedt" <rostedt@goodmis.org>,
"linux-arm-kernel@lists.infradead.org"
<linux-arm-kernel@lists.infradead.org>,
"Tim Bird" <tim.bird@am.sony.com>
Subject: Re: [PATCH 6/6] ARM: ftrace: enable function graph tracer
Date: Tue, 9 Nov 2010 19:16:45 +0530 [thread overview]
Message-ID: <20101109134644.GA3163@debian> (raw)
In-Reply-To: <AANLkTinmSn1fqKv8sCCP8d0-_0HsLrhtorXvHCovOYve@mail.gmail.com>
On Mon, Nov 08, 2010 at 10:42:57AM +0000, Catalin Marinas wrote:
> 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:
> >> > --- 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.
OK, new patch below.
>From ce3856933234b0976068be8bdc46340dcf31ef6f Mon Sep 17 00:00:00 2001
From: Rabin Vincent <rabin@rab.in>
Date: Sat, 6 Nov 2010 23:03:53 +0530
Subject: [PATCHv2] ARM: ftrace: enable function graph tracer
Add the options to enable the function graph tracer on ARM. Function
graph tracer support requires frame pointers, so exclude Thumb-2 and
also make sure FRAME_POINTER gets enabled when FUNCTION_GRAPH_TRACER is
used, 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.
Signed-off-by: Rabin Vincent <rabin@rab.in>
---
arch/arm/Kconfig | 1 +
arch/arm/Kconfig.debug | 2 +-
2 files changed, 2 insertions(+), 1 deletions(-)
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index a19a526..c5e96ff 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -14,6 +14,7 @@ config ARM
select HAVE_FUNCTION_TRACER if (!XIP_KERNEL)
select HAVE_FTRACE_MCOUNT_RECORD if (!XIP_KERNEL)
select HAVE_DYNAMIC_FTRACE if (!XIP_KERNEL)
+ select HAVE_FUNCTION_GRAPH_TRACER if (!THUMB2_KERNEL)
select HAVE_GENERIC_DMA_COHERENT
select HAVE_KERNEL_GZIP
select HAVE_KERNEL_LZO
diff --git a/arch/arm/Kconfig.debug b/arch/arm/Kconfig.debug
index 2fd0b99..eac62085 100644
--- a/arch/arm/Kconfig.debug
+++ b/arch/arm/Kconfig.debug
@@ -23,7 +23,7 @@ config STRICT_DEVMEM
config FRAME_POINTER
bool
depends on !THUMB2_KERNEL
- default y if !ARM_UNWIND
+ default y if !ARM_UNWIND || FUNCTION_GRAPH_TRACER
help
If you say N here, the resulting kernel will be slightly smaller and
faster. However, if neither FRAME_POINTER nor ARM_UNWIND are enabled,
--
1.7.2.3
next prev parent reply other threads:[~2010-11-09 13:46 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-11-06 18:25 [PATCH 1/6] ARM: ensure sched_clock() and children are notrace Rabin Vincent
2010-11-06 18:25 ` Rabin Vincent
2010-11-06 18:25 ` [PATCH 2/6] ARM: place C irq handlers in IRQ_ENTRY for ftrace Rabin Vincent
2010-11-06 18:25 ` Rabin Vincent
2010-11-06 18:25 ` [PATCH 3/6] ARM: ftrace: use gas macros to avoid code duplication Rabin Vincent
2010-11-06 18:25 ` Rabin Vincent
2010-11-06 18:25 ` [PATCH 4/6] ARM: ftrace: function graph tracer support Rabin Vincent
2010-11-06 18:25 ` Rabin Vincent
2010-11-06 18:25 ` [PATCH 5/6] ARM: ftrace: graph tracer + dynamic ftrace Rabin Vincent
2010-11-06 18:25 ` Rabin Vincent
2010-11-06 18:25 ` [PATCH 6/6] ARM: ftrace: enable function graph tracer Rabin Vincent
2010-11-06 18:25 ` Rabin Vincent
2010-11-06 19:06 ` Catalin Marinas
2010-11-06 19:06 ` Catalin Marinas
2010-11-08 9:18 ` Uwe Kleine-König
2010-11-08 9:18 ` Uwe Kleine-König
2010-11-08 10:42 ` Catalin Marinas
2010-11-08 10:42 ` Catalin Marinas
2010-11-09 13:46 ` Rabin Vincent [this message]
2010-11-09 13:46 ` Rabin Vincent
2010-11-09 14:22 ` Catalin Marinas
2010-11-09 14:22 ` Catalin Marinas
2010-11-12 18:44 ` [PATCH 1/6] ARM: ensure sched_clock() and children are notrace Rabin Vincent
2010-11-12 18:44 ` Rabin Vincent
2010-11-19 16:09 ` Rabin Vincent
2010-11-19 16:09 ` Rabin Vincent
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20101109134644.GA3163@debian \
--to=rabin@rab.in \
--cc=linux-arm-kernel@lists.infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.