From: Steven Rostedt <rostedt@goodmis.org>
To: linux-kernel@vger.kernel.org
Cc: Ingo Molnar <mingo@elte.hu>,
Andrew Morton <akpm@linux-foundation.org>,
Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>,
Frederic Weisbecker <fweisbec@gmail.com>,
Thomas Gleixner <tglx@linutronix.de>,
"H. Peter Anvin" <hpa@zytor.com>
Subject: [PATCH 00/19] [GIT PULL][v3.6] ftrace: Allow kprobes to work with ftace
Date: Fri, 20 Jul 2012 22:19:43 -0400 [thread overview]
Message-ID: <20120721021943.274162381@goodmis.org> (raw)
[-- Attachment #1: Type: text/plain, Size: 3231 bytes --]
Ingo,
This patch series extends ftrace function tracing utility to be
more dynamic for its users. It allows for data passing to the callback
functions, as well as reading regs as if a breakpoint were to trigger
at function entry.
The main goal of this patch series was to allow kprobes to use ftrace
as an optimized probe point when a probe is placed on an ftrace nop.
With lots of help from Masami Hiramatsu, and going through lots of
iterations, we finally came up with a good solution.
I've tested it vigorously (although, like always, there may be some
subtle bug), but I feel it is ready for inclussion for the 3.6 merge
window.
Please pull the latest tip/perf/core tree, which can be found at:
git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace.git
tip/perf/core
Head SHA1: aa5e57294ac5614ac395a9733d3e050eace4764e
Masami Hiramatsu (5):
ftrace: add ftrace_set_filter_ip() for address based filter
kprobes: cleanup to separate probe-able check
kprobes: Move locks into appropriate functions
kprobes: introduce ftrace based optimization
kprobes/x86: ftrace based optimization for x86
Steven Rostedt (13):
ftrace: Pass ftrace_ops as third parameter to function trace callback
ftrace: Consolidate arch dependent functions with 'list' function
ftrace: Return pt_regs to function trace callback
ftrace/x86_32: Push ftrace_ops in as 3rd parameter to function tracer
ftrace/x86: Add separate function to save regs
ftrace/x86: Add save_regs for i386 function calls
ftrace/x86: Remove function_trace_stop check from graph caller
ftrace: Add default recursion protection for function tracing
ftrace: Only compile ftrace selftest if selftests are enabled
ftrace: Add selftest to test function trace recursion protection
ftrace: Add selftest to test function save-regs support
kprobes: Inverse taking of module_mutex with kprobe_mutex
ftrace: Make ftrace_location() a nop on !DYNAMIC_FTRACE
Uros Bizjak (1):
ftrace/x86_32: Simplify parameter setup for ftrace_regs_caller
----
arch/x86/include/asm/ftrace.h | 49 +++---
arch/x86/include/asm/kprobes.h | 1 +
arch/x86/kernel/entry_32.S | 75 ++++++++-
arch/x86/kernel/entry_64.S | 96 +++++++++--
arch/x86/kernel/ftrace.c | 73 ++++++++-
arch/x86/kernel/kprobes.c | 48 ++++++
include/linux/ftrace.h | 158 ++++++++++++++++--
include/linux/kprobes.h | 27 ++++
kernel/kprobes.c | 250 ++++++++++++++++++++--------
kernel/trace/Makefile | 2 +
kernel/trace/ftrace.c | 322 ++++++++++++++++++++++++++++---------
kernel/trace/trace.h | 2 +-
kernel/trace/trace_event_perf.c | 3 +-
kernel/trace/trace_events.c | 4 +-
kernel/trace/trace_functions.c | 14 +-
kernel/trace/trace_irqsoff.c | 5 +-
kernel/trace/trace_sched_wakeup.c | 5 +-
kernel/trace/trace_selftest.c | 277 ++++++++++++++++++++++++++++++-
kernel/trace/trace_stack.c | 4 +-
19 files changed, 1199 insertions(+), 216 deletions(-)
[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 836 bytes --]
next reply other threads:[~2012-07-21 2:21 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-07-21 2:19 Steven Rostedt [this message]
2012-07-21 2:19 ` [PATCH 01/19] ftrace: Pass ftrace_ops as third parameter to function trace callback Steven Rostedt
2012-07-21 2:19 ` [PATCH 02/19] ftrace: Consolidate arch dependent functions with list function Steven Rostedt
2012-07-21 2:19 ` [PATCH 03/19] ftrace: Return pt_regs to function trace callback Steven Rostedt
2012-07-21 2:19 ` [PATCH 04/19] ftrace/x86_32: Push ftrace_ops in as 3rd parameter to function tracer Steven Rostedt
2012-07-21 2:19 ` [PATCH 05/19] ftrace/x86: Add separate function to save regs Steven Rostedt
2012-07-21 2:19 ` [PATCH 06/19] ftrace/x86: Add save_regs for i386 function calls Steven Rostedt
2012-07-21 2:19 ` [PATCH 07/19] ftrace/x86_32: Simplify parameter setup for ftrace_regs_caller Steven Rostedt
2012-07-23 4:06 ` Masami Hiramatsu
2012-07-21 2:19 ` [PATCH 08/19] ftrace/x86: Remove function_trace_stop check from graph caller Steven Rostedt
2012-07-21 2:19 ` [PATCH 09/19] ftrace: Add default recursion protection for function tracing Steven Rostedt
2012-07-21 2:19 ` [PATCH 10/19] ftrace: Only compile ftrace selftest if selftests are enabled Steven Rostedt
2012-07-21 2:19 ` [PATCH 11/19] ftrace: Add selftest to test function trace recursion protection Steven Rostedt
2012-07-21 2:19 ` [PATCH 12/19] ftrace: Add selftest to test function save-regs support Steven Rostedt
2012-07-21 2:19 ` [PATCH 13/19] ftrace: add ftrace_set_filter_ip() for address based filter Steven Rostedt
2012-07-21 2:19 ` [PATCH 14/19] kprobes: Inverse taking of module_mutex with kprobe_mutex Steven Rostedt
2012-07-21 2:19 ` [PATCH 15/19] kprobes: cleanup to separate probe-able check Steven Rostedt
2012-07-21 2:19 ` [PATCH 16/19] kprobes: Move locks into appropriate functions Steven Rostedt
2012-07-21 2:20 ` [PATCH 17/19] ftrace: Make ftrace_location() a nop on !DYNAMIC_FTRACE Steven Rostedt
2012-07-21 2:20 ` [PATCH 18/19] kprobes: introduce ftrace based optimization Steven Rostedt
2012-07-21 2:20 ` [PATCH 19/19] kprobes/x86: ftrace based optimization for x86 Steven Rostedt
2012-07-30 15:51 ` [PATCH 00/19] [GIT PULL][v3.6] ftrace: Allow kprobes to work with ftace Steven Rostedt
2012-07-31 14:37 ` [GIT PULL][v3.7] (was: Re: [PATCH 00/19] [GIT PULL][v3.6]) " Steven Rostedt
2012-07-31 15:12 ` [PATCH 00/19] [GIT PULL][v3.6] " Ingo Molnar
2012-08-07 13:23 ` Steven Rostedt
2012-08-21 9:26 ` Ingo Molnar
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=20120721021943.274162381@goodmis.org \
--to=rostedt@goodmis.org \
--cc=akpm@linux-foundation.org \
--cc=fweisbec@gmail.com \
--cc=hpa@zytor.com \
--cc=linux-kernel@vger.kernel.org \
--cc=masami.hiramatsu.pt@hitachi.com \
--cc=mingo@elte.hu \
--cc=tglx@linutronix.de \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).