diff options
Diffstat (limited to 'kernel/trace')
-rw-r--r-- | kernel/trace/Kconfig | 2 | ||||
-rw-r--r-- | kernel/trace/ftrace.c | 8 | ||||
-rw-r--r-- | kernel/trace/trace.c | 11 | ||||
-rw-r--r-- | kernel/trace/trace_hw_branches.c | 2 | ||||
-rw-r--r-- | kernel/trace/trace_stack.c | 4 | ||||
-rw-r--r-- | kernel/trace/trace_syscalls.c | 6 |
6 files changed, 15 insertions, 18 deletions
diff --git a/kernel/trace/Kconfig b/kernel/trace/Kconfig index e71634604400..b416512ad17f 100644 --- a/kernel/trace/Kconfig +++ b/kernel/trace/Kconfig | |||
@@ -83,7 +83,7 @@ config RING_BUFFER_ALLOW_SWAP | |||
83 | # This allows those options to appear when no other tracer is selected. But the | 83 | # This allows those options to appear when no other tracer is selected. But the |
84 | # options do not appear when something else selects it. We need the two options | 84 | # options do not appear when something else selects it. We need the two options |
85 | # GENERIC_TRACER and TRACING to avoid circular dependencies to accomplish the | 85 | # GENERIC_TRACER and TRACING to avoid circular dependencies to accomplish the |
86 | # hidding of the automatic options options. | 86 | # hidding of the automatic options. |
87 | 87 | ||
88 | config TRACING | 88 | config TRACING |
89 | bool | 89 | bool |
diff --git a/kernel/trace/ftrace.c b/kernel/trace/ftrace.c index e70af98bb99c..46592feab5a6 100644 --- a/kernel/trace/ftrace.c +++ b/kernel/trace/ftrace.c | |||
@@ -1520,7 +1520,7 @@ static int t_show(struct seq_file *m, void *v) | |||
1520 | return 0; | 1520 | return 0; |
1521 | } | 1521 | } |
1522 | 1522 | ||
1523 | static struct seq_operations show_ftrace_seq_ops = { | 1523 | static const struct seq_operations show_ftrace_seq_ops = { |
1524 | .start = t_start, | 1524 | .start = t_start, |
1525 | .next = t_next, | 1525 | .next = t_next, |
1526 | .stop = t_stop, | 1526 | .stop = t_stop, |
@@ -2461,7 +2461,7 @@ static int g_show(struct seq_file *m, void *v) | |||
2461 | return 0; | 2461 | return 0; |
2462 | } | 2462 | } |
2463 | 2463 | ||
2464 | static struct seq_operations ftrace_graph_seq_ops = { | 2464 | static const struct seq_operations ftrace_graph_seq_ops = { |
2465 | .start = g_start, | 2465 | .start = g_start, |
2466 | .next = g_next, | 2466 | .next = g_next, |
2467 | .stop = g_stop, | 2467 | .stop = g_stop, |
@@ -3018,7 +3018,7 @@ int unregister_ftrace_function(struct ftrace_ops *ops) | |||
3018 | 3018 | ||
3019 | int | 3019 | int |
3020 | ftrace_enable_sysctl(struct ctl_table *table, int write, | 3020 | ftrace_enable_sysctl(struct ctl_table *table, int write, |
3021 | struct file *file, void __user *buffer, size_t *lenp, | 3021 | void __user *buffer, size_t *lenp, |
3022 | loff_t *ppos) | 3022 | loff_t *ppos) |
3023 | { | 3023 | { |
3024 | int ret; | 3024 | int ret; |
@@ -3028,7 +3028,7 @@ ftrace_enable_sysctl(struct ctl_table *table, int write, | |||
3028 | 3028 | ||
3029 | mutex_lock(&ftrace_lock); | 3029 | mutex_lock(&ftrace_lock); |
3030 | 3030 | ||
3031 | ret = proc_dointvec(table, write, file, buffer, lenp, ppos); | 3031 | ret = proc_dointvec(table, write, buffer, lenp, ppos); |
3032 | 3032 | ||
3033 | if (ret || !write || (last_ftrace_enabled == !!ftrace_enabled)) | 3033 | if (ret || !write || (last_ftrace_enabled == !!ftrace_enabled)) |
3034 | goto out; | 3034 | goto out; |
diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c index ae17453dc0f9..45068269ebb1 100644 --- a/kernel/trace/trace.c +++ b/kernel/trace/trace.c | |||
@@ -1949,7 +1949,7 @@ static int s_show(struct seq_file *m, void *v) | |||
1949 | return 0; | 1949 | return 0; |
1950 | } | 1950 | } |
1951 | 1951 | ||
1952 | static struct seq_operations tracer_seq_ops = { | 1952 | static const struct seq_operations tracer_seq_ops = { |
1953 | .start = s_start, | 1953 | .start = s_start, |
1954 | .next = s_next, | 1954 | .next = s_next, |
1955 | .stop = s_stop, | 1955 | .stop = s_stop, |
@@ -1984,11 +1984,9 @@ __tracing_open(struct inode *inode, struct file *file) | |||
1984 | if (current_trace) | 1984 | if (current_trace) |
1985 | *iter->trace = *current_trace; | 1985 | *iter->trace = *current_trace; |
1986 | 1986 | ||
1987 | if (!alloc_cpumask_var(&iter->started, GFP_KERNEL)) | 1987 | if (!zalloc_cpumask_var(&iter->started, GFP_KERNEL)) |
1988 | goto fail; | 1988 | goto fail; |
1989 | 1989 | ||
1990 | cpumask_clear(iter->started); | ||
1991 | |||
1992 | if (current_trace && current_trace->print_max) | 1990 | if (current_trace && current_trace->print_max) |
1993 | iter->tr = &max_tr; | 1991 | iter->tr = &max_tr; |
1994 | else | 1992 | else |
@@ -2163,7 +2161,7 @@ static int t_show(struct seq_file *m, void *v) | |||
2163 | return 0; | 2161 | return 0; |
2164 | } | 2162 | } |
2165 | 2163 | ||
2166 | static struct seq_operations show_traces_seq_ops = { | 2164 | static const struct seq_operations show_traces_seq_ops = { |
2167 | .start = t_start, | 2165 | .start = t_start, |
2168 | .next = t_next, | 2166 | .next = t_next, |
2169 | .stop = t_stop, | 2167 | .stop = t_stop, |
@@ -4389,7 +4387,7 @@ __init static int tracer_alloc_buffers(void) | |||
4389 | if (!alloc_cpumask_var(&tracing_cpumask, GFP_KERNEL)) | 4387 | if (!alloc_cpumask_var(&tracing_cpumask, GFP_KERNEL)) |
4390 | goto out_free_buffer_mask; | 4388 | goto out_free_buffer_mask; |
4391 | 4389 | ||
4392 | if (!alloc_cpumask_var(&tracing_reader_cpumask, GFP_KERNEL)) | 4390 | if (!zalloc_cpumask_var(&tracing_reader_cpumask, GFP_KERNEL)) |
4393 | goto out_free_tracing_cpumask; | 4391 | goto out_free_tracing_cpumask; |
4394 | 4392 | ||
4395 | /* To save memory, keep the ring buffer size to its minimum */ | 4393 | /* To save memory, keep the ring buffer size to its minimum */ |
@@ -4400,7 +4398,6 @@ __init static int tracer_alloc_buffers(void) | |||
4400 | 4398 | ||
4401 | cpumask_copy(tracing_buffer_mask, cpu_possible_mask); | 4399 | cpumask_copy(tracing_buffer_mask, cpu_possible_mask); |
4402 | cpumask_copy(tracing_cpumask, cpu_all_mask); | 4400 | cpumask_copy(tracing_cpumask, cpu_all_mask); |
4403 | cpumask_clear(tracing_reader_cpumask); | ||
4404 | 4401 | ||
4405 | /* TODO: make the number of buffers hot pluggable with CPUS */ | 4402 | /* TODO: make the number of buffers hot pluggable with CPUS */ |
4406 | global_trace.buffer = ring_buffer_alloc(ring_buf_size, | 4403 | global_trace.buffer = ring_buffer_alloc(ring_buf_size, |
diff --git a/kernel/trace/trace_hw_branches.c b/kernel/trace/trace_hw_branches.c index ca7d7c4d0c2a..23b63859130e 100644 --- a/kernel/trace/trace_hw_branches.c +++ b/kernel/trace/trace_hw_branches.c | |||
@@ -155,7 +155,7 @@ static enum print_line_t bts_trace_print_line(struct trace_iterator *iter) | |||
155 | seq_print_ip_sym(seq, it->from, symflags) && | 155 | seq_print_ip_sym(seq, it->from, symflags) && |
156 | trace_seq_printf(seq, "\n")) | 156 | trace_seq_printf(seq, "\n")) |
157 | return TRACE_TYPE_HANDLED; | 157 | return TRACE_TYPE_HANDLED; |
158 | return TRACE_TYPE_PARTIAL_LINE;; | 158 | return TRACE_TYPE_PARTIAL_LINE; |
159 | } | 159 | } |
160 | return TRACE_TYPE_UNHANDLED; | 160 | return TRACE_TYPE_UNHANDLED; |
161 | } | 161 | } |
diff --git a/kernel/trace/trace_stack.c b/kernel/trace/trace_stack.c index 0f6facb050a1..8504ac71e4e8 100644 --- a/kernel/trace/trace_stack.c +++ b/kernel/trace/trace_stack.c | |||
@@ -296,14 +296,14 @@ static const struct file_operations stack_trace_fops = { | |||
296 | 296 | ||
297 | int | 297 | int |
298 | stack_trace_sysctl(struct ctl_table *table, int write, | 298 | stack_trace_sysctl(struct ctl_table *table, int write, |
299 | struct file *file, void __user *buffer, size_t *lenp, | 299 | void __user *buffer, size_t *lenp, |
300 | loff_t *ppos) | 300 | loff_t *ppos) |
301 | { | 301 | { |
302 | int ret; | 302 | int ret; |
303 | 303 | ||
304 | mutex_lock(&stack_sysctl_mutex); | 304 | mutex_lock(&stack_sysctl_mutex); |
305 | 305 | ||
306 | ret = proc_dointvec(table, write, file, buffer, lenp, ppos); | 306 | ret = proc_dointvec(table, write, buffer, lenp, ppos); |
307 | 307 | ||
308 | if (ret || !write || | 308 | if (ret || !write || |
309 | (last_stack_tracer_enabled == !!stack_tracer_enabled)) | 309 | (last_stack_tracer_enabled == !!stack_tracer_enabled)) |
diff --git a/kernel/trace/trace_syscalls.c b/kernel/trace/trace_syscalls.c index 7a3550cf2597..9fbce6c9d2e1 100644 --- a/kernel/trace/trace_syscalls.c +++ b/kernel/trace/trace_syscalls.c | |||
@@ -2,7 +2,7 @@ | |||
2 | #include <trace/events/syscalls.h> | 2 | #include <trace/events/syscalls.h> |
3 | #include <linux/kernel.h> | 3 | #include <linux/kernel.h> |
4 | #include <linux/ftrace.h> | 4 | #include <linux/ftrace.h> |
5 | #include <linux/perf_counter.h> | 5 | #include <linux/perf_event.h> |
6 | #include <asm/syscall.h> | 6 | #include <asm/syscall.h> |
7 | 7 | ||
8 | #include "trace_output.h" | 8 | #include "trace_output.h" |
@@ -433,7 +433,7 @@ static void prof_syscall_enter(struct pt_regs *regs, long id) | |||
433 | rec->nr = syscall_nr; | 433 | rec->nr = syscall_nr; |
434 | syscall_get_arguments(current, regs, 0, sys_data->nb_args, | 434 | syscall_get_arguments(current, regs, 0, sys_data->nb_args, |
435 | (unsigned long *)&rec->args); | 435 | (unsigned long *)&rec->args); |
436 | perf_tpcounter_event(sys_data->enter_id, 0, 1, rec, size); | 436 | perf_tp_event(sys_data->enter_id, 0, 1, rec, size); |
437 | 437 | ||
438 | end: | 438 | end: |
439 | local_irq_restore(flags); | 439 | local_irq_restore(flags); |
@@ -532,7 +532,7 @@ static void prof_syscall_exit(struct pt_regs *regs, long ret) | |||
532 | rec->nr = syscall_nr; | 532 | rec->nr = syscall_nr; |
533 | rec->ret = syscall_get_return_value(current, regs); | 533 | rec->ret = syscall_get_return_value(current, regs); |
534 | 534 | ||
535 | perf_tpcounter_event(sys_data->exit_id, 0, 1, rec, size); | 535 | perf_tp_event(sys_data->exit_id, 0, 1, rec, size); |
536 | 536 | ||
537 | end: | 537 | end: |
538 | local_irq_restore(flags); | 538 | local_irq_restore(flags); |