Merge branches 'tracing/ftrace', 'tracing/fastboot', 'tracing/nmisafe' and 'tracing/urgent' into tracing/core
This commit is contained in:
@ -1231,17 +1231,20 @@ static void s_stop(struct seq_file *m, void *p)
|
||||
mutex_unlock(&trace_types_lock);
|
||||
}
|
||||
|
||||
#define KRETPROBE_MSG "[unknown/kretprobe'd]"
|
||||
|
||||
#ifdef CONFIG_KRETPROBES
|
||||
static inline int kretprobed(unsigned long addr)
|
||||
static inline const char *kretprobed(const char *name)
|
||||
{
|
||||
return addr == (unsigned long)kretprobe_trampoline;
|
||||
static const char tramp_name[] = "kretprobe_trampoline";
|
||||
int size = sizeof(tramp_name);
|
||||
|
||||
if (strncmp(tramp_name, name, size) == 0)
|
||||
return "[unknown/kretprobe'd]";
|
||||
return name;
|
||||
}
|
||||
#else
|
||||
static inline int kretprobed(unsigned long addr)
|
||||
static inline const char *kretprobed(const char *name)
|
||||
{
|
||||
return 0;
|
||||
return name;
|
||||
}
|
||||
#endif /* CONFIG_KRETPROBES */
|
||||
|
||||
@ -1250,10 +1253,13 @@ seq_print_sym_short(struct trace_seq *s, const char *fmt, unsigned long address)
|
||||
{
|
||||
#ifdef CONFIG_KALLSYMS
|
||||
char str[KSYM_SYMBOL_LEN];
|
||||
const char *name;
|
||||
|
||||
kallsyms_lookup(address, NULL, NULL, NULL, str);
|
||||
|
||||
return trace_seq_printf(s, fmt, str);
|
||||
name = kretprobed(str);
|
||||
|
||||
return trace_seq_printf(s, fmt, name);
|
||||
#endif
|
||||
return 1;
|
||||
}
|
||||
@ -1264,9 +1270,12 @@ seq_print_sym_offset(struct trace_seq *s, const char *fmt,
|
||||
{
|
||||
#ifdef CONFIG_KALLSYMS
|
||||
char str[KSYM_SYMBOL_LEN];
|
||||
const char *name;
|
||||
|
||||
sprint_symbol(str, address);
|
||||
return trace_seq_printf(s, fmt, str);
|
||||
name = kretprobed(str);
|
||||
|
||||
return trace_seq_printf(s, fmt, name);
|
||||
#endif
|
||||
return 1;
|
||||
}
|
||||
@ -1520,10 +1529,7 @@ print_lat_fmt(struct trace_iterator *iter, unsigned int trace_idx, int cpu)
|
||||
|
||||
seq_print_ip_sym(s, field->ip, sym_flags);
|
||||
trace_seq_puts(s, " (");
|
||||
if (kretprobed(field->parent_ip))
|
||||
trace_seq_puts(s, KRETPROBE_MSG);
|
||||
else
|
||||
seq_print_ip_sym(s, field->parent_ip, sym_flags);
|
||||
seq_print_ip_sym(s, field->parent_ip, sym_flags);
|
||||
trace_seq_puts(s, ")\n");
|
||||
break;
|
||||
}
|
||||
@ -1639,12 +1645,9 @@ static enum print_line_t print_trace_fmt(struct trace_iterator *iter)
|
||||
ret = trace_seq_printf(s, " <-");
|
||||
if (!ret)
|
||||
return TRACE_TYPE_PARTIAL_LINE;
|
||||
if (kretprobed(field->parent_ip))
|
||||
ret = trace_seq_puts(s, KRETPROBE_MSG);
|
||||
else
|
||||
ret = seq_print_ip_sym(s,
|
||||
field->parent_ip,
|
||||
sym_flags);
|
||||
ret = seq_print_ip_sym(s,
|
||||
field->parent_ip,
|
||||
sym_flags);
|
||||
if (!ret)
|
||||
return TRACE_TYPE_PARTIAL_LINE;
|
||||
}
|
||||
@ -1895,7 +1898,7 @@ static enum print_line_t print_bin_fmt(struct trace_iterator *iter)
|
||||
return TRACE_TYPE_HANDLED;
|
||||
|
||||
SEQ_PUT_FIELD_RET(s, entry->pid);
|
||||
SEQ_PUT_FIELD_RET(s, iter->cpu);
|
||||
SEQ_PUT_FIELD_RET(s, entry->cpu);
|
||||
SEQ_PUT_FIELD_RET(s, iter->ts);
|
||||
|
||||
switch (entry->type) {
|
||||
|
Reference in New Issue
Block a user