perf hists: Remove hist_entry->used, not used anymore
authorArnaldo Carvalho de Melo <acme@redhat.com>
Tue, 17 Mar 2015 20:18:58 +0000 (17:18 -0300)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Tue, 17 Mar 2015 20:18:58 +0000 (17:18 -0300)
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>
tools/perf/ui/browsers/hists.c
tools/perf/util/hist.c
tools/perf/util/sort.h

index ebd9d3afe2d6dc34a9ea8ee94f38e7459a597270..c37e70ae0b201cbf59cf7485bbf5470a6304cb41 100644 (file)
@@ -1731,12 +1731,7 @@ do_annotate:
                        if (!notes->src)
                                continue;
 
-                       /*
-                        * Don't let this be freed, say, by hists__decay_entry.
-                        */
-                       he->used = true;
                        err = hist_entry__tui_annotate(he, evsel, hbt);
-                       he->used = false;
                        /*
                         * offer option to annotate the other branch source or target
                         * (if they exists) when returning from annotate
index d9a6d35eda17967f44e3e2f8a8b51b72bff012ce..cc22b9158b93c41fd0d44cd451ba189c56bc19dd 100644 (file)
@@ -263,15 +263,9 @@ void hists__decay_entries(struct hists *hists, bool zap_user, bool zap_kernel)
        while (next) {
                n = rb_entry(next, struct hist_entry, rb_node);
                next = rb_next(&n->rb_node);
-               /*
-                * We may be annotating this, for instance, so keep it here in
-                * case some it gets new samples, we'll eventually free it when
-                * the user stops browsing and it agains gets fully decayed.
-                */
                if (((zap_user && n->level == '.') ||
                     (zap_kernel && n->level != '.') ||
-                    hists__decay_entry(hists, n)) &&
-                   !n->used) {
+                    hists__decay_entry(hists, n))) {
                        hists__delete_entry(hists, n);
                }
        }
index c03e4ff8beffe083ab19769d91a7e57d6f70d126..9c01b83eebca1e706abe0ebb994d5b9630edff06 100644 (file)
@@ -102,7 +102,6 @@ struct hist_entry {
 
        bool                    init_have_children;
        char                    level;
-       bool                    used;
        u8                      filtered;
        char                    *srcline;
        struct symbol           *parent;