[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <5021795A.6030902@zytor.com>
Date: Tue, 07 Aug 2012 13:23:54 -0700
From: "H. Peter Anvin" <hpa@...or.com>
To: Steven Rostedt <rostedt@...dmis.org>
CC: linux-kernel@...r.kernel.org, Ingo Molnar <mingo@...e.hu>,
Andrew Morton <akpm@...ux-foundation.org>,
Thomas Gleixner <tglx@...utronix.de>,
Frederic Weisbecker <fweisbec@...il.com>,
Masami Hiramatsu <masami.hiramatsu.pt@...achi.com>,
Linus Torvalds <torvalds@...ux-foundation.org>,
Andi Kleen <andi@...stfloor.org>
Subject: Re: [RFC PATCH 0/4] ftrace: Add use of -mfentry for x86_64
On 08/07/2012 12:38 PM, Steven Rostedt wrote:
>
> This is an RFC patch set that makes gcc use the -mfentry option with
> -pg. This will set the ftrace 'hook' to the beginning of the function
> and also remove the requirement that -pg enables frame pointers.
>
> This has a couple of benefits (and probably more).
>
> 1) removal of the frame pointer requirement makes for smaller and faster code.
>
> 2) Having the function trace hook at the beginning of the function instead
> of after the frame is set up, gives the function tracing callbacks access
> to the parameters. This means that kprobes can take advantage of this.
> When a kprobe is set on top of a ftrace hook (nop), it will automatically
> use the function tracing callback. This makes it into an 'optimized' probe
> as there's no need to hit a breakpoint and trigger the probe that way.
> The function tracing code can do the work for it. Note, optimized probes
> are only allowed with !PREEMPT, but a ftrace optimize probe is allowed
> in any context (another benefit).
>
> This only implements fentry for x86_64.
>
Acked-by: H. Peter Anvin <hpa@...ux.intel.com>
-hpa
--
H. Peter Anvin, Intel Open Source Technology Center
I work for Intel. I don't speak on their behalf.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists