aboutsummaryrefslogtreecommitdiffstats
path: root/tools/perf/ui
diff options
context:
space:
mode:
authorNamhyung Kim <namhyung.kim@lge.com>2013-03-05 00:53:26 -0500
committerArnaldo Carvalho de Melo <acme@redhat.com>2013-03-15 12:06:05 -0400
commit759ff497e0e6749437b6723f8d26de0b1833c199 (patch)
treee8105fb758da21ac4a796ee669d21efa12b1aabf /tools/perf/ui
parentb1dd443296b4f8c6869eba790eec950f80392aea (diff)
perf evsel: Introduce perf_evsel__is_group_event() helper
The perf_evsel__is_group_event function is for checking whether given evsel needs event group view support or not. Please note that it's different to the existing perf_evsel__is_group_leader() which checks only the given evsel is a leader or a standalone (i.e. non-group) event regardless of event group feature. Signed-off-by: Namhyung Kim <namhyung@kernel.org> Cc: Andi Kleen <andi@firstfloor.org> Cc: Ingo Molnar <mingo@kernel.org> Cc: Jiri Olsa <jolsa@redhat.com> Cc: Paul Mackerras <paulus@samba.org> Cc: Pekka Enberg <penberg@kernel.org> Cc: Peter Zijlstra <a.p.zijlstra@chello.nl> Link: http://lkml.kernel.org/r/1362462812-30885-7-git-send-email-namhyung@kernel.org Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Diffstat (limited to 'tools/perf/ui')
-rw-r--r--tools/perf/ui/browsers/hists.c4
-rw-r--r--tools/perf/ui/gtk/hists.c7
-rw-r--r--tools/perf/ui/hist.c7
3 files changed, 6 insertions, 12 deletions
diff --git a/tools/perf/ui/browsers/hists.c b/tools/perf/ui/browsers/hists.c
index 0e125e1543dc..a5843fd6ab51 100644
--- a/tools/perf/ui/browsers/hists.c
+++ b/tools/perf/ui/browsers/hists.c
@@ -1193,7 +1193,7 @@ static int hists__browser_title(struct hists *hists, char *bf, size_t size,
1193 char buf[512]; 1193 char buf[512];
1194 size_t buflen = sizeof(buf); 1194 size_t buflen = sizeof(buf);
1195 1195
1196 if (symbol_conf.event_group && evsel->nr_members > 1) { 1196 if (perf_evsel__is_group_event(evsel)) {
1197 struct perf_evsel *pos; 1197 struct perf_evsel *pos;
1198 1198
1199 perf_evsel__group_desc(evsel, buf, buflen); 1199 perf_evsel__group_desc(evsel, buf, buflen);
@@ -1709,7 +1709,7 @@ static void perf_evsel_menu__write(struct ui_browser *browser,
1709 ui_browser__set_color(browser, current_entry ? HE_COLORSET_SELECTED : 1709 ui_browser__set_color(browser, current_entry ? HE_COLORSET_SELECTED :
1710 HE_COLORSET_NORMAL); 1710 HE_COLORSET_NORMAL);
1711 1711
1712 if (symbol_conf.event_group && evsel->nr_members > 1) { 1712 if (perf_evsel__is_group_event(evsel)) {
1713 struct perf_evsel *pos; 1713 struct perf_evsel *pos;
1714 1714
1715 ev_name = perf_evsel__group_name(evsel); 1715 ev_name = perf_evsel__group_name(evsel);
diff --git a/tools/perf/ui/gtk/hists.c b/tools/perf/ui/gtk/hists.c
index 1e764a8ad259..6f259b3d14e2 100644
--- a/tools/perf/ui/gtk/hists.c
+++ b/tools/perf/ui/gtk/hists.c
@@ -32,21 +32,18 @@ static int __hpp__color_fmt(struct perf_hpp *hpp, struct hist_entry *he,
32 int ret; 32 int ret;
33 double percent = 0.0; 33 double percent = 0.0;
34 struct hists *hists = he->hists; 34 struct hists *hists = he->hists;
35 struct perf_evsel *evsel = hists_to_evsel(hists);
35 36
36 if (hists->stats.total_period) 37 if (hists->stats.total_period)
37 percent = 100.0 * get_field(he) / hists->stats.total_period; 38 percent = 100.0 * get_field(he) / hists->stats.total_period;
38 39
39 ret = __percent_color_snprintf(hpp->buf, hpp->size, percent); 40 ret = __percent_color_snprintf(hpp->buf, hpp->size, percent);
40 41
41 if (symbol_conf.event_group) { 42 if (perf_evsel__is_group_event(evsel)) {
42 int prev_idx, idx_delta; 43 int prev_idx, idx_delta;
43 struct perf_evsel *evsel = hists_to_evsel(hists);
44 struct hist_entry *pair; 44 struct hist_entry *pair;
45 int nr_members = evsel->nr_members; 45 int nr_members = evsel->nr_members;
46 46
47 if (nr_members <= 1)
48 return ret;
49
50 prev_idx = perf_evsel__group_idx(evsel); 47 prev_idx = perf_evsel__group_idx(evsel);
51 48
52 list_for_each_entry(pair, &he->pairs.head, pairs.node) { 49 list_for_each_entry(pair, &he->pairs.head, pairs.node) {
diff --git a/tools/perf/ui/hist.c b/tools/perf/ui/hist.c
index d671e63aa351..4bf91b09d62d 100644
--- a/tools/perf/ui/hist.c
+++ b/tools/perf/ui/hist.c
@@ -16,6 +16,7 @@ static int __hpp__fmt(struct perf_hpp *hpp, struct hist_entry *he,
16{ 16{
17 int ret; 17 int ret;
18 struct hists *hists = he->hists; 18 struct hists *hists = he->hists;
19 struct perf_evsel *evsel = hists_to_evsel(hists);
19 20
20 if (fmt_percent) { 21 if (fmt_percent) {
21 double percent = 0.0; 22 double percent = 0.0;
@@ -28,15 +29,11 @@ static int __hpp__fmt(struct perf_hpp *hpp, struct hist_entry *he,
28 } else 29 } else
29 ret = print_fn(hpp->buf, hpp->size, fmt, get_field(he)); 30 ret = print_fn(hpp->buf, hpp->size, fmt, get_field(he));
30 31
31 if (symbol_conf.event_group) { 32 if (perf_evsel__is_group_event(evsel)) {
32 int prev_idx, idx_delta; 33 int prev_idx, idx_delta;
33 struct perf_evsel *evsel = hists_to_evsel(hists);
34 struct hist_entry *pair; 34 struct hist_entry *pair;
35 int nr_members = evsel->nr_members; 35 int nr_members = evsel->nr_members;
36 36
37 if (nr_members <= 1)
38 return ret;
39
40 prev_idx = perf_evsel__group_idx(evsel); 37 prev_idx = perf_evsel__group_idx(evsel);
41 38
42 list_for_each_entry(pair, &he->pairs.head, pairs.node) { 39 list_for_each_entry(pair, &he->pairs.head, pairs.node) {