* [PATCH 0/5] ftrace: recordmcount for sh and arm, plus permanent disable API
@ 2008-11-21 20:29 Steven Rostedt
2008-11-21 20:29 ` [PATCH 1/5] ftrace: Specify $alignment for sh architecture Steven Rostedt
` (5 more replies)
0 siblings, 6 replies; 7+ messages in thread
From: Steven Rostedt @ 2008-11-21 20:29 UTC (permalink / raw)
To: linux-kernel
Cc: Ingo Molnar, Andrew Morton, Thomas Gleixner, Matt Fleming,
Russell King - ARM Linux, Sam Ravnborg, Jim Radford, Paul Mundt
Ingo,
The first two patches are changes to recordmcount.pl that I've tested
to make sure they do not break x86 or PPC. These are changes that are
needed for sh and ARM. I do not include the changes needed in the arch
itself, those need to go through the arch maintainers.
The other patches are for the permanent disabling of the tracer and
ring buffer.
I know you prefered having the ring buffer disable flag be 0 1 -1
for off, on, and disable respectively, but this becomes a problem
to implement safely for all archs. What I did instead was to have
two bits in the flags. On is a simple on/off bit for the users to
use, the other is a set once flag that will permantly disable the
ring buffers once set. This allows me to use the set/clear bit API
that works on all architectures nicely. And I personally find this
easier to understand.
The following patches are in:
git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace.git
branch: tip/devel
Jim Radford (1):
ftrace: mcountrecord.pl for arm
Matt Fleming (1):
ftrace: Specify $alignment for sh architecture
Steven Rostedt (3):
ring-buffer: add tracing_off_permanent
ftrace: add ftrace_off_permanent
trace: fix compiler warning in branch profiler
----
include/linux/ftrace.h | 2 +
include/linux/ring_buffer.h | 1 +
kernel/trace/ring_buffer.c | 79 ++++++++++++++++++++++++++++++++++++-------
kernel/trace/trace.c | 15 ++++++++
kernel/trace/trace_branch.c | 10 +++---
scripts/recordmcount.pl | 11 +++++-
6 files changed, 98 insertions(+), 20 deletions(-)
^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH 1/5] ftrace: Specify $alignment for sh architecture
2008-11-21 20:29 [PATCH 0/5] ftrace: recordmcount for sh and arm, plus permanent disable API Steven Rostedt
@ 2008-11-21 20:29 ` Steven Rostedt
2008-11-21 20:29 ` [PATCH 2/5] ftrace: mcountrecord.pl for arm Steven Rostedt
` (4 subsequent siblings)
5 siblings, 0 replies; 7+ messages in thread
From: Steven Rostedt @ 2008-11-21 20:29 UTC (permalink / raw)
To: linux-kernel
Cc: Ingo Molnar, Andrew Morton, Thomas Gleixner, Matt Fleming,
Russell King - ARM Linux, Sam Ravnborg, Jim Radford, Paul Mundt,
Steven Rostedt
[-- Attachment #1: 0001-ftrace-Specify-alignment-for-sh-architecture.patch --]
[-- Type: text/plain, Size: 1170 bytes --]
From: Matt Fleming <mjf@gentoo.org>
Set $alignment=2 for the sh architecture so that a ".align 2" directive
will be emitted for all __mcount_loc sections. Fix a whitspace error
while I'm here (converted spaces to tabs).
Signed-off-by: Matt Fleming <mjf@gentoo.org>
Signed-off-by: Steven Rostedt <srostedt@redhat.com>
---
scripts/recordmcount.pl | 3 ++-
1 files changed, 2 insertions(+), 1 deletions(-)
diff --git a/scripts/recordmcount.pl b/scripts/recordmcount.pl
index c5c58ac..03b6af1 100755
--- a/scripts/recordmcount.pl
+++ b/scripts/recordmcount.pl
@@ -135,7 +135,7 @@ my $section_regex; # Find the start of a section
my $function_regex; # Find the name of a function
# (return offset and func name)
my $mcount_regex; # Find the call site to mcount (return offset)
-my $alignment; # The .align value to use for $mcount_section
+my $alignment; # The .align value to use for $mcount_section
if ($arch eq "x86") {
if ($bits == 64) {
@@ -176,6 +176,7 @@ if ($arch eq "x86_64") {
$cc .= " -m32";
} elsif ($arch eq "sh") {
+ $alignment = 2;
# force flags for this arch
$ld .= " -m shlelf_linux";
--
1.5.6.5
--
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH 2/5] ftrace: mcountrecord.pl for arm
2008-11-21 20:29 [PATCH 0/5] ftrace: recordmcount for sh and arm, plus permanent disable API Steven Rostedt
2008-11-21 20:29 ` [PATCH 1/5] ftrace: Specify $alignment for sh architecture Steven Rostedt
@ 2008-11-21 20:29 ` Steven Rostedt
2008-11-21 20:29 ` [PATCH 3/5] ring-buffer: add tracing_off_permanent Steven Rostedt
` (3 subsequent siblings)
5 siblings, 0 replies; 7+ messages in thread
From: Steven Rostedt @ 2008-11-21 20:29 UTC (permalink / raw)
To: linux-kernel
Cc: Ingo Molnar, Andrew Morton, Thomas Gleixner, Matt Fleming,
Russell King - ARM Linux, Sam Ravnborg, Jim Radford, Paul Mundt,
Jim Radford, Steven Rostedt
[-- Attachment #1: 0002-ftrace-mcountrecord.pl-for-arm.patch --]
[-- Type: text/plain, Size: 1873 bytes --]
From: Jim Radford <radford@galvanix.com>
Arm uses %progbits instead of @progbits and requires only 4 byte alignment.
[ Thanks to Sam Ravnborg for mentioning that ARM uses %progbits ]
Signed-off-by: Jim Radford <radford@galvanix.com>
Signed-off-by: Steven Rostedt <srostedt@redhat.com>
---
scripts/recordmcount.pl | 8 +++++++-
1 files changed, 7 insertions(+), 1 deletions(-)
diff --git a/scripts/recordmcount.pl b/scripts/recordmcount.pl
index 03b6af1..0197e2f 100755
--- a/scripts/recordmcount.pl
+++ b/scripts/recordmcount.pl
@@ -136,6 +136,7 @@ my $function_regex; # Find the name of a function
# (return offset and func name)
my $mcount_regex; # Find the call site to mcount (return offset)
my $alignment; # The .align value to use for $mcount_section
+my $section_type; # Section header plus possible alignment command
if ($arch eq "x86") {
if ($bits == 64) {
@@ -153,6 +154,7 @@ $nm_regex = "^[0-9a-fA-F]+\\s+t\\s+(\\S+)";
$section_regex = "Disassembly of section\\s+(\\S+):";
$function_regex = "^([0-9a-fA-F]+)\\s+<(.*?)>:";
$mcount_regex = "^\\s*([0-9a-fA-F]+):.*\\smcount\$";
+$section_type = '@progbits';
$type = ".long";
if ($arch eq "x86_64") {
@@ -192,6 +194,10 @@ if ($arch eq "x86_64") {
$type = ".quad";
}
+} elsif ($arch eq "arm") {
+ $alignment = 2;
+ $section_type = '%progbits';
+
} else {
die "Arch $arch is not supported with CONFIG_FTRACE_MCOUNT_RECORD";
}
@@ -312,7 +318,7 @@ sub update_funcs
if (!$opened) {
open(FILE, ">$mcount_s") || die "can't create $mcount_s\n";
$opened = 1;
- print FILE "\t.section $mcount_section,\"a\",\@progbits\n";
+ print FILE "\t.section $mcount_section,\"a\",$section_type\n";
print FILE "\t.align $alignment\n" if (defined($alignment));
}
printf FILE "\t%s %s + %d\n", $type, $ref_func, $offsets[$i] - $offset;
--
1.5.6.5
--
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH 3/5] ring-buffer: add tracing_off_permanent
2008-11-21 20:29 [PATCH 0/5] ftrace: recordmcount for sh and arm, plus permanent disable API Steven Rostedt
2008-11-21 20:29 ` [PATCH 1/5] ftrace: Specify $alignment for sh architecture Steven Rostedt
2008-11-21 20:29 ` [PATCH 2/5] ftrace: mcountrecord.pl for arm Steven Rostedt
@ 2008-11-21 20:29 ` Steven Rostedt
2008-11-21 20:29 ` [PATCH 4/5] ftrace: add ftrace_off_permanent Steven Rostedt
` (2 subsequent siblings)
5 siblings, 0 replies; 7+ messages in thread
From: Steven Rostedt @ 2008-11-21 20:29 UTC (permalink / raw)
To: linux-kernel
Cc: Ingo Molnar, Andrew Morton, Thomas Gleixner, Matt Fleming,
Russell King - ARM Linux, Sam Ravnborg, Jim Radford, Paul Mundt,
Steven Rostedt
[-- Attachment #1: 0003-ring-buffer-add-tracing_off_permanent.patch --]
[-- Type: text/plain, Size: 5058 bytes --]
From: Steven Rostedt <srostedt@redhat.com>
Impact: feature to permanently disable ring buffer
This patch adds a API to the ring buffer code that will permanently
disable the ring buffer from ever recording. This should only be
called when some serious anomaly is detected, and the system
may be in an unstable state. When that happens, shutting down the
recording to the ring buffers may be appropriate.
Signed-off-by: Steven Rostedt <srostedt@redhat.com>
---
include/linux/ring_buffer.h | 1 +
kernel/trace/ring_buffer.c | 79 ++++++++++++++++++++++++++++++++++++-------
2 files changed, 67 insertions(+), 13 deletions(-)
diff --git a/include/linux/ring_buffer.h b/include/linux/ring_buffer.h
index e097c2e..3bb87a7 100644
--- a/include/linux/ring_buffer.h
+++ b/include/linux/ring_buffer.h
@@ -122,6 +122,7 @@ void ring_buffer_normalize_time_stamp(int cpu, u64 *ts);
void tracing_on(void);
void tracing_off(void);
+void tracing_off_permanent(void);
enum ring_buffer_flags {
RB_FL_OVERWRITE = 1 << 0,
diff --git a/kernel/trace/ring_buffer.c b/kernel/trace/ring_buffer.c
index 85ced14..e206951 100644
--- a/kernel/trace/ring_buffer.c
+++ b/kernel/trace/ring_buffer.c
@@ -18,8 +18,46 @@
#include "trace.h"
-/* Global flag to disable all recording to ring buffers */
-static int ring_buffers_off __read_mostly;
+/*
+ * A fast way to enable or disable all ring buffers is to
+ * call tracing_on or tracing_off. Turning off the ring buffers
+ * prevents all ring buffers from being recorded to.
+ * Turning this switch on, makes it OK to write to the
+ * ring buffer, if the ring buffer is enabled itself.
+ *
+ * There's three layers that must be on in order to write
+ * to the ring buffer.
+ *
+ * 1) This global flag must be set.
+ * 2) The ring buffer must be enabled for recording.
+ * 3) The per cpu buffer must be enabled for recording.
+ *
+ * In case of an anomaly, this global flag has a bit set that
+ * will permantly disable all ring buffers.
+ */
+
+/*
+ * Global flag to disable all recording to ring buffers
+ * This has two bits: ON, DISABLED
+ *
+ * ON DISABLED
+ * ---- ----------
+ * 0 0 : ring buffers are off
+ * 1 0 : ring buffers are on
+ * X 1 : ring buffers are permanently disabled
+ */
+
+enum {
+ RB_BUFFERS_ON_BIT = 0,
+ RB_BUFFERS_DISABLED_BIT = 1,
+};
+
+enum {
+ RB_BUFFERS_ON = 1 << RB_BUFFERS_ON_BIT,
+ RB_BUFFERS_DISABLED = 1 << RB_BUFFERS_DISABLED_BIT,
+};
+
+static long ring_buffer_flags __read_mostly = RB_BUFFERS_ON;
/**
* tracing_on - enable all tracing buffers
@@ -29,7 +67,7 @@ static int ring_buffers_off __read_mostly;
*/
void tracing_on(void)
{
- ring_buffers_off = 0;
+ set_bit(RB_BUFFERS_ON_BIT, &ring_buffer_flags);
}
/**
@@ -42,7 +80,18 @@ void tracing_on(void)
*/
void tracing_off(void)
{
- ring_buffers_off = 1;
+ clear_bit(RB_BUFFERS_ON_BIT, &ring_buffer_flags);
+}
+
+/**
+ * tracing_off_permanent - permanently disable ring buffers
+ *
+ * This function, once called, will disable all ring buffers
+ * permanenty.
+ */
+void tracing_off_permanent(void)
+{
+ set_bit(RB_BUFFERS_DISABLED_BIT, &ring_buffer_flags);
}
#include "trace.h"
@@ -1185,7 +1234,7 @@ ring_buffer_lock_reserve(struct ring_buffer *buffer,
struct ring_buffer_event *event;
int cpu, resched;
- if (ring_buffers_off)
+ if (ring_buffer_flags != RB_BUFFERS_ON)
return NULL;
if (atomic_read(&buffer->record_disabled))
@@ -1297,7 +1346,7 @@ int ring_buffer_write(struct ring_buffer *buffer,
int ret = -EBUSY;
int cpu, resched;
- if (ring_buffers_off)
+ if (ring_buffer_flags != RB_BUFFERS_ON)
return -EBUSY;
if (atomic_read(&buffer->record_disabled))
@@ -2178,12 +2227,14 @@ static ssize_t
rb_simple_read(struct file *filp, char __user *ubuf,
size_t cnt, loff_t *ppos)
{
- int *p = filp->private_data;
+ long *p = filp->private_data;
char buf[64];
int r;
- /* !ring_buffers_off == tracing_on */
- r = sprintf(buf, "%d\n", !*p);
+ if (test_bit(RB_BUFFERS_DISABLED_BIT, p))
+ r = sprintf(buf, "permanently disabled\n");
+ else
+ r = sprintf(buf, "%d\n", test_bit(RB_BUFFERS_ON_BIT, p));
return simple_read_from_buffer(ubuf, cnt, ppos, buf, r);
}
@@ -2192,7 +2243,7 @@ static ssize_t
rb_simple_write(struct file *filp, const char __user *ubuf,
size_t cnt, loff_t *ppos)
{
- int *p = filp->private_data;
+ long *p = filp->private_data;
char buf[64];
long val;
int ret;
@@ -2209,8 +2260,10 @@ rb_simple_write(struct file *filp, const char __user *ubuf,
if (ret < 0)
return ret;
- /* !ring_buffers_off == tracing_on */
- *p = !val;
+ if (val)
+ set_bit(RB_BUFFERS_ON_BIT, p);
+ else
+ clear_bit(RB_BUFFERS_ON_BIT, p);
(*ppos)++;
@@ -2232,7 +2285,7 @@ static __init int rb_init_debugfs(void)
d_tracer = tracing_init_dentry();
entry = debugfs_create_file("tracing_on", 0644, d_tracer,
- &ring_buffers_off, &rb_simple_fops);
+ &ring_buffer_flags, &rb_simple_fops);
if (!entry)
pr_warning("Could not create debugfs 'tracing_on' entry\n");
--
1.5.6.5
--
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH 4/5] ftrace: add ftrace_off_permanent
2008-11-21 20:29 [PATCH 0/5] ftrace: recordmcount for sh and arm, plus permanent disable API Steven Rostedt
` (2 preceding siblings ...)
2008-11-21 20:29 ` [PATCH 3/5] ring-buffer: add tracing_off_permanent Steven Rostedt
@ 2008-11-21 20:29 ` Steven Rostedt
2008-11-21 20:29 ` [PATCH 5/5] trace: fix compiler warning in branch profiler Steven Rostedt
2008-11-23 10:51 ` [PATCH 0/5] ftrace: recordmcount for sh and arm, plus permanent disable API Ingo Molnar
5 siblings, 0 replies; 7+ messages in thread
From: Steven Rostedt @ 2008-11-21 20:29 UTC (permalink / raw)
To: linux-kernel
Cc: Ingo Molnar, Andrew Morton, Thomas Gleixner, Matt Fleming,
Russell King - ARM Linux, Sam Ravnborg, Jim Radford, Paul Mundt,
Steven Rostedt
[-- Attachment #1: 0004-ftrace-add-ftrace_off_permanent.patch --]
[-- Type: text/plain, Size: 2129 bytes --]
From: Steven Rostedt <srostedt@redhat.com>
Impact: feature to disable all of ftrace on anomalies
It case of a serious anomaly being detected (like something caught by
lockdep) it is a good idea to disable all tracing immediately, without
grabing any locks.
This patch adds ftrace_off_permanent that disables the tracers, function
tracing and ring buffers without a way to enable them again. This should
only be used when something serious has been detected.
Signed-off-by: Steven Rostedt <srostedt@redhat.com>
---
include/linux/ftrace.h | 2 ++
kernel/trace/trace.c | 15 +++++++++++++++
2 files changed, 17 insertions(+), 0 deletions(-)
diff --git a/include/linux/ftrace.h b/include/linux/ftrace.h
index f1af1aa..efa5f27 100644
--- a/include/linux/ftrace.h
+++ b/include/linux/ftrace.h
@@ -257,6 +257,7 @@ extern int ftrace_dump_on_oops;
extern void tracing_start(void);
extern void tracing_stop(void);
+extern void ftrace_off_permanent(void);
extern void
ftrace_special(unsigned long arg1, unsigned long arg2, unsigned long arg3);
@@ -290,6 +291,7 @@ ftrace_printk(const char *fmt, ...) __attribute__ ((format (printf, 1, 0)));
static inline void tracing_start(void) { }
static inline void tracing_stop(void) { }
+static inline void ftrace_off_permanent(void) { }
static inline int
ftrace_printk(const char *fmt, ...)
{
diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c
index 5653c6b..25b560f 100644
--- a/kernel/trace/trace.c
+++ b/kernel/trace/trace.c
@@ -639,6 +639,21 @@ static int trace_stop_count;
static DEFINE_SPINLOCK(tracing_start_lock);
/**
+ * ftrace_off_permanent - disable all ftrace code permanently
+ *
+ * This should only be called when a serious anomally has
+ * been detected. This will turn off the function tracing,
+ * ring buffers, and other tracing utilites. It takes no
+ * locks and can be called from any context.
+ */
+void ftrace_off_permanent(void)
+{
+ tracing_disabled = 1;
+ ftrace_stop();
+ tracing_off_permanent();
+}
+
+/**
* tracing_start - quick start of the tracer
*
* If tracing is enabled but was stopped by tracing_stop,
--
1.5.6.5
--
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH 5/5] trace: fix compiler warning in branch profiler
2008-11-21 20:29 [PATCH 0/5] ftrace: recordmcount for sh and arm, plus permanent disable API Steven Rostedt
` (3 preceding siblings ...)
2008-11-21 20:29 ` [PATCH 4/5] ftrace: add ftrace_off_permanent Steven Rostedt
@ 2008-11-21 20:29 ` Steven Rostedt
2008-11-23 10:51 ` [PATCH 0/5] ftrace: recordmcount for sh and arm, plus permanent disable API Ingo Molnar
5 siblings, 0 replies; 7+ messages in thread
From: Steven Rostedt @ 2008-11-21 20:29 UTC (permalink / raw)
To: linux-kernel
Cc: Ingo Molnar, Andrew Morton, Thomas Gleixner, Matt Fleming,
Russell King - ARM Linux, Sam Ravnborg, Jim Radford, Paul Mundt,
Steven Rostedt
[-- Attachment #1: 0005-trace-fix-compiler-warning-in-branch-profiler.patch --]
[-- Type: text/plain, Size: 2461 bytes --]
From: Steven Rostedt <srostedt@redhat.com>
Impact: fix complier warning
The ftrace_pointers used in the branch profiler are constant values.
They should never change. But the compiler complains when they are
passed into the debugfs_create_file as a data pointer, because the
function discards the qualifier.
This patch typecasts the parameter to debugfs_create_file back to
a void pointer. To remind the callbacks that they are pointing to
a constant value, I also modified the callback local pointers to
be const struct ftrace_pointer * as well.
Signed-off-by: Steven Rostedt <srostedt@redhat.com>
---
kernel/trace/trace_branch.c | 10 +++++-----
1 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/kernel/trace/trace_branch.c b/kernel/trace/trace_branch.c
index 85792ae..877ee88 100644
--- a/kernel/trace/trace_branch.c
+++ b/kernel/trace/trace_branch.c
@@ -191,7 +191,7 @@ struct ftrace_pointer {
static void *
t_next(struct seq_file *m, void *v, loff_t *pos)
{
- struct ftrace_pointer *f = m->private;
+ const struct ftrace_pointer *f = m->private;
struct ftrace_branch_data *p = v;
(*pos)++;
@@ -224,7 +224,7 @@ static void t_stop(struct seq_file *m, void *p)
static int t_show(struct seq_file *m, void *v)
{
- struct ftrace_pointer *fp = m->private;
+ const struct ftrace_pointer *fp = m->private;
struct ftrace_branch_data *p = v;
const char *f;
long percent;
@@ -296,7 +296,7 @@ static const struct file_operations tracing_branch_fops = {
extern unsigned long __start_branch_profile[];
extern unsigned long __stop_branch_profile[];
-static struct ftrace_pointer ftrace_branch_pos = {
+static const struct ftrace_pointer ftrace_branch_pos = {
.start = __start_branch_profile,
.stop = __stop_branch_profile,
.hit = 1,
@@ -320,7 +320,7 @@ static __init int ftrace_branch_init(void)
d_tracer = tracing_init_dentry();
entry = debugfs_create_file("profile_annotated_branch", 0444, d_tracer,
- &ftrace_annotated_branch_pos,
+ (void *)&ftrace_annotated_branch_pos,
&tracing_branch_fops);
if (!entry)
pr_warning("Could not create debugfs "
@@ -328,7 +328,7 @@ static __init int ftrace_branch_init(void)
#ifdef CONFIG_PROFILE_ALL_BRANCHES
entry = debugfs_create_file("profile_branch", 0444, d_tracer,
- &ftrace_branch_pos,
+ (void *)&ftrace_branch_pos,
&tracing_branch_fops);
if (!entry)
pr_warning("Could not create debugfs"
--
1.5.6.5
--
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH 0/5] ftrace: recordmcount for sh and arm, plus permanent disable API
2008-11-21 20:29 [PATCH 0/5] ftrace: recordmcount for sh and arm, plus permanent disable API Steven Rostedt
` (4 preceding siblings ...)
2008-11-21 20:29 ` [PATCH 5/5] trace: fix compiler warning in branch profiler Steven Rostedt
@ 2008-11-23 10:51 ` Ingo Molnar
5 siblings, 0 replies; 7+ messages in thread
From: Ingo Molnar @ 2008-11-23 10:51 UTC (permalink / raw)
To: Steven Rostedt
Cc: linux-kernel, Andrew Morton, Thomas Gleixner, Matt Fleming,
Russell King - ARM Linux, Sam Ravnborg, Jim Radford, Paul Mundt
> The following patches are in:
>
> git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace.git
>
> branch: tip/devel
thanks Steve - i've picked up you latest tip/devel lineup, with the
following topic mappings - comment lines show places where i had to
touch the commit:
ab687e9: trace: fix compiler warning in branch profiler
=> tip/tracing/branch-tracer
# fixed typo in commit log
43f6f85: ftrace: add ftrace_off_permanent
=> tip/tracing/ftrace
# tweaked the impact line
fe40c4d: ring-buffer: add tracing_off_permanent
=> tip/tracing/ring-buffer
5143dac: ftrace: mcountrecord.pl for arm
=> tip/tracing/ftrace
# fixed subject line
# added impact-line
5bb2800: ftrace: Specify $alignment for sh architecture
=> tip/tracing/ftrace
# fixed subject line capitalization
# added impact-line
cf4b087: trace: profile all if conditionals
=> tip/tracing/branch-tracer
3d89c08: trace: branch profiling should not print percent without data
=> tip/tracing/branch-tracer
f174c21: trace: consolidate unlikely and likely profiler
=> tip/tracing/branch-tracer
61980a9: trace: remove extra assign in branch check
=> tip/tracing/branch-tracer
48a4227: ftrace: create default variables for archs in recordmcount.pl
=> tip/tracing/ftrace
1d18d90: ftrace: add support for powerpc to recordmcount.pl script
=> tip/tracing/ftrace
cf68a8f: sh: dynamic ftrace support.
=> tip/tracing/ftrace
the final commit IDs are:
0429149: trace: fix compiler warning in branch profiler
69bb54e: ftrace: add ftrace_off_permanent
033601a: ring-buffer: add tracing_off_permanent
e58918a: ftrace: scripts/recordmcount.pl support for ARM
3a3d04a: ftrace: specify $alignment for sh architecture
2bcd521: trace: profile all if conditionals
bac28bf: trace: branch profiling should not print percent without data
45b7974: trace: consolidate unlikely and likely profiler
42f565e: trace: remove extra assign in branch check
c204f72: ftrace: create default variables for archs in recordmcount.pl
42e007d: ftrace: add support for powerpc to recordmcount.pl script
0da85c0: sh: dynamic ftrace support.
Thanks,
Ingo
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2008-11-23 10:52 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-11-21 20:29 [PATCH 0/5] ftrace: recordmcount for sh and arm, plus permanent disable API Steven Rostedt
2008-11-21 20:29 ` [PATCH 1/5] ftrace: Specify $alignment for sh architecture Steven Rostedt
2008-11-21 20:29 ` [PATCH 2/5] ftrace: mcountrecord.pl for arm Steven Rostedt
2008-11-21 20:29 ` [PATCH 3/5] ring-buffer: add tracing_off_permanent Steven Rostedt
2008-11-21 20:29 ` [PATCH 4/5] ftrace: add ftrace_off_permanent Steven Rostedt
2008-11-21 20:29 ` [PATCH 5/5] trace: fix compiler warning in branch profiler Steven Rostedt
2008-11-23 10:51 ` [PATCH 0/5] ftrace: recordmcount for sh and arm, plus permanent disable API Ingo Molnar
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.