diff options
author | Ingo Molnar <mingo@elte.hu> | 2010-11-26 09:07:02 -0500 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2010-11-26 09:07:02 -0500 |
commit | 6c869e772c72d509d0db243a56c205ef48a29baf (patch) | |
tree | 9a290f1742526a8816f94560cb09bc0a09c910de /tools | |
parent | e4e91ac410356da3a518188f371e9d3b52ee38ee (diff) | |
parent | ee6dcfa40a50fe12a3ae0fb4d2653c66c3ed6556 (diff) |
Merge branch 'perf/urgent' into perf/core
Conflicts:
arch/x86/kernel/apic/hw_nmi.c
Merge reason: Resolve conflict, queue up dependent patch.
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'tools')
-rw-r--r-- | tools/perf/builtin-record.c | 17 | ||||
-rw-r--r-- | tools/perf/util/symbol.c | 4 |
2 files changed, 12 insertions, 9 deletions
diff --git a/tools/perf/builtin-record.c b/tools/perf/builtin-record.c index d9dd47885218..3d2cb4899807 100644 --- a/tools/perf/builtin-record.c +++ b/tools/perf/builtin-record.c | |||
@@ -697,17 +697,18 @@ static int __cmd_record(int argc, const char **argv) | |||
697 | if (err < 0) | 697 | if (err < 0) |
698 | err = event__synthesize_kernel_mmap(process_synthesized_event, | 698 | err = event__synthesize_kernel_mmap(process_synthesized_event, |
699 | session, machine, "_stext"); | 699 | session, machine, "_stext"); |
700 | if (err < 0) { | 700 | if (err < 0) |
701 | pr_err("Couldn't record kernel reference relocation symbol.\n"); | 701 | pr_err("Couldn't record kernel reference relocation symbol\n" |
702 | return err; | 702 | "Symbol resolution may be skewed if relocation was used (e.g. kexec).\n" |
703 | } | 703 | "Check /proc/kallsyms permission or run as root.\n"); |
704 | 704 | ||
705 | err = event__synthesize_modules(process_synthesized_event, | 705 | err = event__synthesize_modules(process_synthesized_event, |
706 | session, machine); | 706 | session, machine); |
707 | if (err < 0) { | 707 | if (err < 0) |
708 | pr_err("Couldn't record kernel reference relocation symbol.\n"); | 708 | pr_err("Couldn't record kernel module information.\n" |
709 | return err; | 709 | "Symbol resolution may be skewed if relocation was used (e.g. kexec).\n" |
710 | } | 710 | "Check /proc/modules permission or run as root.\n"); |
711 | |||
711 | if (perf_guest) | 712 | if (perf_guest) |
712 | perf_session__process_machines(session, event__synthesize_guest_os); | 713 | perf_session__process_machines(session, event__synthesize_guest_os); |
713 | 714 | ||
diff --git a/tools/perf/util/symbol.c b/tools/perf/util/symbol.c index b39f499e575a..0500895a45af 100644 --- a/tools/perf/util/symbol.c +++ b/tools/perf/util/symbol.c | |||
@@ -295,7 +295,9 @@ static void symbols__insert_by_name(struct rb_root *self, struct symbol *sym) | |||
295 | { | 295 | { |
296 | struct rb_node **p = &self->rb_node; | 296 | struct rb_node **p = &self->rb_node; |
297 | struct rb_node *parent = NULL; | 297 | struct rb_node *parent = NULL; |
298 | struct symbol_name_rb_node *symn = ((void *)sym) - sizeof(*parent), *s; | 298 | struct symbol_name_rb_node *symn, *s; |
299 | |||
300 | symn = container_of(sym, struct symbol_name_rb_node, sym); | ||
299 | 301 | ||
300 | while (*p != NULL) { | 302 | while (*p != NULL) { |
301 | parent = *p; | 303 | parent = *p; |