]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
perf symbols: Store if there is a filter in place
authorArnaldo Carvalho de Melo <acme@redhat.com>
Mon, 13 Jul 2015 11:21:57 +0000 (08:21 -0300)
committerLuis Henriques <luis.henriques@canonical.com>
Tue, 11 Aug 2015 08:57:25 +0000 (09:57 +0100)
commit 0bc2f2f7d080561cc484d2d0a162a9396bed3383 upstream.

When setting yup the symbols library we setup several filter lists,
for dsos, comms, symbols, etc, and there is code that, if there are
filters, do certain operations, like recalculate the number of non
filtered histogram entries in the top/report TUI.

But they were considering just the "Zoom" filters, when they need to
take into account as well the above mentioned filters (perf top --comms,
--dsos, etc).

So store in symbol_conf.has_filter true if any of those filters is in
place.

Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: Borislav Petkov <bp@suse.de>
Cc: David Ahern <dsahern@gmail.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-f5edfmhq69vfvs1kmikq1wep@git.kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
[ luis: backported to 3.16: adjusted context ]
Signed-off-by: Luis Henriques <luis.henriques@canonical.com>
tools/perf/util/symbol.c
tools/perf/util/symbol.h

index 7b9096f29cdbf7f8c2afabb041e2563b0e70c0da..f8bdba0971ccb7b34deae9450588f21ffa7df6b2 100644 (file)
@@ -1786,6 +1786,8 @@ int setup_list(struct strlist **list, const char *list_str,
                pr_err("problems parsing %s list\n", list_name);
                return -1;
        }
+
+       symbol_conf.has_filter = true;
        return 0;
 }
 
index 615c752dd7673600b33f8e051f35ba85ce1cd866..5df02af0280b1feabbddd35e80ab66e9a5680a5a 100644 (file)
@@ -118,7 +118,8 @@ struct symbol_conf {
                        annotate_src,
                        event_group,
                        demangle,
-                       filter_relative;
+                       filter_relative,
+                       has_filter;
        const char      *vmlinux_name,
                        *kallsyms_name,
                        *source_prefix,