Merge branch 'tip/perf/urgent-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace into perf/urgent

This commit is contained in:
Ingo Molnar 2012-04-25 12:33:24 +02:00
commit c716ef56f1
3 changed files with 12 additions and 5 deletions

View File

@ -4629,7 +4629,8 @@ static ssize_t
rb_simple_read(struct file *filp, char __user *ubuf, rb_simple_read(struct file *filp, char __user *ubuf,
size_t cnt, loff_t *ppos) size_t cnt, loff_t *ppos)
{ {
struct ring_buffer *buffer = filp->private_data; struct trace_array *tr = filp->private_data;
struct ring_buffer *buffer = tr->buffer;
char buf[64]; char buf[64];
int r; int r;
@ -4647,7 +4648,8 @@ static ssize_t
rb_simple_write(struct file *filp, const char __user *ubuf, rb_simple_write(struct file *filp, const char __user *ubuf,
size_t cnt, loff_t *ppos) size_t cnt, loff_t *ppos)
{ {
struct ring_buffer *buffer = filp->private_data; struct trace_array *tr = filp->private_data;
struct ring_buffer *buffer = tr->buffer;
unsigned long val; unsigned long val;
int ret; int ret;
@ -4734,7 +4736,7 @@ static __init int tracer_init_debugfs(void)
&trace_clock_fops); &trace_clock_fops);
trace_create_file("tracing_on", 0644, d_tracer, trace_create_file("tracing_on", 0644, d_tracer,
global_trace.buffer, &rb_simple_fops); &global_trace, &rb_simple_fops);
#ifdef CONFIG_DYNAMIC_FTRACE #ifdef CONFIG_DYNAMIC_FTRACE
trace_create_file("dyn_ftrace_total_info", 0444, d_tracer, trace_create_file("dyn_ftrace_total_info", 0444, d_tracer,

View File

@ -836,11 +836,11 @@ extern const char *__stop___trace_bprintk_fmt[];
filter) filter)
#include "trace_entries.h" #include "trace_entries.h"
#ifdef CONFIG_FUNCTION_TRACER #if defined(CONFIG_PERF_EVENTS) && defined(CONFIG_FUNCTION_TRACER)
int perf_ftrace_event_register(struct ftrace_event_call *call, int perf_ftrace_event_register(struct ftrace_event_call *call,
enum trace_reg type, void *data); enum trace_reg type, void *data);
#else #else
#define perf_ftrace_event_register NULL #define perf_ftrace_event_register NULL
#endif /* CONFIG_FUNCTION_TRACER */ #endif
#endif /* _LINUX_KERNEL_TRACE_H */ #endif /* _LINUX_KERNEL_TRACE_H */

View File

@ -652,6 +652,8 @@ int trace_print_lat_context(struct trace_iterator *iter)
{ {
u64 next_ts; u64 next_ts;
int ret; int ret;
/* trace_find_next_entry will reset ent_size */
int ent_size = iter->ent_size;
struct trace_seq *s = &iter->seq; struct trace_seq *s = &iter->seq;
struct trace_entry *entry = iter->ent, struct trace_entry *entry = iter->ent,
*next_entry = trace_find_next_entry(iter, NULL, *next_entry = trace_find_next_entry(iter, NULL,
@ -660,6 +662,9 @@ int trace_print_lat_context(struct trace_iterator *iter)
unsigned long abs_usecs = ns2usecs(iter->ts - iter->tr->time_start); unsigned long abs_usecs = ns2usecs(iter->ts - iter->tr->time_start);
unsigned long rel_usecs; unsigned long rel_usecs;
/* Restore the original ent_size */
iter->ent_size = ent_size;
if (!next_entry) if (!next_entry)
next_ts = iter->ts; next_ts = iter->ts;
rel_usecs = ns2usecs(next_ts - iter->ts); rel_usecs = ns2usecs(next_ts - iter->ts);