* [GIT PULL 0/5] perf/core fixes and improvements
@ 2012-01-03 20:16 Arnaldo Carvalho de Melo
2012-01-03 20:16 ` [PATCH 1/5] perf session: Remove impossible condition check Arnaldo Carvalho de Melo
` (5 more replies)
0 siblings, 6 replies; 7+ messages in thread
From: Arnaldo Carvalho de Melo @ 2012-01-03 20:16 UTC (permalink / raw)
To: Ingo Molnar
Cc: linux-kernel, Arnaldo Carvalho de Melo, Avi Kivity, Gleb Natapov,
Joerg Roedel, kvm, Namhyung Kim, Paul Mackerras, Peter Zijlstra,
arnaldo.melo
Hi Ingo,
Please consider pulling from:
git://github.com/acmel/linux.git perf/core
Regards,
- Arnaldo
Joerg Roedel (1):
perf kvm: Fix copy & paste error in description
Namhyung Kim (4):
perf session: Remove impossible condition check
perf stat: Introduce get_ratio_color() helper
perf top: Fix a memory leak
perf script: Kill script_spec__delete
tools/perf/builtin-kvm.c | 2 +-
tools/perf/builtin-script.c | 13 +------
tools/perf/builtin-stat.c | 91 ++++++++++++++++--------------------------
tools/perf/builtin-top.c | 1 -
tools/perf/util/session.c | 3 +-
5 files changed, 38 insertions(+), 72 deletions(-)
--
1.7.8.rc0.35.gee6df
^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH 1/5] perf session: Remove impossible condition check
2012-01-03 20:16 [GIT PULL 0/5] perf/core fixes and improvements Arnaldo Carvalho de Melo
@ 2012-01-03 20:16 ` Arnaldo Carvalho de Melo
2012-01-03 20:16 ` [PATCH 2/5] perf stat: Introduce get_ratio_color() helper Arnaldo Carvalho de Melo
` (4 subsequent siblings)
5 siblings, 0 replies; 7+ messages in thread
From: Arnaldo Carvalho de Melo @ 2012-01-03 20:16 UTC (permalink / raw)
To: Ingo Molnar
Cc: linux-kernel, Namhyung Kim, Paul Mackerras, Peter Zijlstra,
Arnaldo Carvalho de Melo
From: Namhyung Kim <namhyung@gmail.com>
The 'size' cannot be 0 because it was set to 8 on the above line in case
it was 0 and never changed.
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Link: http://lkml.kernel.org/r/1325000151-4463-1-git-send-email-namhyung@gmail.com
Signed-off-by: Namhyung Kim <namhyung@gmail.com>
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
tools/perf/util/session.c | 3 +--
1 files changed, 1 insertions(+), 2 deletions(-)
diff --git a/tools/perf/util/session.c b/tools/perf/util/session.c
index cc5e6be..b5ca255 100644
--- a/tools/perf/util/session.c
+++ b/tools/perf/util/session.c
@@ -1015,8 +1015,7 @@ more:
}
}
- if (size == 0 ||
- (skip = perf_session__process_event(self, &event, tool, head)) < 0) {
+ if ((skip = perf_session__process_event(self, &event, tool, head)) < 0) {
dump_printf("%#" PRIx64 " [%#x]: skipping unknown header type: %d\n",
head, event.header.size, event.header.type);
/*
--
1.7.8.rc0.35.gee6df
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH 2/5] perf stat: Introduce get_ratio_color() helper
2012-01-03 20:16 [GIT PULL 0/5] perf/core fixes and improvements Arnaldo Carvalho de Melo
2012-01-03 20:16 ` [PATCH 1/5] perf session: Remove impossible condition check Arnaldo Carvalho de Melo
@ 2012-01-03 20:16 ` Arnaldo Carvalho de Melo
2012-01-03 20:16 ` [PATCH 3/5] perf top: Fix a memory leak Arnaldo Carvalho de Melo
` (3 subsequent siblings)
5 siblings, 0 replies; 7+ messages in thread
From: Arnaldo Carvalho de Melo @ 2012-01-03 20:16 UTC (permalink / raw)
To: Ingo Molnar
Cc: linux-kernel, Namhyung Kim, Paul Mackerras, Peter Zijlstra,
Arnaldo Carvalho de Melo
From: Namhyung Kim <namhyung@gmail.com>
The get_ratio_color() returns appropriate color string based on @ratio.
It helps reducing code duplication.
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Link: http://lkml.kernel.org/r/1325000151-4463-2-git-send-email-namhyung@gmail.com
Signed-off-by: Namhyung Kim <namhyung@gmail.com>
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
tools/perf/builtin-stat.c | 91 +++++++++++++++++---------------------------
1 files changed, 35 insertions(+), 56 deletions(-)
diff --git a/tools/perf/builtin-stat.c b/tools/perf/builtin-stat.c
index cc53de3..f5d2a63 100644
--- a/tools/perf/builtin-stat.c
+++ b/tools/perf/builtin-stat.c
@@ -578,6 +578,33 @@ static void nsec_printout(int cpu, struct perf_evsel *evsel, double avg)
avg / avg_stats(&walltime_nsecs_stats));
}
+/* used for get_ratio_color() */
+enum grc_type {
+ GRC_STALLED_CYCLES_FE,
+ GRC_STALLED_CYCLES_BE,
+ GRC_CACHE_MISSES,
+ GRC_MAX_NR
+};
+
+static const char *get_ratio_color(enum grc_type type, double ratio)
+{
+ static const double grc_table[GRC_MAX_NR][3] = {
+ [GRC_STALLED_CYCLES_FE] = { 50.0, 30.0, 10.0 },
+ [GRC_STALLED_CYCLES_BE] = { 75.0, 50.0, 20.0 },
+ [GRC_CACHE_MISSES] = { 20.0, 10.0, 5.0 },
+ };
+ const char *color = PERF_COLOR_NORMAL;
+
+ if (ratio > grc_table[type][0])
+ color = PERF_COLOR_RED;
+ else if (ratio > grc_table[type][1])
+ color = PERF_COLOR_MAGENTA;
+ else if (ratio > grc_table[type][2])
+ color = PERF_COLOR_YELLOW;
+
+ return color;
+}
+
static void print_stalled_cycles_frontend(int cpu, struct perf_evsel *evsel __used, double avg)
{
double total, ratio = 0.0;
@@ -588,13 +615,7 @@ static void print_stalled_cycles_frontend(int cpu, struct perf_evsel *evsel __us
if (total)
ratio = avg / total * 100.0;
- color = PERF_COLOR_NORMAL;
- if (ratio > 50.0)
- color = PERF_COLOR_RED;
- else if (ratio > 30.0)
- color = PERF_COLOR_MAGENTA;
- else if (ratio > 10.0)
- color = PERF_COLOR_YELLOW;
+ color = get_ratio_color(GRC_STALLED_CYCLES_FE, ratio);
fprintf(output, " # ");
color_fprintf(output, color, "%6.2f%%", ratio);
@@ -611,13 +632,7 @@ static void print_stalled_cycles_backend(int cpu, struct perf_evsel *evsel __use
if (total)
ratio = avg / total * 100.0;
- color = PERF_COLOR_NORMAL;
- if (ratio > 75.0)
- color = PERF_COLOR_RED;
- else if (ratio > 50.0)
- color = PERF_COLOR_MAGENTA;
- else if (ratio > 20.0)
- color = PERF_COLOR_YELLOW;
+ color = get_ratio_color(GRC_STALLED_CYCLES_BE, ratio);
fprintf(output, " # ");
color_fprintf(output, color, "%6.2f%%", ratio);
@@ -634,13 +649,7 @@ static void print_branch_misses(int cpu, struct perf_evsel *evsel __used, double
if (total)
ratio = avg / total * 100.0;
- color = PERF_COLOR_NORMAL;
- if (ratio > 20.0)
- color = PERF_COLOR_RED;
- else if (ratio > 10.0)
- color = PERF_COLOR_MAGENTA;
- else if (ratio > 5.0)
- color = PERF_COLOR_YELLOW;
+ color = get_ratio_color(GRC_CACHE_MISSES, ratio);
fprintf(output, " # ");
color_fprintf(output, color, "%6.2f%%", ratio);
@@ -657,13 +666,7 @@ static void print_l1_dcache_misses(int cpu, struct perf_evsel *evsel __used, dou
if (total)
ratio = avg / total * 100.0;
- color = PERF_COLOR_NORMAL;
- if (ratio > 20.0)
- color = PERF_COLOR_RED;
- else if (ratio > 10.0)
- color = PERF_COLOR_MAGENTA;
- else if (ratio > 5.0)
- color = PERF_COLOR_YELLOW;
+ color = get_ratio_color(GRC_CACHE_MISSES, ratio);
fprintf(output, " # ");
color_fprintf(output, color, "%6.2f%%", ratio);
@@ -680,13 +683,7 @@ static void print_l1_icache_misses(int cpu, struct perf_evsel *evsel __used, dou
if (total)
ratio = avg / total * 100.0;
- color = PERF_COLOR_NORMAL;
- if (ratio > 20.0)
- color = PERF_COLOR_RED;
- else if (ratio > 10.0)
- color = PERF_COLOR_MAGENTA;
- else if (ratio > 5.0)
- color = PERF_COLOR_YELLOW;
+ color = get_ratio_color(GRC_CACHE_MISSES, ratio);
fprintf(output, " # ");
color_fprintf(output, color, "%6.2f%%", ratio);
@@ -703,13 +700,7 @@ static void print_dtlb_cache_misses(int cpu, struct perf_evsel *evsel __used, do
if (total)
ratio = avg / total * 100.0;
- color = PERF_COLOR_NORMAL;
- if (ratio > 20.0)
- color = PERF_COLOR_RED;
- else if (ratio > 10.0)
- color = PERF_COLOR_MAGENTA;
- else if (ratio > 5.0)
- color = PERF_COLOR_YELLOW;
+ color = get_ratio_color(GRC_CACHE_MISSES, ratio);
fprintf(output, " # ");
color_fprintf(output, color, "%6.2f%%", ratio);
@@ -726,13 +717,7 @@ static void print_itlb_cache_misses(int cpu, struct perf_evsel *evsel __used, do
if (total)
ratio = avg / total * 100.0;
- color = PERF_COLOR_NORMAL;
- if (ratio > 20.0)
- color = PERF_COLOR_RED;
- else if (ratio > 10.0)
- color = PERF_COLOR_MAGENTA;
- else if (ratio > 5.0)
- color = PERF_COLOR_YELLOW;
+ color = get_ratio_color(GRC_CACHE_MISSES, ratio);
fprintf(output, " # ");
color_fprintf(output, color, "%6.2f%%", ratio);
@@ -749,13 +734,7 @@ static void print_ll_cache_misses(int cpu, struct perf_evsel *evsel __used, doub
if (total)
ratio = avg / total * 100.0;
- color = PERF_COLOR_NORMAL;
- if (ratio > 20.0)
- color = PERF_COLOR_RED;
- else if (ratio > 10.0)
- color = PERF_COLOR_MAGENTA;
- else if (ratio > 5.0)
- color = PERF_COLOR_YELLOW;
+ color = get_ratio_color(GRC_CACHE_MISSES, ratio);
fprintf(output, " # ");
color_fprintf(output, color, "%6.2f%%", ratio);
--
1.7.8.rc0.35.gee6df
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH 3/5] perf top: Fix a memory leak
2012-01-03 20:16 [GIT PULL 0/5] perf/core fixes and improvements Arnaldo Carvalho de Melo
2012-01-03 20:16 ` [PATCH 1/5] perf session: Remove impossible condition check Arnaldo Carvalho de Melo
2012-01-03 20:16 ` [PATCH 2/5] perf stat: Introduce get_ratio_color() helper Arnaldo Carvalho de Melo
@ 2012-01-03 20:16 ` Arnaldo Carvalho de Melo
2012-01-03 20:16 ` [PATCH 4/5] perf script: Kill script_spec__delete Arnaldo Carvalho de Melo
` (2 subsequent siblings)
5 siblings, 0 replies; 7+ messages in thread
From: Arnaldo Carvalho de Melo @ 2012-01-03 20:16 UTC (permalink / raw)
To: Ingo Molnar
Cc: linux-kernel, Namhyung Kim, Paul Mackerras, Peter Zijlstra,
Arnaldo Carvalho de Melo
From: Namhyung Kim <namhyung@gmail.com>
The 'buf' should be freed when symbol wasn't found too.
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Link: http://lkml.kernel.org/r/1325000151-4463-3-git-send-email-namhyung@gmail.com
Signed-off-by: Namhyung Kim <namhyung@gmail.com>
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
tools/perf/builtin-top.c | 1 -
1 files changed, 0 insertions(+), 1 deletions(-)
diff --git a/tools/perf/builtin-top.c b/tools/perf/builtin-top.c
index c3836b9..4f81eeb 100644
--- a/tools/perf/builtin-top.c
+++ b/tools/perf/builtin-top.c
@@ -351,7 +351,6 @@ static void perf_top__prompt_symbol(struct perf_top *top, const char *msg)
if (!found) {
fprintf(stderr, "Sorry, %s is not active.\n", buf);
sleep(1);
- return;
} else
perf_top__parse_source(top, found);
--
1.7.8.rc0.35.gee6df
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH 4/5] perf script: Kill script_spec__delete
2012-01-03 20:16 [GIT PULL 0/5] perf/core fixes and improvements Arnaldo Carvalho de Melo
` (2 preceding siblings ...)
2012-01-03 20:16 ` [PATCH 3/5] perf top: Fix a memory leak Arnaldo Carvalho de Melo
@ 2012-01-03 20:16 ` Arnaldo Carvalho de Melo
2012-01-03 20:16 ` [PATCH 5/5] perf kvm: Fix copy & paste error in description Arnaldo Carvalho de Melo
2012-01-04 13:54 ` [GIT PULL 0/5] perf/core fixes and improvements Ingo Molnar
5 siblings, 0 replies; 7+ messages in thread
From: Arnaldo Carvalho de Melo @ 2012-01-03 20:16 UTC (permalink / raw)
To: Ingo Molnar
Cc: linux-kernel, Namhyung Kim, Paul Mackerras, Peter Zijlstra,
Arnaldo Carvalho de Melo
From: Namhyung Kim <namhyung@gmail.com>
As script_spec__delete() frees given struct script_spec it should not be
called if we failed to allocate the struct. Also it's the only caller of
the function, we can get rid of the function itself.
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Link: http://lkml.kernel.org/r/1325000151-4463-4-git-send-email-namhyung@gmail.com
Signed-off-by: Namhyung Kim <namhyung@gmail.com>
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
tools/perf/builtin-script.c | 13 +------------
1 files changed, 1 insertions(+), 12 deletions(-)
diff --git a/tools/perf/builtin-script.c b/tools/perf/builtin-script.c
index 3d4c0c7..fd1909a 100644
--- a/tools/perf/builtin-script.c
+++ b/tools/perf/builtin-script.c
@@ -536,12 +536,6 @@ static struct script_spec *script_spec__new(const char *spec,
return s;
}
-static void script_spec__delete(struct script_spec *s)
-{
- free(s->spec);
- free(s);
-}
-
static void script_spec__add(struct script_spec *s)
{
list_add_tail(&s->node, &script_specs);
@@ -567,16 +561,11 @@ static struct script_spec *script_spec__findnew(const char *spec,
s = script_spec__new(spec, ops);
if (!s)
- goto out_delete_spec;
+ return NULL;
script_spec__add(s);
return s;
-
-out_delete_spec:
- script_spec__delete(s);
-
- return NULL;
}
int script_spec_register(const char *spec, struct scripting_ops *ops)
--
1.7.8.rc0.35.gee6df
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH 5/5] perf kvm: Fix copy & paste error in description
2012-01-03 20:16 [GIT PULL 0/5] perf/core fixes and improvements Arnaldo Carvalho de Melo
` (3 preceding siblings ...)
2012-01-03 20:16 ` [PATCH 4/5] perf script: Kill script_spec__delete Arnaldo Carvalho de Melo
@ 2012-01-03 20:16 ` Arnaldo Carvalho de Melo
2012-01-04 13:54 ` [GIT PULL 0/5] perf/core fixes and improvements Ingo Molnar
5 siblings, 0 replies; 7+ messages in thread
From: Arnaldo Carvalho de Melo @ 2012-01-03 20:16 UTC (permalink / raw)
To: Ingo Molnar
Cc: linux-kernel, Joerg Roedel, Avi Kivity, Peter Zijlstra, kvm,
Gleb Natapov, Arnaldo Carvalho de Melo
From: Joerg Roedel <joerg.roedel@amd.com>
The --host option certainly enables host-data collection.
Cc: Avi Kivity <avi@redhat.com>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Joerg Roedel <joerg.roedel@amd.com>
Cc: kvm@vger.kernel.org
Link: http://lkml.kernel.org/r/1317816084-18026-5-git-send-email-gleb@redhat.com
Signed-off-by: Gleb Natapov <gleb@redhat.com>
Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
tools/perf/builtin-kvm.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/tools/perf/builtin-kvm.c b/tools/perf/builtin-kvm.c
index 34d1e85..032324a 100644
--- a/tools/perf/builtin-kvm.c
+++ b/tools/perf/builtin-kvm.c
@@ -38,7 +38,7 @@ static const struct option kvm_options[] = {
OPT_BOOLEAN(0, "guest", &perf_guest,
"Collect guest os data"),
OPT_BOOLEAN(0, "host", &perf_host,
- "Collect guest os data"),
+ "Collect host os data"),
OPT_STRING(0, "guestmount", &symbol_conf.guestmount, "directory",
"guest mount directory under which every guest os"
" instance has a subdir"),
--
1.7.8.rc0.35.gee6df
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [GIT PULL 0/5] perf/core fixes and improvements
2012-01-03 20:16 [GIT PULL 0/5] perf/core fixes and improvements Arnaldo Carvalho de Melo
` (4 preceding siblings ...)
2012-01-03 20:16 ` [PATCH 5/5] perf kvm: Fix copy & paste error in description Arnaldo Carvalho de Melo
@ 2012-01-04 13:54 ` Ingo Molnar
5 siblings, 0 replies; 7+ messages in thread
From: Ingo Molnar @ 2012-01-04 13:54 UTC (permalink / raw)
To: Arnaldo Carvalho de Melo
Cc: linux-kernel, Avi Kivity, Gleb Natapov, Joerg Roedel, kvm,
Namhyung Kim, Paul Mackerras, Peter Zijlstra, arnaldo.melo
* Arnaldo Carvalho de Melo <acme@infradead.org> wrote:
> Hi Ingo,
>
> Please consider pulling from:
>
> git://github.com/acmel/linux.git perf/core
>
> Regards,
>
> - Arnaldo
>
> Joerg Roedel (1):
> perf kvm: Fix copy & paste error in description
>
> Namhyung Kim (4):
> perf session: Remove impossible condition check
> perf stat: Introduce get_ratio_color() helper
> perf top: Fix a memory leak
> perf script: Kill script_spec__delete
>
> tools/perf/builtin-kvm.c | 2 +-
> tools/perf/builtin-script.c | 13 +------
> tools/perf/builtin-stat.c | 91 ++++++++++++++++--------------------------
> tools/perf/builtin-top.c | 1 -
> tools/perf/util/session.c | 3 +-
> 5 files changed, 38 insertions(+), 72 deletions(-)
Pulled, thanks a lot Arnaldo!
Ingo
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2012-01-04 13:56 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-01-03 20:16 [GIT PULL 0/5] perf/core fixes and improvements Arnaldo Carvalho de Melo
2012-01-03 20:16 ` [PATCH 1/5] perf session: Remove impossible condition check Arnaldo Carvalho de Melo
2012-01-03 20:16 ` [PATCH 2/5] perf stat: Introduce get_ratio_color() helper Arnaldo Carvalho de Melo
2012-01-03 20:16 ` [PATCH 3/5] perf top: Fix a memory leak Arnaldo Carvalho de Melo
2012-01-03 20:16 ` [PATCH 4/5] perf script: Kill script_spec__delete Arnaldo Carvalho de Melo
2012-01-03 20:16 ` [PATCH 5/5] perf kvm: Fix copy & paste error in description Arnaldo Carvalho de Melo
2012-01-04 13:54 ` [GIT PULL 0/5] perf/core fixes and improvements Ingo Molnar
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.