* [GIT PULL 0/3] perf/core fixes and improvements
@ 2010-07-16 18:09 Arnaldo Carvalho de Melo
2010-07-16 18:09 ` [PATCH 1/3] perf probe: Fix error message if get_real_path() failed Arnaldo Carvalho de Melo
` (3 more replies)
0 siblings, 4 replies; 25+ messages in thread
From: Arnaldo Carvalho de Melo @ 2010-07-16 18:09 UTC (permalink / raw)
To: Ingo Molnar
Cc: linux-kernel, Arnaldo Carvalho de Melo, Chase Douglas,
Ingo Molnar, Masami Hiramatsu
Hi Ingo,
Please pull from:
git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux-2.6 perf/core
Regards,
- Arnaldo
Masami Hiramatsu (3):
perf probe: Fix error message if get_real_path() failed
perf probe: Support comp_dir to find an absolute source path
perf probe: Fix the logic of die_compare_name
tools/perf/util/probe-event.c | 69 ++++++++++++++++++++++++++++
tools/perf/util/probe-event.h | 1 +
tools/perf/util/probe-finder.c | 96 ++++++++++++++--------------------------
3 files changed, 103 insertions(+), 63 deletions(-)
^ permalink raw reply [flat|nested] 25+ messages in thread
* [PATCH 1/3] perf probe: Fix error message if get_real_path() failed
2010-07-16 18:09 [GIT PULL 0/3] perf/core fixes and improvements Arnaldo Carvalho de Melo
@ 2010-07-16 18:09 ` Arnaldo Carvalho de Melo
2010-07-16 18:09 ` [PATCH 2/3] perf probe: Support comp_dir to find an absolute source path Arnaldo Carvalho de Melo
` (2 subsequent siblings)
3 siblings, 0 replies; 25+ messages in thread
From: Arnaldo Carvalho de Melo @ 2010-07-16 18:09 UTC (permalink / raw)
To: Ingo Molnar
Cc: linux-kernel, Masami Hiramatsu, Chase Douglas,
Arnaldo Carvalho de Melo, Ingo Molnar
From: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
Perf probe -L shows incorrect error message (Dwarf error) if it fails to find
source file. This can confuse users.
# ./perf probe -s /nowhere -L vfs_read
Debuginfo analysis failed. (-2)
Error: Failed to show lines. (-2)
With this patch, it shows correct message.
# ./perf probe -s /nowhere -L vfs_read
Failed to find source file. (-2)
Error: Failed to show lines. (-2)
LKML-Reference: <4C36EBDB.4020308@hitachi.com>
Cc: Chase Douglas <chase.douglas@canonical.com>
Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
Cc: Ingo Molnar <mingo@elte.hu>
Acked-by: Chase Douglas <chase.douglas@canonical.com>
Signed-off-by: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
tools/perf/util/probe-event.c | 59 ++++++++++++++++++++++++++++++++++++++
tools/perf/util/probe-finder.c | 61 +++------------------------------------
2 files changed, 64 insertions(+), 56 deletions(-)
diff --git a/tools/perf/util/probe-event.c b/tools/perf/util/probe-event.c
index 09cf546..8d08e75 100644
--- a/tools/perf/util/probe-event.c
+++ b/tools/perf/util/probe-event.c
@@ -195,6 +195,55 @@ static int try_to_find_kprobe_trace_events(struct perf_probe_event *pev,
return ntevs;
}
+/*
+ * Find a src file from a DWARF tag path. Prepend optional source path prefix
+ * and chop off leading directories that do not exist. Result is passed back as
+ * a newly allocated path on success.
+ * Return 0 if file was found and readable, -errno otherwise.
+ */
+static int get_real_path(const char *raw_path, char **new_path)
+{
+ if (!symbol_conf.source_prefix) {
+ if (access(raw_path, R_OK) == 0) {
+ *new_path = strdup(raw_path);
+ return 0;
+ } else
+ return -errno;
+ }
+
+ *new_path = malloc((strlen(symbol_conf.source_prefix) +
+ strlen(raw_path) + 2));
+ if (!*new_path)
+ return -ENOMEM;
+
+ for (;;) {
+ sprintf(*new_path, "%s/%s", symbol_conf.source_prefix,
+ raw_path);
+
+ if (access(*new_path, R_OK) == 0)
+ return 0;
+
+ switch (errno) {
+ case ENAMETOOLONG:
+ case ENOENT:
+ case EROFS:
+ case EFAULT:
+ raw_path = strchr(++raw_path, '/');
+ if (!raw_path) {
+ free(*new_path);
+ *new_path = NULL;
+ return -ENOENT;
+ }
+ continue;
+
+ default:
+ free(*new_path);
+ *new_path = NULL;
+ return -errno;
+ }
+ }
+}
+
#define LINEBUF_SIZE 256
#define NR_ADDITIONAL_LINES 2
@@ -244,6 +293,7 @@ int show_line_range(struct line_range *lr)
struct line_node *ln;
FILE *fp;
int fd, ret;
+ char *tmp;
/* Search a line range */
ret = init_vmlinux();
@@ -266,6 +316,15 @@ int show_line_range(struct line_range *lr)
return ret;
}
+ /* Convert source file path */
+ tmp = lr->path;
+ ret = get_real_path(tmp, &lr->path);
+ free(tmp); /* Free old path */
+ if (ret < 0) {
+ pr_warning("Failed to find source file. (%d)\n", ret);
+ return ret;
+ }
+
setup_pager();
if (lr->function)
diff --git a/tools/perf/util/probe-finder.c b/tools/perf/util/probe-finder.c
index 3e64e1f..a934a36 100644
--- a/tools/perf/util/probe-finder.c
+++ b/tools/perf/util/probe-finder.c
@@ -58,55 +58,6 @@ static int strtailcmp(const char *s1, const char *s2)
return 0;
}
-/*
- * Find a src file from a DWARF tag path. Prepend optional source path prefix
- * and chop off leading directories that do not exist. Result is passed back as
- * a newly allocated path on success.
- * Return 0 if file was found and readable, -errno otherwise.
- */
-static int get_real_path(const char *raw_path, char **new_path)
-{
- if (!symbol_conf.source_prefix) {
- if (access(raw_path, R_OK) == 0) {
- *new_path = strdup(raw_path);
- return 0;
- } else
- return -errno;
- }
-
- *new_path = malloc((strlen(symbol_conf.source_prefix) +
- strlen(raw_path) + 2));
- if (!*new_path)
- return -ENOMEM;
-
- for (;;) {
- sprintf(*new_path, "%s/%s", symbol_conf.source_prefix,
- raw_path);
-
- if (access(*new_path, R_OK) == 0)
- return 0;
-
- switch (errno) {
- case ENAMETOOLONG:
- case ENOENT:
- case EROFS:
- case EFAULT:
- raw_path = strchr(++raw_path, '/');
- if (!raw_path) {
- free(*new_path);
- *new_path = NULL;
- return -ENOENT;
- }
- continue;
-
- default:
- free(*new_path);
- *new_path = NULL;
- return -errno;
- }
- }
-}
-
/* Line number list operations */
/* Add a line to line number list */
@@ -1256,13 +1207,11 @@ end:
static int line_range_add_line(const char *src, unsigned int lineno,
struct line_range *lr)
{
- int ret;
-
- /* Copy real path */
+ /* Copy source path */
if (!lr->path) {
- ret = get_real_path(src, &lr->path);
- if (ret != 0)
- return ret;
+ lr->path = strdup(src);
+ if (lr->path == NULL)
+ return -ENOMEM;
}
return line_list__add_line(&lr->line_list, lineno);
}
@@ -1460,7 +1409,7 @@ int find_line_range(int fd, struct line_range *lr)
}
off = noff;
}
- pr_debug("path: %lx\n", (unsigned long)lr->path);
+ pr_debug("path: %s\n", lr->path);
dwarf_end(dbg);
return (ret < 0) ? ret : lf.found;
--
1.6.2.5
^ permalink raw reply related [flat|nested] 25+ messages in thread
* [PATCH 2/3] perf probe: Support comp_dir to find an absolute source path
2010-07-16 18:09 [GIT PULL 0/3] perf/core fixes and improvements Arnaldo Carvalho de Melo
2010-07-16 18:09 ` [PATCH 1/3] perf probe: Fix error message if get_real_path() failed Arnaldo Carvalho de Melo
@ 2010-07-16 18:09 ` Arnaldo Carvalho de Melo
2010-07-16 18:09 ` [PATCH 3/3] perf probe: Fix the logic of die_compare_name Arnaldo Carvalho de Melo
2010-07-17 9:35 ` [GIT PULL 0/3] perf/core fixes and improvements Ingo Molnar
3 siblings, 0 replies; 25+ messages in thread
From: Arnaldo Carvalho de Melo @ 2010-07-16 18:09 UTC (permalink / raw)
To: Ingo Molnar
Cc: linux-kernel, Masami Hiramatsu, Ingo Molnar,
Arnaldo Carvalho de Melo
From: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
Gcc generates DW_AT_comp_dir and stores relative source path if building kernel
without O= option. In that case, perf probe --line sometimes doesn't work
without --source option, because it tries to access relative source path.
This adds DW_AT_comp_dir support to perf probe for finding an absolute source
path when no --source option.
LKML-Reference: <4C36EBE7.3060802@hitachi.com>
Cc: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
tools/perf/util/probe-event.c | 34 ++++++++++++++++++++++------------
tools/perf/util/probe-event.h | 1 +
tools/perf/util/probe-finder.c | 21 +++++++++++++++++++++
3 files changed, 44 insertions(+), 12 deletions(-)
diff --git a/tools/perf/util/probe-event.c b/tools/perf/util/probe-event.c
index 8d08e75..4445a1e 100644
--- a/tools/perf/util/probe-event.c
+++ b/tools/perf/util/probe-event.c
@@ -201,28 +201,38 @@ static int try_to_find_kprobe_trace_events(struct perf_probe_event *pev,
* a newly allocated path on success.
* Return 0 if file was found and readable, -errno otherwise.
*/
-static int get_real_path(const char *raw_path, char **new_path)
+static int get_real_path(const char *raw_path, const char *comp_dir,
+ char **new_path)
{
- if (!symbol_conf.source_prefix) {
- if (access(raw_path, R_OK) == 0) {
- *new_path = strdup(raw_path);
- return 0;
- } else
- return -errno;
+ const char *prefix = symbol_conf.source_prefix;
+
+ if (!prefix) {
+ if (raw_path[0] != '/' && comp_dir)
+ /* If not an absolute path, try to use comp_dir */
+ prefix = comp_dir;
+ else {
+ if (access(raw_path, R_OK) == 0) {
+ *new_path = strdup(raw_path);
+ return 0;
+ } else
+ return -errno;
+ }
}
- *new_path = malloc((strlen(symbol_conf.source_prefix) +
- strlen(raw_path) + 2));
+ *new_path = malloc((strlen(prefix) + strlen(raw_path) + 2));
if (!*new_path)
return -ENOMEM;
for (;;) {
- sprintf(*new_path, "%s/%s", symbol_conf.source_prefix,
- raw_path);
+ sprintf(*new_path, "%s/%s", prefix, raw_path);
if (access(*new_path, R_OK) == 0)
return 0;
+ if (!symbol_conf.source_prefix)
+ /* In case of searching comp_dir, don't retry */
+ return -errno;
+
switch (errno) {
case ENAMETOOLONG:
case ENOENT:
@@ -318,7 +328,7 @@ int show_line_range(struct line_range *lr)
/* Convert source file path */
tmp = lr->path;
- ret = get_real_path(tmp, &lr->path);
+ ret = get_real_path(tmp, lr->comp_dir, &lr->path);
free(tmp); /* Free old path */
if (ret < 0) {
pr_warning("Failed to find source file. (%d)\n", ret);
diff --git a/tools/perf/util/probe-event.h b/tools/perf/util/probe-event.h
index bc06d3e..ed362ac 100644
--- a/tools/perf/util/probe-event.h
+++ b/tools/perf/util/probe-event.h
@@ -86,6 +86,7 @@ struct line_range {
int end; /* End line number */
int offset; /* Start line offset */
char *path; /* Real path name */
+ char *comp_dir; /* Compile directory */
struct list_head line_list; /* Visible lines */
};
diff --git a/tools/perf/util/probe-finder.c b/tools/perf/util/probe-finder.c
index a934a36..37dcdb6 100644
--- a/tools/perf/util/probe-finder.c
+++ b/tools/perf/util/probe-finder.c
@@ -144,6 +144,15 @@ static const char *cu_find_realpath(Dwarf_Die *cu_die, const char *fname)
return src;
}
+/* Get DW_AT_comp_dir (should be NULL with older gcc) */
+static const char *cu_get_comp_dir(Dwarf_Die *cu_die)
+{
+ Dwarf_Attribute attr;
+ if (dwarf_attr(cu_die, DW_AT_comp_dir, &attr) == NULL)
+ return NULL;
+ return dwarf_formstring(&attr);
+}
+
/* Compare diename and tname */
static bool die_compare_name(Dwarf_Die *dw_die, const char *tname)
{
@@ -1374,6 +1383,7 @@ int find_line_range(int fd, struct line_range *lr)
size_t cuhl;
Dwarf_Die *diep;
Dwarf *dbg;
+ const char *comp_dir;
dbg = dwarf_begin(fd, DWARF_C_READ);
if (!dbg) {
@@ -1409,6 +1419,17 @@ int find_line_range(int fd, struct line_range *lr)
}
off = noff;
}
+
+ /* Store comp_dir */
+ if (lf.found) {
+ comp_dir = cu_get_comp_dir(&lf.cu_die);
+ if (comp_dir) {
+ lr->comp_dir = strdup(comp_dir);
+ if (!lr->comp_dir)
+ ret = -ENOMEM;
+ }
+ }
+
pr_debug("path: %s\n", lr->path);
dwarf_end(dbg);
--
1.6.2.5
^ permalink raw reply related [flat|nested] 25+ messages in thread
* [PATCH 3/3] perf probe: Fix the logic of die_compare_name
2010-07-16 18:09 [GIT PULL 0/3] perf/core fixes and improvements Arnaldo Carvalho de Melo
2010-07-16 18:09 ` [PATCH 1/3] perf probe: Fix error message if get_real_path() failed Arnaldo Carvalho de Melo
2010-07-16 18:09 ` [PATCH 2/3] perf probe: Support comp_dir to find an absolute source path Arnaldo Carvalho de Melo
@ 2010-07-16 18:09 ` Arnaldo Carvalho de Melo
2010-07-17 9:35 ` [GIT PULL 0/3] perf/core fixes and improvements Ingo Molnar
3 siblings, 0 replies; 25+ messages in thread
From: Arnaldo Carvalho de Melo @ 2010-07-16 18:09 UTC (permalink / raw)
To: Ingo Molnar
Cc: linux-kernel, Masami Hiramatsu, Arnaldo Carvalho de Melo,
Ingo Molnar
From: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
Invert the return value of die_compare_name(), because it returns a 'bool'
result which should be expeced true if the die's name is same as compared
string.
LKML-Reference: <4C36EBED.1000006@hitachi.com>
Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
Cc: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
tools/perf/util/probe-finder.c | 14 +++++++-------
1 files changed, 7 insertions(+), 7 deletions(-)
diff --git a/tools/perf/util/probe-finder.c b/tools/perf/util/probe-finder.c
index 37dcdb6..f88070e 100644
--- a/tools/perf/util/probe-finder.c
+++ b/tools/perf/util/probe-finder.c
@@ -158,7 +158,7 @@ static bool die_compare_name(Dwarf_Die *dw_die, const char *tname)
{
const char *name;
name = dwarf_diename(dw_die);
- return name ? strcmp(tname, name) : -1;
+ return name ? (strcmp(tname, name) == 0) : false;
}
/* Get type die, but skip qualifiers and typedef */
@@ -329,7 +329,7 @@ static int __die_find_variable_cb(Dwarf_Die *die_mem, void *data)
tag = dwarf_tag(die_mem);
if ((tag == DW_TAG_formal_parameter ||
tag == DW_TAG_variable) &&
- (die_compare_name(die_mem, name) == 0))
+ die_compare_name(die_mem, name))
return DIE_FIND_CB_FOUND;
return DIE_FIND_CB_CONTINUE;
@@ -348,7 +348,7 @@ static int __die_find_member_cb(Dwarf_Die *die_mem, void *data)
const char *name = data;
if ((dwarf_tag(die_mem) == DW_TAG_member) &&
- (die_compare_name(die_mem, name) == 0))
+ die_compare_name(die_mem, name))
return DIE_FIND_CB_FOUND;
return DIE_FIND_CB_SIBLING;
@@ -506,8 +506,8 @@ static int convert_variable_type(Dwarf_Die *vr_die,
return -ENOMEM;
}
}
- if (die_compare_name(&type, "char") != 0 &&
- die_compare_name(&type, "unsigned char") != 0) {
+ if (!die_compare_name(&type, "char") &&
+ !die_compare_name(&type, "unsigned char")) {
pr_warning("Failed to cast into string: "
"%s is not (unsigned) char *.",
dwarf_diename(vr_die));
@@ -1017,7 +1017,7 @@ static int probe_point_search_cb(Dwarf_Die *sp_die, void *data)
/* Check tag and diename */
if (dwarf_tag(sp_die) != DW_TAG_subprogram ||
- die_compare_name(sp_die, pp->function) != 0)
+ !die_compare_name(sp_die, pp->function))
return DWARF_CB_OK;
pf->fname = dwarf_decl_file(sp_die);
@@ -1340,7 +1340,7 @@ static int line_range_search_cb(Dwarf_Die *sp_die, void *data)
struct line_range *lr = lf->lr;
if (dwarf_tag(sp_die) == DW_TAG_subprogram &&
- die_compare_name(sp_die, lr->function) == 0) {
+ die_compare_name(sp_die, lr->function)) {
lf->fname = dwarf_decl_file(sp_die);
dwarf_decl_line(sp_die, &lr->offset);
pr_debug("fname: %s, lineno:%d\n", lf->fname, lr->offset);
--
1.6.2.5
^ permalink raw reply related [flat|nested] 25+ messages in thread
* Re: [GIT PULL 0/3] perf/core fixes and improvements
2010-07-16 18:09 [GIT PULL 0/3] perf/core fixes and improvements Arnaldo Carvalho de Melo
` (2 preceding siblings ...)
2010-07-16 18:09 ` [PATCH 3/3] perf probe: Fix the logic of die_compare_name Arnaldo Carvalho de Melo
@ 2010-07-17 9:35 ` Ingo Molnar
3 siblings, 0 replies; 25+ messages in thread
From: Ingo Molnar @ 2010-07-17 9:35 UTC (permalink / raw)
To: Arnaldo Carvalho de Melo; +Cc: linux-kernel, Chase Douglas, Masami Hiramatsu
* Arnaldo Carvalho de Melo <acme@infradead.org> wrote:
> Hi Ingo,
>
> Please pull from:
>
> git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux-2.6 perf/core
>
> Regards,
>
> - Arnaldo
>
> Masami Hiramatsu (3):
> perf probe: Fix error message if get_real_path() failed
> perf probe: Support comp_dir to find an absolute source path
> perf probe: Fix the logic of die_compare_name
>
> tools/perf/util/probe-event.c | 69 ++++++++++++++++++++++++++++
> tools/perf/util/probe-event.h | 1 +
> tools/perf/util/probe-finder.c | 96 ++++++++++++++--------------------------
> 3 files changed, 103 insertions(+), 63 deletions(-)
Pulled, thanks Arnaldo!
Ingo
^ permalink raw reply [flat|nested] 25+ messages in thread
* [GIT PULL 0/3] perf/core fixes and improvements
@ 2010-08-03 2:09 Arnaldo Carvalho de Melo
2010-08-03 5:44 ` Ingo Molnar
0 siblings, 1 reply; 25+ messages in thread
From: Arnaldo Carvalho de Melo @ 2010-08-03 2:09 UTC (permalink / raw)
To: Ingo Molnar
Cc: linux-kernel, Arnaldo Carvalho de Melo, Frederic Weisbecker,
Mike Galbraith, Peter Zijlstra, Stephane Eranian
Hi Ingo,
Please pull from:
git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux-2.6 perf/core
Regards,
- Arnaldo
Arnaldo Carvalho de Melo (3):
perf session: Free the ref_reloc_sym memory at the right place
perf session: Invalidate last_match when removing threads from rb_tree
perf tools: Don't keep unreferenced maps when unmaps are detected
tools/perf/util/hist.c | 2 +
tools/perf/util/map.c | 49 +++++++++++++++++++++++++++++---------------
tools/perf/util/map.h | 10 ++++++++-
tools/perf/util/session.c | 8 +++++++
tools/perf/util/symbol.c | 43 +++++++++++++++++++++++++++++++++++++++
tools/perf/util/symbol.h | 2 +
6 files changed, 96 insertions(+), 18 deletions(-)
^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: [GIT PULL 0/3] perf/core fixes and improvements
2010-08-03 2:09 Arnaldo Carvalho de Melo
@ 2010-08-03 5:44 ` Ingo Molnar
0 siblings, 0 replies; 25+ messages in thread
From: Ingo Molnar @ 2010-08-03 5:44 UTC (permalink / raw)
To: Arnaldo Carvalho de Melo
Cc: linux-kernel, Frederic Weisbecker, Mike Galbraith, Peter Zijlstra,
Stephane Eranian
* Arnaldo Carvalho de Melo <acme@infradead.org> wrote:
> Hi Ingo,
>
> Please pull from:
>
> git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux-2.6 perf/core
>
> Regards,
>
> - Arnaldo
>
> Arnaldo Carvalho de Melo (3):
> perf session: Free the ref_reloc_sym memory at the right place
> perf session: Invalidate last_match when removing threads from rb_tree
> perf tools: Don't keep unreferenced maps when unmaps are detected
>
> tools/perf/util/hist.c | 2 +
> tools/perf/util/map.c | 49 +++++++++++++++++++++++++++++---------------
> tools/perf/util/map.h | 10 ++++++++-
> tools/perf/util/session.c | 8 +++++++
> tools/perf/util/symbol.c | 43 +++++++++++++++++++++++++++++++++++++++
> tools/perf/util/symbol.h | 2 +
> 6 files changed, 96 insertions(+), 18 deletions(-)
Pulled, thanks Arnaldo!
Ingo
^ permalink raw reply [flat|nested] 25+ messages in thread
* [GIT PULL 0/3] perf/core fixes and improvements
@ 2010-08-04 21:26 Arnaldo Carvalho de Melo
2010-08-05 6:46 ` Ingo Molnar
0 siblings, 1 reply; 25+ messages in thread
From: Arnaldo Carvalho de Melo @ 2010-08-04 21:26 UTC (permalink / raw)
To: Ingo Molnar
Cc: linux-kernel, Arnaldo Carvalho de Melo, Anton Blanchard,
Dave Martin, Ingo Molnar, Masami Hiramatsu, Nicolas Pitre,
Srikar Dronamraju, Steven Rostedt, Will Deacon
Hi Ingo,
Please pull from:
git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux-2.6 perf/core
Regards,
- Arnaldo
Dave Martin (1):
perf events: Fix mmap offset determination
Srikar Dronamraju (2):
perf: expose event__process function
tracing/kprobes: unregister_trace_probe needs to be called under mutex
kernel/trace/trace_kprobe.c | 3 +++
tools/perf/builtin-top.c | 20 --------------------
tools/perf/util/event.c | 28 +++++++++++++++++++++-------
tools/perf/util/event.h | 1 +
4 files changed, 25 insertions(+), 27 deletions(-)
^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: [GIT PULL 0/3] perf/core fixes and improvements
2010-08-04 21:26 Arnaldo Carvalho de Melo
@ 2010-08-05 6:46 ` Ingo Molnar
0 siblings, 0 replies; 25+ messages in thread
From: Ingo Molnar @ 2010-08-05 6:46 UTC (permalink / raw)
To: Arnaldo Carvalho de Melo
Cc: linux-kernel, Anton Blanchard, Dave Martin, Masami Hiramatsu,
Nicolas Pitre, Srikar Dronamraju, Steven Rostedt, Will Deacon,
Frédéric Weisbecker, Peter Zijlstra, Thomas Gleixner
* Arnaldo Carvalho de Melo <acme@infradead.org> wrote:
>
> Hi Ingo,
>
> Please pull from:
>
> git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux-2.6 perf/core
>
> Regards,
>
> - Arnaldo
>
> Dave Martin (1):
> perf events: Fix mmap offset determination
>
> Srikar Dronamraju (2):
> perf: expose event__process function
> tracing/kprobes: unregister_trace_probe needs to be called under mutex
>
> kernel/trace/trace_kprobe.c | 3 +++
> tools/perf/builtin-top.c | 20 --------------------
> tools/perf/util/event.c | 28 +++++++++++++++++++++-------
> tools/perf/util/event.h | 1 +
> 4 files changed, 25 insertions(+), 27 deletions(-)
Pulled, thanks a lot Arnaldo!
Ingo
^ permalink raw reply [flat|nested] 25+ messages in thread
* [GIT PULL 0/3] perf/core fixes and improvements
@ 2010-08-12 20:45 Arnaldo Carvalho de Melo
0 siblings, 0 replies; 25+ messages in thread
From: Arnaldo Carvalho de Melo @ 2010-08-12 20:45 UTC (permalink / raw)
To: Ingo Molnar
Cc: linux-kernel, Arnaldo Carvalho de Melo, Frederic Weisbecker,
Mike Galbraith, Peter Zijlstra, Stephane Eranian
Hi Ingo,
Please pull from:
git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux-2.6 perf/core
Regards,
- Arnaldo
Arnaldo Carvalho de Melo (3):
perf ui browser: Return the exit key in all browsers
perf ui browser: Add routines to compactly specify exit keys
perf ui browser: Abstract some more slang operations
tools/perf/builtin-annotate.c | 17 ++--
tools/perf/util/ui/browser.c | 93 +++++++++++--------
tools/perf/util/ui/browser.h | 9 ++-
tools/perf/util/ui/browsers/annotate.c | 37 ++++----
tools/perf/util/ui/browsers/hists.c | 157 ++++++++++++++------------------
tools/perf/util/ui/browsers/map.c | 23 ++---
tools/perf/util/ui/util.c | 4 +-
tools/perf/util/util.h | 13 ---
8 files changed, 161 insertions(+), 192 deletions(-)
^ permalink raw reply [flat|nested] 25+ messages in thread
* [GIT PULL 0/3] perf/core fixes and improvements
@ 2010-12-22 22:36 Arnaldo Carvalho de Melo
2010-12-23 13:20 ` Ingo Molnar
0 siblings, 1 reply; 25+ messages in thread
From: Arnaldo Carvalho de Melo @ 2010-12-22 22:36 UTC (permalink / raw)
To: Ingo Molnar
Cc: linux-kernel, Arnaldo Carvalho de Melo, Franck Bui-Huu,
Frederic Weisbecker, Han Pingtian, H . Peter Anvin, Ingo Molnar,
Masami Hiramatsu, Mike Galbraith, Paul Mackerras, Peter Zijlstra,
Stephane Eranian, Thomas Gleixner, Arnaldo Carvalho de Melo
Hi Ingo,
Please consider pulling from:
git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux-2.6 perf/core
Regards,
- Arnaldo
Arnaldo Carvalho de Melo (2):
perf symbols: Improve kallsyms symbol end addr calculation
perf test: Look forward for symbol aliases
Franck Bui-Huu (1):
perf probe: Fix wrong warning in __show_one_line() if read(1) errors
happen
tools/perf/builtin-test.c | 23 ++++++++++++++---
tools/perf/util/event.c | 3 +-
tools/perf/util/probe-event.c | 2 +-
tools/perf/util/symbol.c | 56 ++++++++++++++++++++++++++++++----------
tools/perf/util/symbol.h | 2 +-
5 files changed, 65 insertions(+), 21 deletions(-)
^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: [GIT PULL 0/3] perf/core fixes and improvements
2010-12-22 22:36 Arnaldo Carvalho de Melo
@ 2010-12-23 13:20 ` Ingo Molnar
0 siblings, 0 replies; 25+ messages in thread
From: Ingo Molnar @ 2010-12-23 13:20 UTC (permalink / raw)
To: Arnaldo Carvalho de Melo
Cc: linux-kernel, Franck Bui-Huu, Frederic Weisbecker, Han Pingtian,
H . Peter Anvin, Masami Hiramatsu, Mike Galbraith, Paul Mackerras,
Peter Zijlstra, Stephane Eranian, Thomas Gleixner,
Arnaldo Carvalho de Melo
* Arnaldo Carvalho de Melo <acme@infradead.org> wrote:
> Hi Ingo,
>
> Please consider pulling from:
>
> git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux-2.6 perf/core
>
> Regards,
>
> - Arnaldo
>
> Arnaldo Carvalho de Melo (2):
> perf symbols: Improve kallsyms symbol end addr calculation
> perf test: Look forward for symbol aliases
>
> Franck Bui-Huu (1):
> perf probe: Fix wrong warning in __show_one_line() if read(1) errors
> happen
>
> tools/perf/builtin-test.c | 23 ++++++++++++++---
> tools/perf/util/event.c | 3 +-
> tools/perf/util/probe-event.c | 2 +-
> tools/perf/util/symbol.c | 56 ++++++++++++++++++++++++++++++----------
> tools/perf/util/symbol.h | 2 +-
> 5 files changed, 65 insertions(+), 21 deletions(-)
Pulled, thanks a lot Arnaldo!
Ingo
^ permalink raw reply [flat|nested] 25+ messages in thread
* [GIT PULL 0/3] perf/core fixes and improvements
@ 2011-03-23 22:52 Arnaldo Carvalho de Melo
2011-03-24 8:17 ` Ingo Molnar
0 siblings, 1 reply; 25+ messages in thread
From: Arnaldo Carvalho de Melo @ 2011-03-23 22:52 UTC (permalink / raw)
To: Ingo Molnar
Cc: linux-kernel, Arnaldo Carvalho de Melo, Arun Sharma, Avi Kivity,
Dave Martin, Frederic Weisbecker, Han Pingtian, Ingo Molnar,
Mike Galbraith, Paul Mackerras, Peter Zijlstra, Srikar Dronamraju,
Stephane Eranian, Tom Zanussi, Zhang Yanmin,
Arnaldo Carvalho de Melo
Hi Ingo,
Please consider pulling from:
git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux-2.6 perf/core
Regards,
- Arnaldo
Arnaldo Carvalho de Melo (3):
perf session: Pass evsel in event_ops->sample()
perf build-id: Add quirk to deal with perf.data file format breakage
perf symbols: Look at .dynsym again if .symtab not found
tools/perf/builtin-annotate.c | 18 ++-----
tools/perf/builtin-diff.c | 1 +
tools/perf/builtin-inject.c | 11 ++++-
tools/perf/builtin-kmem.c | 1 +
tools/perf/builtin-lock.c | 4 +-
tools/perf/builtin-report.c | 19 ++-----
tools/perf/builtin-sched.c | 1 +
tools/perf/builtin-script.c | 15 ++----
tools/perf/builtin-timechart.c | 11 ++++
tools/perf/util/build-id.c | 1 +
tools/perf/util/header.c | 57 +++++++++++++++++++-
tools/perf/util/hist.h | 1 +
.../perf/util/scripting-engines/trace-event-perl.c | 1 +
.../util/scripting-engines/trace-event-python.c | 1 +
tools/perf/util/session.c | 25 ++++++++-
tools/perf/util/session.h | 7 ++-
tools/perf/util/symbol.c | 25 +++++----
tools/perf/util/trace-event-scripting.c | 1 +
tools/perf/util/trace-event.h | 1 +
19 files changed, 142 insertions(+), 59 deletions(-)
^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: [GIT PULL 0/3] perf/core fixes and improvements
2011-03-23 22:52 Arnaldo Carvalho de Melo
@ 2011-03-24 8:17 ` Ingo Molnar
0 siblings, 0 replies; 25+ messages in thread
From: Ingo Molnar @ 2011-03-24 8:17 UTC (permalink / raw)
To: Arnaldo Carvalho de Melo
Cc: linux-kernel, Arun Sharma, Avi Kivity, Dave Martin,
Frederic Weisbecker, Han Pingtian, Mike Galbraith, Paul Mackerras,
Peter Zijlstra, Srikar Dronamraju, Stephane Eranian, Tom Zanussi,
Zhang Yanmin, Arnaldo Carvalho de Melo
* Arnaldo Carvalho de Melo <acme@infradead.org> wrote:
> Hi Ingo,
>
> Please consider pulling from:
>
> git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux-2.6 perf/core
>
> Regards,
>
> - Arnaldo
>
> Arnaldo Carvalho de Melo (3):
> perf session: Pass evsel in event_ops->sample()
> perf build-id: Add quirk to deal with perf.data file format breakage
> perf symbols: Look at .dynsym again if .symtab not found
>
> tools/perf/builtin-annotate.c | 18 ++-----
> tools/perf/builtin-diff.c | 1 +
> tools/perf/builtin-inject.c | 11 ++++-
> tools/perf/builtin-kmem.c | 1 +
> tools/perf/builtin-lock.c | 4 +-
> tools/perf/builtin-report.c | 19 ++-----
> tools/perf/builtin-sched.c | 1 +
> tools/perf/builtin-script.c | 15 ++----
> tools/perf/builtin-timechart.c | 11 ++++
> tools/perf/util/build-id.c | 1 +
> tools/perf/util/header.c | 57 +++++++++++++++++++-
> tools/perf/util/hist.h | 1 +
> .../perf/util/scripting-engines/trace-event-perl.c | 1 +
> .../util/scripting-engines/trace-event-python.c | 1 +
> tools/perf/util/session.c | 25 ++++++++-
> tools/perf/util/session.h | 7 ++-
> tools/perf/util/symbol.c | 25 +++++----
> tools/perf/util/trace-event-scripting.c | 1 +
> tools/perf/util/trace-event.h | 1 +
> 19 files changed, 142 insertions(+), 59 deletions(-)
Pulled, thanks a lot Arnaldo!
Ingo
^ permalink raw reply [flat|nested] 25+ messages in thread
* [GIT PULL 0/3] perf/core fixes and improvements
@ 2011-10-29 17:25 Arnaldo Carvalho de Melo
2011-10-30 11:04 ` Ingo Molnar
0 siblings, 1 reply; 25+ messages in thread
From: Arnaldo Carvalho de Melo @ 2011-10-29 17:25 UTC (permalink / raw)
To: Ingo Molnar
Cc: linux-kernel, Arnaldo Carvalho de Melo, David Ahern,
Frederic Weisbecker, Masami Hiramatsu, Mike Galbraith,
Paul Mackerras, Peter Zijlstra, Stephane Eranian, Steven Rostedt,
yrl.pp-manager.tt, arnaldo.melo
Hi Ingo,
Please consider pulling from:
git://github.com/acmel/linux.git perf/core
Regards,
- Arnaldo
Arnaldo Carvalho de Melo (2):
perf hists browser: Warn about lost events
perf report: Add progress bar when processing time ordered events
Masami Hiramatsu (1):
perf tools: Fix a typo of command name as trace-cmd
tools/perf/builtin-top.c | 41 +++++++++++++++++++++--------
tools/perf/util/hist.h | 1 +
tools/perf/util/session.c | 38 ++++++++++++++++++++++----
tools/perf/util/session.h | 1 +
tools/perf/util/top.h | 1 -
tools/perf/util/trace-event-info.c | 2 +-
tools/perf/util/ui/browser.c | 21 ++++++++++++---
tools/perf/util/ui/browser.h | 3 +-
tools/perf/util/ui/browsers/hists.c | 49 ++++++++++++++++++++++++++++++----
9 files changed, 127 insertions(+), 30 deletions(-)
^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: [GIT PULL 0/3] perf/core fixes and improvements
2011-10-29 17:25 Arnaldo Carvalho de Melo
@ 2011-10-30 11:04 ` Ingo Molnar
0 siblings, 0 replies; 25+ messages in thread
From: Ingo Molnar @ 2011-10-30 11:04 UTC (permalink / raw)
To: Arnaldo Carvalho de Melo
Cc: linux-kernel, David Ahern, Frederic Weisbecker, Masami Hiramatsu,
Mike Galbraith, Paul Mackerras, Peter Zijlstra, Stephane Eranian,
Steven Rostedt, yrl.pp-manager.tt, 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
>
> Arnaldo Carvalho de Melo (2):
> perf hists browser: Warn about lost events
> perf report: Add progress bar when processing time ordered events
>
> Masami Hiramatsu (1):
> perf tools: Fix a typo of command name as trace-cmd
>
> tools/perf/builtin-top.c | 41 +++++++++++++++++++++--------
> tools/perf/util/hist.h | 1 +
> tools/perf/util/session.c | 38 ++++++++++++++++++++++----
> tools/perf/util/session.h | 1 +
> tools/perf/util/top.h | 1 -
> tools/perf/util/trace-event-info.c | 2 +-
> tools/perf/util/ui/browser.c | 21 ++++++++++++---
> tools/perf/util/ui/browser.h | 3 +-
> tools/perf/util/ui/browsers/hists.c | 49 ++++++++++++++++++++++++++++++----
> 9 files changed, 127 insertions(+), 30 deletions(-)
Pulled, thanks a lot Arnaldo!
Ingo
^ permalink raw reply [flat|nested] 25+ messages in thread
* [GIT PULL 0/3] perf/core fixes and improvements
@ 2011-12-12 13:26 Arnaldo Carvalho de Melo
2011-12-12 17:24 ` Ingo Molnar
0 siblings, 1 reply; 25+ messages in thread
From: Arnaldo Carvalho de Melo @ 2011-12-12 13:26 UTC (permalink / raw)
To: Ingo Molnar
Cc: linux-kernel, Arnaldo Carvalho de Melo, Andrew Vagin, Arun Sharma,
David Ahern, devel, Paul Mackerras, Peter Zijlstra,
Robert Richter, arnaldo.melo
Hi Ingo,
Please consider pulling from:
git://github.com/acmel/linux.git perf/core
Regards,
- Arnaldo
Andrew Vagin (1):
perf tools: Add ability to synthesize event according to a sample
Robert Richter (2):
perf script: Fix mem leaks and NULL pointer checks around strdup()s
perf script: Implement option for system-wide profiling
tools/perf/builtin-script.c | 63 +++++++++++++++++++++-------------
tools/perf/util/event.h | 3 ++
tools/perf/util/evsel.c | 79 +++++++++++++++++++++++++++++++++++++++++++
tools/perf/util/session.h | 8 ++++
4 files changed, 129 insertions(+), 24 deletions(-)
--
1.7.8.rc0.35.gee6df
^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: [GIT PULL 0/3] perf/core fixes and improvements
2011-12-12 13:26 Arnaldo Carvalho de Melo
@ 2011-12-12 17:24 ` Ingo Molnar
0 siblings, 0 replies; 25+ messages in thread
From: Ingo Molnar @ 2011-12-12 17:24 UTC (permalink / raw)
To: Arnaldo Carvalho de Melo
Cc: linux-kernel, Andrew Vagin, Arun Sharma, David Ahern, devel,
Paul Mackerras, Peter Zijlstra, Robert Richter, 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
>
> Andrew Vagin (1):
> perf tools: Add ability to synthesize event according to a sample
>
> Robert Richter (2):
> perf script: Fix mem leaks and NULL pointer checks around strdup()s
> perf script: Implement option for system-wide profiling
>
> tools/perf/builtin-script.c | 63 +++++++++++++++++++++-------------
> tools/perf/util/event.h | 3 ++
> tools/perf/util/evsel.c | 79 +++++++++++++++++++++++++++++++++++++++++++
> tools/perf/util/session.h | 8 ++++
> 4 files changed, 129 insertions(+), 24 deletions(-)
Pulled, thanks a lot Arnaldo!
Ingo
^ permalink raw reply [flat|nested] 25+ messages in thread
* [GIT PULL 0/3] perf/core fixes and improvements
@ 2012-02-21 17:35 Arnaldo Carvalho de Melo
2012-02-22 10:12 ` Ingo Molnar
0 siblings, 1 reply; 25+ messages in thread
From: Arnaldo Carvalho de Melo @ 2012-02-21 17:35 UTC (permalink / raw)
To: Ingo Molnar
Cc: linux-kernel, Arnaldo Carvalho de Melo, Danny Kukawka,
Danny Kukawka, David Ahern, Eric Dumazet, Jovi Zhang,
Masami Hiramatsu, Paul Mackerras, Peter Zijlstra, Stefan Hajnoczi,
Stephane Eranian, Steven Rostedt, arnaldo.melo,
Arnaldo Carvalho de Melo
The following changes since commit 09bda4432a8a4d4db2b2b94697abc8d732a9ff73:
Merge branch 'tip/perf/core' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace into perf/core (2012-02-17 12:55:07 +0100)
are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux perf-core-for-mingo
for you to fetch changes up to 6b1bee9035d430c4b4f586df6df4b3f840e89b5b:
perf tools: fix broken perf record -a mode (2012-02-21 15:05:43 -0200)
----------------------------------------------------------------
Important fix from Stephane for system wide monitoring, problem
introduced recently in the pid list patches.
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
----------------------------------------------------------------
Danny Kukawka (1):
perf tools: Remove duplicated string.h includes
Stefan Hajnoczi (1):
perf tools: Allow expressions in __print_symbolic() fields
Stephane Eranian (1):
perf tools: fix broken perf record -a mode
tools/perf/util/probe-event.c | 1 -
tools/perf/util/thread_map.c | 2 +-
tools/perf/util/trace-event-parse.c | 12 ++++++++++++
3 files changed, 13 insertions(+), 2 deletions(-)
^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: [GIT PULL 0/3] perf/core fixes and improvements
2012-02-21 17:35 Arnaldo Carvalho de Melo
@ 2012-02-22 10:12 ` Ingo Molnar
0 siblings, 0 replies; 25+ messages in thread
From: Ingo Molnar @ 2012-02-22 10:12 UTC (permalink / raw)
To: Arnaldo Carvalho de Melo
Cc: linux-kernel, Danny Kukawka, Danny Kukawka, David Ahern,
Eric Dumazet, Jovi Zhang, Masami Hiramatsu, Paul Mackerras,
Peter Zijlstra, Stefan Hajnoczi, Stephane Eranian, Steven Rostedt,
arnaldo.melo, Arnaldo Carvalho de Melo
* Arnaldo Carvalho de Melo <acme@infradead.org> wrote:
> The following changes since commit 09bda4432a8a4d4db2b2b94697abc8d732a9ff73:
>
> Merge branch 'tip/perf/core' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace into perf/core (2012-02-17 12:55:07 +0100)
>
> are available in the git repository at:
>
>
> git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux perf-core-for-mingo
>
> for you to fetch changes up to 6b1bee9035d430c4b4f586df6df4b3f840e89b5b:
>
> perf tools: fix broken perf record -a mode (2012-02-21 15:05:43 -0200)
>
> ----------------------------------------------------------------
> Important fix from Stephane for system wide monitoring, problem
> introduced recently in the pid list patches.
>
> Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
>
> ----------------------------------------------------------------
> Danny Kukawka (1):
> perf tools: Remove duplicated string.h includes
>
> Stefan Hajnoczi (1):
> perf tools: Allow expressions in __print_symbolic() fields
>
> Stephane Eranian (1):
> perf tools: fix broken perf record -a mode
>
> tools/perf/util/probe-event.c | 1 -
> tools/perf/util/thread_map.c | 2 +-
> tools/perf/util/trace-event-parse.c | 12 ++++++++++++
> 3 files changed, 13 insertions(+), 2 deletions(-)
Pulled, thanks a lot Arnaldo!
Ingo
^ permalink raw reply [flat|nested] 25+ messages in thread
* [GIT PULL 0/3] perf/core fixes and improvements
@ 2012-03-19 19:12 Arnaldo Carvalho de Melo
2012-03-19 19:47 ` Ingo Molnar
0 siblings, 1 reply; 25+ messages in thread
From: Arnaldo Carvalho de Melo @ 2012-03-19 19:12 UTC (permalink / raw)
To: Ingo Molnar
Cc: linux-kernel, Arnaldo Carvalho de Melo, Colin Walters,
Namhyung Kim, Namhyung Kim, Paul Mackerras, Pekka Enberg,
Peter Zijlstra, arnaldo.melo, Arnaldo Carvalho de Melo
Hi Ingo,
Please consider pulling, now there are two pull request worth of
changesets in my perf/core branch,
- Arnaldo
The following changes since commit 6db6127c4dad634ab98709b81e2f2770890b0d53:
perf report: Treat an argument as a symbol filter (2012-03-16 16:44:36 -0300)
are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux tags/perf-core-for-mingo
for you to fetch changes up to c31a94570552dcaa517c4f7a043ffd28835016be:
perf report: Add a simple GTK2-based 'perf report' browser (2012-03-19 15:13:29 -0300)
----------------------------------------------------------------
Fixes for the last batch from Namhyung and the initial GTK report browser
from Pekka.
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
----------------------------------------------------------------
Namhyung Kim (2):
perf ui browser: Clean lines inside of the input window
perf report: Document --symbol-filter option
Pekka Enberg (1):
perf report: Add a simple GTK2-based 'perf report' browser
tools/perf/Documentation/perf-report.txt | 5 +
tools/perf/Makefile | 14 +++
tools/perf/builtin-report.c | 19 ++-
tools/perf/config/feature-tests.mak | 15 +++
tools/perf/util/cache.h | 12 ++
tools/perf/util/gtk/browser.c | 189 ++++++++++++++++++++++++++++++
tools/perf/util/gtk/gtk.h | 8 ++
tools/perf/util/hist.h | 17 +++
tools/perf/util/ui/util.c | 10 +-
9 files changed, 282 insertions(+), 7 deletions(-)
create mode 100644 tools/perf/util/gtk/browser.c
create mode 100644 tools/perf/util/gtk/gtk.h
^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: [GIT PULL 0/3] perf/core fixes and improvements
2012-03-19 19:12 Arnaldo Carvalho de Melo
@ 2012-03-19 19:47 ` Ingo Molnar
2012-03-19 19:56 ` Ingo Molnar
` (2 more replies)
0 siblings, 3 replies; 25+ messages in thread
From: Ingo Molnar @ 2012-03-19 19:47 UTC (permalink / raw)
To: Arnaldo Carvalho de Melo
Cc: linux-kernel, Colin Walters, Namhyung Kim, Namhyung Kim,
Paul Mackerras, Pekka Enberg, Peter Zijlstra, arnaldo.melo,
Arnaldo Carvalho de Melo
* Arnaldo Carvalho de Melo <acme@infradead.org> wrote:
> Hi Ingo,
>
> Please consider pulling, now there are two pull request worth of
> changesets in my perf/core branch,
>
> - Arnaldo
>
> The following changes since commit 6db6127c4dad634ab98709b81e2f2770890b0d53:
>
> perf report: Treat an argument as a symbol filter (2012-03-16 16:44:36 -0300)
>
> are available in the git repository at:
>
> git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux tags/perf-core-for-mingo
>
> for you to fetch changes up to c31a94570552dcaa517c4f7a043ffd28835016be:
>
> perf report: Add a simple GTK2-based 'perf report' browser (2012-03-19 15:13:29 -0300)
>
> ----------------------------------------------------------------
> Fixes for the last batch from Namhyung and the initial GTK report browser
> from Pekka.
>
> Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
>
> ----------------------------------------------------------------
> Namhyung Kim (2):
> perf ui browser: Clean lines inside of the input window
> perf report: Document --symbol-filter option
>
> Pekka Enberg (1):
> perf report: Add a simple GTK2-based 'perf report' browser
>
> tools/perf/Documentation/perf-report.txt | 5 +
> tools/perf/Makefile | 14 +++
> tools/perf/builtin-report.c | 19 ++-
> tools/perf/config/feature-tests.mak | 15 +++
> tools/perf/util/cache.h | 12 ++
> tools/perf/util/gtk/browser.c | 189 ++++++++++++++++++++++++++++++
> tools/perf/util/gtk/gtk.h | 8 ++
> tools/perf/util/hist.h | 17 +++
> tools/perf/util/ui/util.c | 10 +-
> 9 files changed, 282 insertions(+), 7 deletions(-)
> create mode 100644 tools/perf/util/gtk/browser.c
> create mode 100644 tools/perf/util/gtk/gtk.h
Pulled, thanks Arnaldo!
I noticed that there's no help text for GTK support - how will a
user find that 'perf report --gtk' will do something nice?
Another detail is that if GTK support is not compiled in:
Makefile:515: GTK2 not found, disables GTK2 support. Please install gtk2-devel or libgtk2.0-dev
then the --gtk output is not very informative:
earth5:~/tip/tools/perf> perf report --gtk
earth5:~/tip/tools/perf>
:-)
A third detail, I do have gtk2-devel installed:
Package gtk2-devel-2.24.10-1.fc17.x86_64 already installed and latest version
yet I got the above message.
It is not easy to figure out *why* a feature test failed,
unfortunately. It would be nice if V=1 or something like that
would output the failure.
I applied the hack below and ran the gtk testcase, which gave:
earth5:~/tip/tools/perf> . ./test.4273.sh
In file included from /usr/lib64/glib-2.0/include/glibconfig.h:9:0,
from /usr/include/glib-2.0/glib/gtypes.h:34,
from /usr/include/glib-2.0/glib/galloca.h:34,
from /usr/include/glib-2.0/glib.h:32,
from /usr/include/glib-2.0/gobject/gbinding.h:30,
from /usr/include/glib-2.0/glib-object.h:25,
from /usr/include/glib-2.0/gio/gioenums.h:30,
from /usr/include/glib-2.0/gio/giotypes.h:30,
from /usr/include/glib-2.0/gio/gio.h:28,
from /usr/include/gtk-2.0/gdk/gdkapplaunchcontext.h:30,
from /usr/include/gtk-2.0/gdk/gdk.h:32,
from /usr/include/gtk-2.0/gtk/gtk.h:32,
from test.4273.c:2:
/usr/include/glib-2.0/glib/gmacros.h:346:7: error: "_MSC_VER" is not defined [-Werror=undef]
cc1: all warnings being treated as errors
Which allowed me to fix the feature test and the gtk.h include
file wrapper via the second patch below.
And then I was greeted by the GTK report window on 'perf report
--gtk' ;-)
Thanks,
Ingo
diff --git a/tools/perf/config/utilities.mak b/tools/perf/config/utilities.mak
index 8046182..68cf795 100644
--- a/tools/perf/config/utilities.mak
+++ b/tools/perf/config/utilities.mak
@@ -183,6 +183,8 @@ _gea_err = $(if $(1),$(error Please set '$(1)' appropriately))
# Usage: option = $(call try-cc, source-to-build, cc-options)
try-cc = $(shell sh -c \
'TMP="$(OUTPUT)$(TMPOUT).$$$$"; \
+ echo "$(1)" > test.$$$$.c; \
+ echo $(CC) -x c test.$$$$.c $(2) -o "$$TMP" > test.$$$$.sh; \
echo "$(1)" | \
$(CC) -x c - $(2) -o "$$TMP" > /dev/null 2>&1 && echo y; \
rm -f "$$TMP"')
Signed-off-by: Ingo Molnar <mingo@elte.hu>
diff --git a/tools/perf/config/feature-tests.mak b/tools/perf/config/feature-tests.mak
index d9084e0..ae8b471 100644
--- a/tools/perf/config/feature-tests.mak
+++ b/tools/perf/config/feature-tests.mak
@@ -68,7 +68,9 @@ endif
ifndef NO_GTK2
define SOURCE_GTK2
#pragma GCC diagnostic ignored \"-Wstrict-prototypes\"
+#pragma GCC diagnostic ignored \"-Wundef\"
#include <gtk/gtk.h>
+#pragma GCC diagnostic error \"-Wundef\"
#pragma GCC diagnostic error \"-Wstrict-prototypes\"
int main(int argc, char *argv[])
diff --git a/tools/perf/util/gtk/gtk.h b/tools/perf/util/gtk/gtk.h
index 75177ee..c7a941f 100644
--- a/tools/perf/util/gtk/gtk.h
+++ b/tools/perf/util/gtk/gtk.h
@@ -2,7 +2,9 @@
#define _PERF_GTK_H_ 1
#pragma GCC diagnostic ignored "-Wstrict-prototypes"
+#pragma GCC diagnostic ignored "-Wundef"
#include <gtk/gtk.h>
+#pragma GCC diagnostic error "-Wundef"
#pragma GCC diagnostic error "-Wstrict-prototypes"
#endif /* _PERF_GTK_H_ */
^ permalink raw reply related [flat|nested] 25+ messages in thread
* Re: [GIT PULL 0/3] perf/core fixes and improvements
2012-03-19 19:47 ` Ingo Molnar
@ 2012-03-19 19:56 ` Ingo Molnar
2012-03-19 20:20 ` Ingo Molnar
2012-03-19 21:17 ` Arnaldo Carvalho de Melo
2 siblings, 0 replies; 25+ messages in thread
From: Ingo Molnar @ 2012-03-19 19:56 UTC (permalink / raw)
To: Arnaldo Carvalho de Melo
Cc: linux-kernel, Colin Walters, Namhyung Kim, Namhyung Kim,
Paul Mackerras, Pekka Enberg, Peter Zijlstra, arnaldo.melo,
Arnaldo Carvalho de Melo
* Ingo Molnar <mingo@kernel.org> wrote:
> diff --git a/tools/perf/config/utilities.mak b/tools/perf/config/utilities.mak
> index 8046182..68cf795 100644
> --- a/tools/perf/config/utilities.mak
> +++ b/tools/perf/config/utilities.mak
> @@ -183,6 +183,8 @@ _gea_err = $(if $(1),$(error Please set '$(1)' appropriately))
> # Usage: option = $(call try-cc, source-to-build, cc-options)
> try-cc = $(shell sh -c \
> 'TMP="$(OUTPUT)$(TMPOUT).$$$$"; \
> + echo "$(1)" > test.$$$$.c; \
> + echo $(CC) -x c test.$$$$.c $(2) -o "$$TMP" > test.$$$$.sh; \
> echo "$(1)" | \
> $(CC) -x c - $(2) -o "$$TMP" > /dev/null 2>&1 && echo y; \
> rm -f "$$TMP"')
So, instead of this hack we'd like to output the build failure
that gcc gives, when 'make V=1' is specified or so.
Thanks,
Ingo
^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: [GIT PULL 0/3] perf/core fixes and improvements
2012-03-19 19:47 ` Ingo Molnar
2012-03-19 19:56 ` Ingo Molnar
@ 2012-03-19 20:20 ` Ingo Molnar
2012-03-19 21:17 ` Arnaldo Carvalho de Melo
2 siblings, 0 replies; 25+ messages in thread
From: Ingo Molnar @ 2012-03-19 20:20 UTC (permalink / raw)
To: Arnaldo Carvalho de Melo
Cc: linux-kernel, Colin Walters, Namhyung Kim, Namhyung Kim,
Paul Mackerras, Pekka Enberg, Peter Zijlstra, arnaldo.melo,
Arnaldo Carvalho de Melo
* Ingo Molnar <mingo@kernel.org> wrote:
> I noticed that there's no help text for GTK support - how will a
> user find that 'perf report --gtk' will do something nice?
Ignore this one - I forgot to do 'make install-doc'.
Thanks,
Ingo
^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: [GIT PULL 0/3] perf/core fixes and improvements
2012-03-19 19:47 ` Ingo Molnar
2012-03-19 19:56 ` Ingo Molnar
2012-03-19 20:20 ` Ingo Molnar
@ 2012-03-19 21:17 ` Arnaldo Carvalho de Melo
2 siblings, 0 replies; 25+ messages in thread
From: Arnaldo Carvalho de Melo @ 2012-03-19 21:17 UTC (permalink / raw)
To: Ingo Molnar
Cc: linux-kernel, Colin Walters, Namhyung Kim, Namhyung Kim,
Paul Mackerras, Pekka Enberg, Peter Zijlstra
Em Mon, Mar 19, 2012 at 08:47:25PM +0100, Ingo Molnar escreveu:
> Pulled, thanks Arnaldo!
>
> I noticed that there's no help text for GTK support - how will a
> user find that 'perf report --gtk' will do something nice?
>
> Another detail is that if GTK support is not compiled in:
>
> Makefile:515: GTK2 not found, disables GTK2 support. Please install gtk2-devel or libgtk2.0-dev
>
> then the --gtk output is not very informative:
>
> earth5:~/tip/tools/perf> perf report --gtk
> earth5:~/tip/tools/perf>
>
> :-)
>
> A third detail, I do have gtk2-devel installed:
>
> Package gtk2-devel-2.24.10-1.fc17.x86_64 already installed and latest version
Yeah, as you said, the ball is rolling! ;-)
> yet I got the above message.
>
> It is not easy to figure out *why* a feature test failed,
> unfortunately. It would be nice if V=1 or something like that
> would output the failure.
Yeah, I also was frustrated by V=1 not affecting the feature tests, and
did what you did, just didn't got around to fix it properly.
> I applied the hack below and ran the gtk testcase, which gave:
>
> earth5:~/tip/tools/perf> . ./test.4273.sh
> In file included from /usr/lib64/glib-2.0/include/glibconfig.h:9:0,
> from /usr/include/glib-2.0/glib/gtypes.h:34,
> from /usr/include/glib-2.0/glib/galloca.h:34,
> from /usr/include/glib-2.0/glib.h:32,
> from /usr/include/glib-2.0/gobject/gbinding.h:30,
> from /usr/include/glib-2.0/glib-object.h:25,
> from /usr/include/glib-2.0/gio/gioenums.h:30,
> from /usr/include/glib-2.0/gio/giotypes.h:30,
> from /usr/include/glib-2.0/gio/gio.h:28,
> from /usr/include/gtk-2.0/gdk/gdkapplaunchcontext.h:30,
> from /usr/include/gtk-2.0/gdk/gdk.h:32,
> from /usr/include/gtk-2.0/gtk/gtk.h:32,
> from test.4273.c:2:
> /usr/include/glib-2.0/glib/gmacros.h:346:7: error: "_MSC_VER" is not defined [-Werror=undef]
> cc1: all warnings being treated as errors
>
> Which allowed me to fix the feature test and the gtk.h include
> file wrapper via the second patch below.
>
> And then I was greeted by the GTK report window on 'perf report
> --gtk' ;-)
>
> Thanks,
>
> Ingo
>
> diff --git a/tools/perf/config/utilities.mak b/tools/perf/config/utilities.mak
> index 8046182..68cf795 100644
> --- a/tools/perf/config/utilities.mak
> +++ b/tools/perf/config/utilities.mak
> @@ -183,6 +183,8 @@ _gea_err = $(if $(1),$(error Please set '$(1)' appropriately))
> # Usage: option = $(call try-cc, source-to-build, cc-options)
> try-cc = $(shell sh -c \
> 'TMP="$(OUTPUT)$(TMPOUT).$$$$"; \
> + echo "$(1)" > test.$$$$.c; \
> + echo $(CC) -x c test.$$$$.c $(2) -o "$$TMP" > test.$$$$.sh; \
> echo "$(1)" | \
> $(CC) -x c - $(2) -o "$$TMP" > /dev/null 2>&1 && echo y; \
> rm -f "$$TMP"')
>
> Signed-off-by: Ingo Molnar <mingo@elte.hu>
>
> diff --git a/tools/perf/config/feature-tests.mak b/tools/perf/config/feature-tests.mak
> index d9084e0..ae8b471 100644
> --- a/tools/perf/config/feature-tests.mak
> +++ b/tools/perf/config/feature-tests.mak
> @@ -68,7 +68,9 @@ endif
> ifndef NO_GTK2
> define SOURCE_GTK2
> #pragma GCC diagnostic ignored \"-Wstrict-prototypes\"
> +#pragma GCC diagnostic ignored \"-Wundef\"
> #include <gtk/gtk.h>
> +#pragma GCC diagnostic error \"-Wundef\"
> #pragma GCC diagnostic error \"-Wstrict-prototypes\"
>
> int main(int argc, char *argv[])
> diff --git a/tools/perf/util/gtk/gtk.h b/tools/perf/util/gtk/gtk.h
> index 75177ee..c7a941f 100644
> --- a/tools/perf/util/gtk/gtk.h
> +++ b/tools/perf/util/gtk/gtk.h
> @@ -2,7 +2,9 @@
> #define _PERF_GTK_H_ 1
>
> #pragma GCC diagnostic ignored "-Wstrict-prototypes"
> +#pragma GCC diagnostic ignored "-Wundef"
> #include <gtk/gtk.h>
> +#pragma GCC diagnostic error "-Wundef"
> #pragma GCC diagnostic error "-Wstrict-prototypes"
>
> #endif /* _PERF_GTK_H_ */
^ permalink raw reply [flat|nested] 25+ messages in thread
end of thread, other threads:[~2012-03-19 21:17 UTC | newest]
Thread overview: 25+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-07-16 18:09 [GIT PULL 0/3] perf/core fixes and improvements Arnaldo Carvalho de Melo
2010-07-16 18:09 ` [PATCH 1/3] perf probe: Fix error message if get_real_path() failed Arnaldo Carvalho de Melo
2010-07-16 18:09 ` [PATCH 2/3] perf probe: Support comp_dir to find an absolute source path Arnaldo Carvalho de Melo
2010-07-16 18:09 ` [PATCH 3/3] perf probe: Fix the logic of die_compare_name Arnaldo Carvalho de Melo
2010-07-17 9:35 ` [GIT PULL 0/3] perf/core fixes and improvements Ingo Molnar
-- strict thread matches above, loose matches on Subject: below --
2010-08-03 2:09 Arnaldo Carvalho de Melo
2010-08-03 5:44 ` Ingo Molnar
2010-08-04 21:26 Arnaldo Carvalho de Melo
2010-08-05 6:46 ` Ingo Molnar
2010-08-12 20:45 Arnaldo Carvalho de Melo
2010-12-22 22:36 Arnaldo Carvalho de Melo
2010-12-23 13:20 ` Ingo Molnar
2011-03-23 22:52 Arnaldo Carvalho de Melo
2011-03-24 8:17 ` Ingo Molnar
2011-10-29 17:25 Arnaldo Carvalho de Melo
2011-10-30 11:04 ` Ingo Molnar
2011-12-12 13:26 Arnaldo Carvalho de Melo
2011-12-12 17:24 ` Ingo Molnar
2012-02-21 17:35 Arnaldo Carvalho de Melo
2012-02-22 10:12 ` Ingo Molnar
2012-03-19 19:12 Arnaldo Carvalho de Melo
2012-03-19 19:47 ` Ingo Molnar
2012-03-19 19:56 ` Ingo Molnar
2012-03-19 20:20 ` Ingo Molnar
2012-03-19 21:17 ` Arnaldo Carvalho de Melo
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox