diff options
author | Arnaldo Carvalho de Melo <acme@redhat.com> | 2015-03-17 16:18:58 -0400 |
---|---|---|
committer | Arnaldo Carvalho de Melo <acme@redhat.com> | 2015-03-17 16:18:58 -0400 |
commit | 4c47f4fcd60a2f4153d6fe0c31650fbec112a1bd (patch) | |
tree | cdfc1d582eea5c7849b3437a404536036226ffa2 | |
parent | 446fb96c4a72ba390fbdecf27a88eaa50ea179dc (diff) |
perf hists: Remove hist_entry->used, not used anymore
Since hist_entry__delete() nowadays doesn't actually frees anything that
may be in use by the annotation code.
Eventually we will solve this for good by reference counting struct
symbol.
Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: Borislav Petkov <bp@suse.de>
Cc: David Ahern <dsahern@gmail.com>
Cc: Don Zickus <dzickus@redhat.com>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Stephane Eranian <eranian@google.com>
Link: http://lkml.kernel.org/n/tip-uldtgljymtrkns0knpiso5op@git.kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
-rw-r--r-- | tools/perf/ui/browsers/hists.c | 5 | ||||
-rw-r--r-- | tools/perf/util/hist.c | 8 | ||||
-rw-r--r-- | tools/perf/util/sort.h | 1 |
3 files changed, 1 insertions, 13 deletions
diff --git a/tools/perf/ui/browsers/hists.c b/tools/perf/ui/browsers/hists.c index ebd9d3afe2d6..c37e70ae0b20 100644 --- a/tools/perf/ui/browsers/hists.c +++ b/tools/perf/ui/browsers/hists.c | |||
@@ -1731,12 +1731,7 @@ do_annotate: | |||
1731 | if (!notes->src) | 1731 | if (!notes->src) |
1732 | continue; | 1732 | continue; |
1733 | 1733 | ||
1734 | /* | ||
1735 | * Don't let this be freed, say, by hists__decay_entry. | ||
1736 | */ | ||
1737 | he->used = true; | ||
1738 | err = hist_entry__tui_annotate(he, evsel, hbt); | 1734 | err = hist_entry__tui_annotate(he, evsel, hbt); |
1739 | he->used = false; | ||
1740 | /* | 1735 | /* |
1741 | * offer option to annotate the other branch source or target | 1736 | * offer option to annotate the other branch source or target |
1742 | * (if they exists) when returning from annotate | 1737 | * (if they exists) when returning from annotate |
diff --git a/tools/perf/util/hist.c b/tools/perf/util/hist.c index d9a6d35eda17..cc22b9158b93 100644 --- a/tools/perf/util/hist.c +++ b/tools/perf/util/hist.c | |||
@@ -263,15 +263,9 @@ void hists__decay_entries(struct hists *hists, bool zap_user, bool zap_kernel) | |||
263 | while (next) { | 263 | while (next) { |
264 | n = rb_entry(next, struct hist_entry, rb_node); | 264 | n = rb_entry(next, struct hist_entry, rb_node); |
265 | next = rb_next(&n->rb_node); | 265 | next = rb_next(&n->rb_node); |
266 | /* | ||
267 | * We may be annotating this, for instance, so keep it here in | ||
268 | * case some it gets new samples, we'll eventually free it when | ||
269 | * the user stops browsing and it agains gets fully decayed. | ||
270 | */ | ||
271 | if (((zap_user && n->level == '.') || | 266 | if (((zap_user && n->level == '.') || |
272 | (zap_kernel && n->level != '.') || | 267 | (zap_kernel && n->level != '.') || |
273 | hists__decay_entry(hists, n)) && | 268 | hists__decay_entry(hists, n))) { |
274 | !n->used) { | ||
275 | hists__delete_entry(hists, n); | 269 | hists__delete_entry(hists, n); |
276 | } | 270 | } |
277 | } | 271 | } |
diff --git a/tools/perf/util/sort.h b/tools/perf/util/sort.h index c03e4ff8beff..9c01b83eebca 100644 --- a/tools/perf/util/sort.h +++ b/tools/perf/util/sort.h | |||
@@ -102,7 +102,6 @@ struct hist_entry { | |||
102 | 102 | ||
103 | bool init_have_children; | 103 | bool init_have_children; |
104 | char level; | 104 | char level; |
105 | bool used; | ||
106 | u8 filtered; | 105 | u8 filtered; |
107 | char *srcline; | 106 | char *srcline; |
108 | struct symbol *parent; | 107 | struct symbol *parent; |