diff options
| -rw-r--r-- | tools/perf/builtin-annotate.c | 2 | ||||
| -rw-r--r-- | tools/perf/builtin-diff.c | 3 | ||||
| -rw-r--r-- | tools/perf/builtin-report.c | 3 | ||||
| -rw-r--r-- | tools/perf/util/hist.c | 6 | ||||
| -rw-r--r-- | tools/perf/util/hist.h | 3 |
5 files changed, 10 insertions, 7 deletions
diff --git a/tools/perf/builtin-annotate.c b/tools/perf/builtin-annotate.c index 5ec5de995872..4b734c731e27 100644 --- a/tools/perf/builtin-annotate.c +++ b/tools/perf/builtin-annotate.c | |||
| @@ -116,7 +116,7 @@ static int perf_session__add_hist_entry(struct perf_session *self, | |||
| 116 | return 0; | 116 | return 0; |
| 117 | } | 117 | } |
| 118 | 118 | ||
| 119 | he = __perf_session__add_hist_entry(self, al, NULL, count, &hit); | 119 | he = __perf_session__add_hist_entry(&self->hists, al, NULL, count, &hit); |
| 120 | if (he == NULL) | 120 | if (he == NULL) |
| 121 | return -ENOMEM; | 121 | return -ENOMEM; |
| 122 | 122 | ||
diff --git a/tools/perf/builtin-diff.c b/tools/perf/builtin-diff.c index 18b3f505f9db..20df7352629b 100644 --- a/tools/perf/builtin-diff.c +++ b/tools/perf/builtin-diff.c | |||
| @@ -26,7 +26,8 @@ static int perf_session__add_hist_entry(struct perf_session *self, | |||
| 26 | struct addr_location *al, u64 count) | 26 | struct addr_location *al, u64 count) |
| 27 | { | 27 | { |
| 28 | bool hit; | 28 | bool hit; |
| 29 | struct hist_entry *he = __perf_session__add_hist_entry(self, al, NULL, | 29 | struct hist_entry *he = __perf_session__add_hist_entry(&self->hists, |
| 30 | al, NULL, | ||
| 30 | count, &hit); | 31 | count, &hit); |
| 31 | if (he == NULL) | 32 | if (he == NULL) |
| 32 | return -ENOMEM; | 33 | return -ENOMEM; |
diff --git a/tools/perf/builtin-report.c b/tools/perf/builtin-report.c index cfc655d40bb7..cd16e6a7d6d0 100644 --- a/tools/perf/builtin-report.c +++ b/tools/perf/builtin-report.c | |||
| @@ -56,7 +56,8 @@ static int perf_session__add_hist_entry(struct perf_session *self, | |||
| 56 | if ((sort__has_parent || symbol_conf.use_callchain) && chain) | 56 | if ((sort__has_parent || symbol_conf.use_callchain) && chain) |
| 57 | syms = perf_session__resolve_callchain(self, al->thread, | 57 | syms = perf_session__resolve_callchain(self, al->thread, |
| 58 | chain, &parent); | 58 | chain, &parent); |
| 59 | he = __perf_session__add_hist_entry(self, al, parent, count, &hit); | 59 | he = __perf_session__add_hist_entry(&self->hists, al, parent, |
| 60 | count, &hit); | ||
| 60 | if (he == NULL) | 61 | if (he == NULL) |
| 61 | return -ENOMEM; | 62 | return -ENOMEM; |
| 62 | 63 | ||
diff --git a/tools/perf/util/hist.c b/tools/perf/util/hist.c index e8daf5ca6fd2..55dd9115d1b4 100644 --- a/tools/perf/util/hist.c +++ b/tools/perf/util/hist.c | |||
| @@ -12,12 +12,12 @@ struct callchain_param callchain_param = { | |||
| 12 | * histogram, sorted on item, collects counts | 12 | * histogram, sorted on item, collects counts |
| 13 | */ | 13 | */ |
| 14 | 14 | ||
| 15 | struct hist_entry *__perf_session__add_hist_entry(struct perf_session *self, | 15 | struct hist_entry *__perf_session__add_hist_entry(struct rb_root *hists, |
| 16 | struct addr_location *al, | 16 | struct addr_location *al, |
| 17 | struct symbol *sym_parent, | 17 | struct symbol *sym_parent, |
| 18 | u64 count, bool *hit) | 18 | u64 count, bool *hit) |
| 19 | { | 19 | { |
| 20 | struct rb_node **p = &self->hists.rb_node; | 20 | struct rb_node **p = &hists->rb_node; |
| 21 | struct rb_node *parent = NULL; | 21 | struct rb_node *parent = NULL; |
| 22 | struct hist_entry *he; | 22 | struct hist_entry *he; |
| 23 | struct hist_entry entry = { | 23 | struct hist_entry entry = { |
| @@ -53,7 +53,7 @@ struct hist_entry *__perf_session__add_hist_entry(struct perf_session *self, | |||
| 53 | return NULL; | 53 | return NULL; |
| 54 | *he = entry; | 54 | *he = entry; |
| 55 | rb_link_node(&he->rb_node, parent, p); | 55 | rb_link_node(&he->rb_node, parent, p); |
| 56 | rb_insert_color(&he->rb_node, &self->hists); | 56 | rb_insert_color(&he->rb_node, hists); |
| 57 | *hit = false; | 57 | *hit = false; |
| 58 | return he; | 58 | return he; |
| 59 | } | 59 | } |
diff --git a/tools/perf/util/hist.h b/tools/perf/util/hist.h index e5f99b24048b..7b48590c3ee8 100644 --- a/tools/perf/util/hist.h +++ b/tools/perf/util/hist.h | |||
| @@ -10,8 +10,9 @@ struct perf_session; | |||
| 10 | struct hist_entry; | 10 | struct hist_entry; |
| 11 | struct addr_location; | 11 | struct addr_location; |
| 12 | struct symbol; | 12 | struct symbol; |
| 13 | struct rb_root; | ||
| 13 | 14 | ||
| 14 | struct hist_entry *__perf_session__add_hist_entry(struct perf_session *self, | 15 | struct hist_entry *__perf_session__add_hist_entry(struct rb_root *hists, |
| 15 | struct addr_location *al, | 16 | struct addr_location *al, |
| 16 | struct symbol *parent, | 17 | struct symbol *parent, |
| 17 | u64 count, bool *hit); | 18 | u64 count, bool *hit); |
