summaryrefslogtreecommitdiffstats
path: root/Documentation/perf_counter/util/symbol.h
diff options
context:
space:
mode:
authorArnaldo Carvalho de Melo2009-05-28 19:55:04 +0200
committerIngo Molnar2009-05-28 23:25:42 +0200
commita2928c42a5d69328c3578b41bd4d72f6658cf7dc (patch)
tree09cf963c18e03482183cdf0b82a23a74b7722f6a /Documentation/perf_counter/util/symbol.h
parentperf_counter: Fix race in attaching counters to tasks and exiting (diff)
downloadkernel-qcow2-linux-a2928c42a5d69328c3578b41bd4d72f6658cf7dc.tar.gz
kernel-qcow2-linux-a2928c42a5d69328c3578b41bd4d72f6658cf7dc.tar.xz
kernel-qcow2-linux-a2928c42a5d69328c3578b41bd4d72f6658cf7dc.zip
perf_counter tools: Move symbol resolution classes from report to libperf
Will be used by perf top as well. Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com> Cc: Paul Mackerras <paulus@samba.org> Cc: Mike Galbraith <efault@gmx.de> Cc: Steven Rostedt <rostedt@goodmis.org> Cc: Peter Zijlstra <a.p.zijlstra@chello.nl> LKML-Reference: <20090528175504.GC4747@ghostprotocols.net> Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'Documentation/perf_counter/util/symbol.h')
-rw-r--r--Documentation/perf_counter/util/symbol.h33
1 files changed, 33 insertions, 0 deletions
diff --git a/Documentation/perf_counter/util/symbol.h b/Documentation/perf_counter/util/symbol.h
new file mode 100644
index 000000000000..6dffe76a28f0
--- /dev/null
+++ b/Documentation/perf_counter/util/symbol.h
@@ -0,0 +1,33 @@
+#ifndef _PERF_SYMBOL_
+#define _PERF_SYMBOL_ 1
+
+#include <linux/types.h>
+#include "list.h"
+#include "rbtree.h"
+
+struct symbol {
+ struct rb_node rb_node;
+ __u64 start;
+ __u64 end;
+ char name[0];
+};
+
+struct dso {
+ struct list_head node;
+ struct rb_root syms;
+ char name[0];
+};
+
+struct dso *dso__new(const char *name);
+void dso__delete(struct dso *self);
+
+struct symbol *dso__find_symbol(struct dso *self, uint64_t ip);
+
+int dso__load_kallsyms(struct dso *self);
+int dso__load_vmlinux(struct dso *self, const char *vmlinux);
+int dso__load(struct dso *self);
+
+size_t dso__fprintf(struct dso *self, FILE *fp);
+
+void symbol__init(void);
+#endif /* _PERF_SYMBOL_ */