提交 d2e82546 编写于 作者: I Ingo Molnar

Merge branch 'tip/tracing/ftrace' of...

Merge branch 'tip/tracing/ftrace' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into tracing/ftrace
...@@ -55,9 +55,8 @@ static struct softirq_action softirq_vec[NR_SOFTIRQS] __cacheline_aligned_in_smp ...@@ -55,9 +55,8 @@ static struct softirq_action softirq_vec[NR_SOFTIRQS] __cacheline_aligned_in_smp
static DEFINE_PER_CPU(struct task_struct *, ksoftirqd); static DEFINE_PER_CPU(struct task_struct *, ksoftirqd);
char *softirq_to_name[NR_SOFTIRQS] = { char *softirq_to_name[NR_SOFTIRQS] = {
"HI_SOFTIRQ", "TIMER_SOFTIRQ", "NET_TX_SOFTIRQ", "NET_RX_SOFTIRQ", "HI", "TIMER", "NET_TX", "NET_RX", "BLOCK",
"BLOCK_SOFTIRQ", "TASKLET_SOFTIRQ", "SCHED_SOFTIRQ", "HRTIMER_SOFTIRQ", "TASKLET", "SCHED", "HRTIMER", "RCU"
"RCU_SOFTIRQ"
}; };
/* /*
......
...@@ -3543,6 +3543,11 @@ static void tracing_init_debugfs_percpu(long cpu) ...@@ -3543,6 +3543,11 @@ static void tracing_init_debugfs_percpu(long cpu)
(void *) cpu, &tracing_fops); (void *) cpu, &tracing_fops);
if (!entry) if (!entry)
pr_warning("Could not create debugfs 'trace' entry\n"); pr_warning("Could not create debugfs 'trace' entry\n");
entry = debugfs_create_file("trace_pipe_raw", 0444, d_cpu,
(void *) cpu, &tracing_buffers_fops);
if (!entry)
pr_warning("Could not create debugfs 'trace_pipe_raw' entry\n");
} }
#ifdef CONFIG_FTRACE_SELFTEST #ifdef CONFIG_FTRACE_SELFTEST
...@@ -3826,7 +3831,6 @@ static __init void create_trace_options_dir(void) ...@@ -3826,7 +3831,6 @@ static __init void create_trace_options_dir(void)
static __init int tracer_init_debugfs(void) static __init int tracer_init_debugfs(void)
{ {
struct dentry *d_tracer; struct dentry *d_tracer;
struct dentry *buffers;
struct dentry *entry; struct dentry *entry;
int cpu; int cpu;
...@@ -3899,26 +3903,6 @@ static __init int tracer_init_debugfs(void) ...@@ -3899,26 +3903,6 @@ static __init int tracer_init_debugfs(void)
pr_warning("Could not create debugfs " pr_warning("Could not create debugfs "
"'trace_marker' entry\n"); "'trace_marker' entry\n");
buffers = debugfs_create_dir("binary_buffers", d_tracer);
if (!buffers)
pr_warning("Could not create buffers directory\n");
else {
int cpu;
char buf[64];
for_each_tracing_cpu(cpu) {
sprintf(buf, "%d", cpu);
entry = debugfs_create_file(buf, 0444, buffers,
(void *)(long)cpu,
&tracing_buffers_fops);
if (!entry)
pr_warning("Could not create debugfs buffers "
"'%s' entry\n", buf);
}
}
#ifdef CONFIG_DYNAMIC_FTRACE #ifdef CONFIG_DYNAMIC_FTRACE
entry = debugfs_create_file("dyn_ftrace_total_info", 0444, d_tracer, entry = debugfs_create_file("dyn_ftrace_total_info", 0444, d_tracer,
&ftrace_update_tot_cnt, &ftrace_update_tot_cnt,
......
...@@ -776,6 +776,11 @@ extern struct ftrace_event_call __stop_ftrace_events[]; ...@@ -776,6 +776,11 @@ extern struct ftrace_event_call __stop_ftrace_events[];
extern const char *__start___trace_bprintk_fmt[]; extern const char *__start___trace_bprintk_fmt[];
extern const char *__stop___trace_bprintk_fmt[]; extern const char *__stop___trace_bprintk_fmt[];
/*
* The double __builtin_constant_p is because gcc will give us an error
* if we try to allocate the static variable to fmt if it is not a
* constant. Even with the outer if statement optimizing out.
*/
#define event_trace_printk(ip, fmt, args...) \ #define event_trace_printk(ip, fmt, args...) \
do { \ do { \
__trace_printk_check_format(fmt, ##args); \ __trace_printk_check_format(fmt, ##args); \
......
...@@ -262,9 +262,9 @@ static int t_show(struct seq_file *m, void *v) ...@@ -262,9 +262,9 @@ static int t_show(struct seq_file *m, void *v)
int size; int size;
if (v == SEQ_START_TOKEN) { if (v == SEQ_START_TOKEN) {
seq_printf(m, " Depth Size Location" seq_printf(m, " Depth Size Location"
" (%d entries)\n" " (%d entries)\n"
" ----- ---- --------\n", " ----- ---- --------\n",
max_stack_trace.nr_entries); max_stack_trace.nr_entries);
if (!stack_tracer_enabled && !max_stack_size) if (!stack_tracer_enabled && !max_stack_size)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册