From: Arnaldo Carvalho de Melo <acme@kernel.org>
To: Ingo Molnar <mingo@kernel.org>
Cc: linux-kernel@vger.kernel.org, Jiri Olsa <jolsa@kernel.org>,
David Ahern <dsahern@gmail.com>,
Namhyung Kim <namhyung@kernel.org>,
Peter Zijlstra <a.p.zijlstra@chello.nl>,
Arnaldo Carvalho de Melo <acme@redhat.com>
Subject: [PATCH 10/17] perf hists: Move sort__has_dso into struct perf_hpp_list
Date: Thu, 5 May 2016 21:29:33 -0300 [thread overview]
Message-ID: <1462494580-27164-11-git-send-email-acme@kernel.org> (raw)
In-Reply-To: <1462494580-27164-1-git-send-email-acme@kernel.org>
From: Jiri Olsa <jolsa@kernel.org>
Now we have sort dimensions private for struct hists, we need to make
dimension booleans hists specific as well.
Moving sort__has_dso into struct perf_hpp_list.
Signed-off-by: Jiri Olsa <jolsa@kernel.org>
Cc: David Ahern <dsahern@gmail.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Link: http://lkml.kernel.org/r/1462276488-26683-5-git-send-email-jolsa@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
tools/perf/ui/browsers/hists.c | 8 ++++----
tools/perf/util/hist.h | 1 +
tools/perf/util/sort.c | 7 +++----
tools/perf/util/sort.h | 1 -
4 files changed, 8 insertions(+), 9 deletions(-)
diff --git a/tools/perf/ui/browsers/hists.c b/tools/perf/ui/browsers/hists.c
index b66bf83ed883..6b2f95300e35 100644
--- a/tools/perf/ui/browsers/hists.c
+++ b/tools/perf/ui/browsers/hists.c
@@ -2380,7 +2380,7 @@ do_zoom_dso(struct hist_browser *browser, struct popup_action *act)
{
struct map *map = act->ms.map;
- if (!sort__has_dso || map == NULL)
+ if (!hists__has(browser->hists, dso) || map == NULL)
return 0;
if (browser->hists->dso_filter) {
@@ -2407,7 +2407,7 @@ static int
add_dso_opt(struct hist_browser *browser, struct popup_action *act,
char **optstr, struct map *map)
{
- if (!sort__has_dso || map == NULL)
+ if (!hists__has(browser->hists, dso) || map == NULL)
return 0;
if (asprintf(optstr, "Zoom %s %s DSO",
@@ -2429,10 +2429,10 @@ do_browse_map(struct hist_browser *browser __maybe_unused,
}
static int
-add_map_opt(struct hist_browser *browser __maybe_unused,
+add_map_opt(struct hist_browser *browser,
struct popup_action *act, char **optstr, struct map *map)
{
- if (!sort__has_dso || map == NULL)
+ if (!hists__has(browser->hists, dso) || map == NULL)
return 0;
if (asprintf(optstr, "Browse map details") < 0)
diff --git a/tools/perf/util/hist.h b/tools/perf/util/hist.h
index c3a77502e22b..4302f34f36ae 100644
--- a/tools/perf/util/hist.h
+++ b/tools/perf/util/hist.h
@@ -244,6 +244,7 @@ struct perf_hpp_list {
int need_collapse;
int parent;
int sym;
+ int dso;
};
extern struct perf_hpp_list perf_hpp_list;
diff --git a/tools/perf/util/sort.c b/tools/perf/util/sort.c
index 544ab376ac42..2446c39b5fa6 100644
--- a/tools/perf/util/sort.c
+++ b/tools/perf/util/sort.c
@@ -21,7 +21,6 @@ const char *sort_order;
const char *field_order;
regex_t ignore_callees_regex;
int have_ignore_callees = 0;
-int sort__has_dso = 0;
int sort__has_socket = 0;
int sort__has_thread = 0;
int sort__has_comm = 0;
@@ -241,7 +240,7 @@ sort__sym_cmp(struct hist_entry *left, struct hist_entry *right)
* comparing symbol address alone is not enough since it's a
* relative address within a dso.
*/
- if (!sort__has_dso) {
+ if (!hists__has(left->hists, dso) || hists__has(right->hists, dso)) {
ret = sort__dso_cmp(left, right);
if (ret != 0)
return ret;
@@ -2255,7 +2254,7 @@ static int sort_dimension__add(struct perf_hpp_list *list, const char *tok,
sd->entry->se_collapse = sort__sym_sort;
} else if (sd->entry == &sort_dso) {
- sort__has_dso = 1;
+ list->dso = 1;
} else if (sd->entry == &sort_socket) {
sort__has_socket = 1;
} else if (sd->entry == &sort_thread) {
@@ -2746,7 +2745,7 @@ void reset_output_field(void)
perf_hpp_list.need_collapse = 0;
perf_hpp_list.parent = 0;
perf_hpp_list.sym = 0;
- sort__has_dso = 0;
+ perf_hpp_list.dso = 0;
field_order = NULL;
sort_order = NULL;
diff --git a/tools/perf/util/sort.h b/tools/perf/util/sort.h
index 9a5e7d4a2cac..87d4addf92b5 100644
--- a/tools/perf/util/sort.h
+++ b/tools/perf/util/sort.h
@@ -31,7 +31,6 @@ extern const char *parent_pattern;
extern const char default_sort_order[];
extern regex_t ignore_callees_regex;
extern int have_ignore_callees;
-extern int sort__has_dso;
extern int sort__has_socket;
extern int sort__has_thread;
extern int sort__has_comm;
--
2.5.5
next prev parent reply other threads:[~2016-05-06 0:36 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-05-06 0:29 [GIT PULL 00/17] perf/core improvements and fixes Arnaldo Carvalho de Melo
2016-05-06 0:29 ` [PATCH 01/17] perf machine: Introduce number of threads member Arnaldo Carvalho de Melo
2016-05-06 0:29 ` [PATCH 02/17] perf tools: Add template for generating rbtree resort class Arnaldo Carvalho de Melo
2016-05-06 0:29 ` [PATCH 03/17] perf trace: Sort summary output by number of events Arnaldo Carvalho de Melo
2016-05-06 0:29 ` [PATCH 04/17] perf trace: Sort syscalls stats by msecs in --summary Arnaldo Carvalho de Melo
2016-05-06 0:29 ` [PATCH 05/17] perf trace: Do not show the runtime_ms for a thread when not collecting it Arnaldo Carvalho de Melo
2016-05-06 0:29 ` [PATCH 06/17] perf tools powerpc: Add support for generating bpf prologue Arnaldo Carvalho de Melo
2016-05-06 0:29 ` [PATCH 07/17] perf hists: Move sort__need_collapse into struct perf_hpp_list Arnaldo Carvalho de Melo
2016-05-06 0:29 ` [PATCH 08/17] perf hists: Move sort__has_parent " Arnaldo Carvalho de Melo
2016-05-06 0:29 ` [PATCH 09/17] perf hists: Move sort__has_sym " Arnaldo Carvalho de Melo
2016-05-06 0:29 ` Arnaldo Carvalho de Melo [this message]
2016-05-06 0:29 ` [PATCH 11/17] perf hists: Move sort__has_socket " Arnaldo Carvalho de Melo
2016-05-06 0:29 ` [PATCH 12/17] perf hists: Move sort__has_thread " Arnaldo Carvalho de Melo
2016-05-06 0:29 ` [PATCH 13/17] perf hists: Move sort__has_comm " Arnaldo Carvalho de Melo
2016-05-06 0:29 ` [PATCH 14/17] perf powerpc: Fix kprobe and kretprobe handling with kallsyms on ppc64le Arnaldo Carvalho de Melo
2016-05-06 0:29 ` [PATCH 15/17] perf symbols: Fix kallsyms perf test " Arnaldo Carvalho de Melo
2016-05-06 0:29 ` [PATCH 16/17] perf evlist: Extract perf_mmap__read() Arnaldo Carvalho de Melo
2016-05-06 0:29 ` [PATCH 17/17] perf evlist: Rename variable in perf_mmap__read() Arnaldo Carvalho de Melo
2016-05-06 6:36 ` [GIT PULL 00/17] perf/core improvements and fixes Ingo Molnar
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1462494580-27164-11-git-send-email-acme@kernel.org \
--to=acme@kernel.org \
--cc=a.p.zijlstra@chello.nl \
--cc=acme@redhat.com \
--cc=dsahern@gmail.com \
--cc=jolsa@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@kernel.org \
--cc=namhyung@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.