From: Steven Rostedt <rostedt@goodmis.org>
To: linux-kernel@vger.kernel.org
Cc: Ingo Molnar <mingo@elte.hu>,
Andrew Morton <akpm@linux-foundation.org>,
Thomas Gleixner <tglx@linutronix.de>,
David Miller <davem@davemloft.net>,
Benjamin Herrenschmidt <benh@kernel.crashing.org>,
Frederic Weisbecker <fweisbec@gmail.com>,
Paul Mackerras <paulus@samba.org>,
Paul Mundt <lethal@linux-sh.org>
Subject: [PATCH 0/5] ftrace updates for tip, and ground work for other architectures
Date: Sat, 15 Nov 2008 16:47:05 -0500 [thread overview]
Message-ID: <20081115214705.363808961@goodmis.org> (raw)
Ingo,
Patch 2 is a change in dynamic ftrace interface between the generic
code and the arch dependent code. The original code did not allow
for the flexibility to handle some architecture limitations. I ran
into this when trying to port to PPC32 and realized that the
modules used trampolines to make the jumps to mcount.
I have successfully ported PPC64 and PPC32 and will send those patches
out later. But this patch series sets up the ground work for other
architectures to port dynamic ftrace.
The main changes to the code is:
1) I removed the ftarce_modify_code and replaced it with two functions:
ftrace_make_nop() and ftrace_make_call. The former converts
the code into a nop. The later converts a nop into a call.
2) instead of passing just the address and expected and replace in
I pass in the dynamic ftrace record itself. This allows
the architecture code save data per record if needed.
To do this, there is now a dyn_arch_ftrace structure
in the dyn_ftrace record.
3) On intialization, ftrace_make_nop gets passed in the module that
created it or NULL if it is core kernel code. This allows
the archicecture code do special things for modules, and
also use the module sturcture to store data for later use
with the conversions.
The following patches are in:
git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace.git
branch: tip/devel
Steven Rostedt (5):
ftrace: replace raw_local_irq_save with local_irq_save
ftrace: pass module struct to arch dynamic ftrace functions
ftrace: allow NULL pointers in mcount_loc
ftrace: fix dyn ftrace filter
ftrace: make filtered functions effective on setting
----
arch/x86/include/asm/ftrace.h | 8 ++
arch/x86/kernel/ftrace.c | 29 +++++++-
include/linux/ftrace.h | 53 +++++++++++----
kernel/module.c | 2 +-
kernel/trace/ftrace.c | 147 ++++++++++++++++++-----------------------
kernel/trace/trace.c | 4 +-
kernel/trace/trace_selftest.c | 4 +-
7 files changed, 145 insertions(+), 102 deletions(-)
next reply other threads:[~2008-11-15 21:48 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-11-15 21:47 Steven Rostedt [this message]
2008-11-15 21:47 ` [PATCH 1/5] ftrace: replace raw_local_irq_save with local_irq_save Steven Rostedt
2008-11-15 21:47 ` [PATCH 2/5] ftrace: pass module struct to arch dynamic ftrace functions Steven Rostedt
2008-11-15 21:47 ` [PATCH 3/5] ftrace: allow NULL pointers in mcount_loc Steven Rostedt
2008-11-15 21:47 ` [PATCH 4/5] ftrace: fix dyn ftrace filter Steven Rostedt
2008-11-15 21:47 ` [PATCH 5/5] ftrace: make filtered functions effective on setting Steven Rostedt
2008-11-16 6:39 ` [PATCH 0/5] ftrace updates for tip, and ground work for other architectures 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=20081115214705.363808961@goodmis.org \
--to=rostedt@goodmis.org \
--cc=akpm@linux-foundation.org \
--cc=benh@kernel.crashing.org \
--cc=davem@davemloft.net \
--cc=fweisbec@gmail.com \
--cc=lethal@linux-sh.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=paulus@samba.org \
--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