aboutsummaryrefslogtreecommitdiffstats
path: root/tools/perf/util/sort.h
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2012-10-12 21:20:11 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2012-10-12 21:20:11 -0400
commitade0899b298ba2c43bfd6abd8cbc2545944cde0c (patch)
treea448dfb440b3b958b6306bb43620cd5d76f504bf /tools/perf/util/sort.h
parent871a0596cb2f51b57dc583d1a7c4be0186582fe7 (diff)
parent95cf59ea72331d0093010543b8951bb43f262cac (diff)
Merge branch 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull perf updates from Ingo Molnar: "This tree includes some late late perf items that missed the first round: tools: - Bash auto completion improvements, now we can auto complete the tools long options, tracepoint event names, etc, from Namhyung Kim. - Look up thread using tid instead of pid in 'perf sched'. - Move global variables into a perf_kvm struct, from David Ahern. - Hists refactorings, preparatory for improved 'diff' command, from Jiri Olsa. - Hists refactorings, preparatory for event group viewieng work, from Namhyung Kim. - Remove double negation on optional feature macro definitions, from Namhyung Kim. - Remove several cases of needless global variables, on most builtins. - misc fixes kernel: - sysfs support for IBS on AMD CPUs, from Robert Richter. - Support for an upcoming Intel CPU, the Xeon-Phi / Knights Corner HPC blade PMU, from Vince Weaver. - misc fixes" * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (46 commits) perf: Fix perf_cgroup_switch for sw-events perf: Clarify perf_cpu_context::active_pmu usage by renaming it to ::unique_pmu perf/AMD/IBS: Add sysfs support perf hists: Add more helpers for hist entry stat perf hists: Move he->stat.nr_events initialization to a template perf hists: Introduce struct he_stat perf diff: Removing the total_period argument from output code perf tool: Add hpp interface to enable/disable hpp column perf tools: Removing hists pair argument from output path perf hists: Separate overhead and baseline columns perf diff: Refactor diff displacement possition info perf hists: Add struct hists pointer to struct hist_entry perf tools: Complete tracepoint event names perf/x86: Add support for Intel Xeon-Phi Knights Corner PMU perf evlist: Remove some unused methods perf evlist: Introduce add_newtp method perf kvm: Move global variables into a perf_kvm struct perf tools: Convert to BACKTRACE_SUPPORT perf tools: Long option completion support for each subcommands perf tools: Complete long option names of perf command ...
Diffstat (limited to 'tools/perf/util/sort.h')
-rw-r--r--tools/perf/util/sort.h19
1 files changed, 12 insertions, 7 deletions
diff --git a/tools/perf/util/sort.h b/tools/perf/util/sort.h
index 12d634792de5..5786f323b597 100644
--- a/tools/perf/util/sort.h
+++ b/tools/perf/util/sort.h
@@ -43,6 +43,15 @@ extern struct sort_entry sort_sym_from;
43extern struct sort_entry sort_sym_to; 43extern struct sort_entry sort_sym_to;
44extern enum sort_type sort__first_dimension; 44extern enum sort_type sort__first_dimension;
45 45
46struct he_stat {
47 u64 period;
48 u64 period_sys;
49 u64 period_us;
50 u64 period_guest_sys;
51 u64 period_guest_us;
52 u32 nr_events;
53};
54
46/** 55/**
47 * struct hist_entry - histogram entry 56 * struct hist_entry - histogram entry
48 * 57 *
@@ -52,16 +61,11 @@ extern enum sort_type sort__first_dimension;
52struct hist_entry { 61struct hist_entry {
53 struct rb_node rb_node_in; 62 struct rb_node rb_node_in;
54 struct rb_node rb_node; 63 struct rb_node rb_node;
55 u64 period; 64 struct he_stat stat;
56 u64 period_sys;
57 u64 period_us;
58 u64 period_guest_sys;
59 u64 period_guest_us;
60 struct map_symbol ms; 65 struct map_symbol ms;
61 struct thread *thread; 66 struct thread *thread;
62 u64 ip; 67 u64 ip;
63 s32 cpu; 68 s32 cpu;
64 u32 nr_events;
65 69
66 /* XXX These two should move to some tree widget lib */ 70 /* XXX These two should move to some tree widget lib */
67 u16 row_offset; 71 u16 row_offset;
@@ -73,12 +77,13 @@ struct hist_entry {
73 u8 filtered; 77 u8 filtered;
74 char *srcline; 78 char *srcline;
75 struct symbol *parent; 79 struct symbol *parent;
80 unsigned long position;
76 union { 81 union {
77 unsigned long position;
78 struct hist_entry *pair; 82 struct hist_entry *pair;
79 struct rb_root sorted_chain; 83 struct rb_root sorted_chain;
80 }; 84 };
81 struct branch_info *branch_info; 85 struct branch_info *branch_info;
86 struct hists *hists;
82 struct callchain_root callchain[0]; 87 struct callchain_root callchain[0];
83}; 88};
84 89