From: Arnaldo Carvalho de Melo <acme@infradead.org>
To: Ingo Molnar <mingo@kernel.org>
Cc: linux-kernel@vger.kernel.org, Namhyung Kim <namhyung.kim@lge.com>,
Namhyung Kim <namhyung@kernel.org>, Jiri Olsa <jolsa@redhat.com>,
Paul Mackerras <paulus@samba.org>,
Peter Zijlstra <a.p.zijlstra@chello.nl>,
Arnaldo Carvalho de Melo <acme@redhat.com>
Subject: [PATCH 094/161] perf annotate: Factor out get/free_srcline()
Date: Mon, 14 Oct 2013 17:01:23 -0300 [thread overview]
Message-ID: <1381780950-25642-95-git-send-email-acme@infradead.org> (raw)
In-Reply-To: <1381780950-25642-1-git-send-email-acme@infradead.org>
From: Namhyung Kim <namhyung.kim@lge.com>
Currently external addr2line tool is used for srcline sort key and
annotate with srcline info. Separate the common code to prepare
upcoming enhancements.
Signed-off-by: Namhyung Kim <namhyung@kernel.org>
Reviewed-by: Jiri Olsa <jolsa@redhat.com>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Link: http://lkml.kernel.org/r/1378876173-13363-5-git-send-email-namhyung@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
tools/perf/Makefile.perf | 1 +
tools/perf/util/annotate.c | 20 ++---------
tools/perf/util/hist.c | 2 +-
tools/perf/util/sort.c | 17 ++--------
tools/perf/util/srcline.c | 83 ++++++++++++++++++++++++++++++++++++++++++++++
tools/perf/util/util.h | 5 +++
6 files changed, 96 insertions(+), 32 deletions(-)
create mode 100644 tools/perf/util/srcline.c
diff --git a/tools/perf/Makefile.perf b/tools/perf/Makefile.perf
index 40c39c39ce80..1f1361531f92 100644
--- a/tools/perf/Makefile.perf
+++ b/tools/perf/Makefile.perf
@@ -363,6 +363,7 @@ LIB_OBJS += $(OUTPUT)util/intlist.o
LIB_OBJS += $(OUTPUT)util/vdso.o
LIB_OBJS += $(OUTPUT)util/stat.o
LIB_OBJS += $(OUTPUT)util/record.o
+LIB_OBJS += $(OUTPUT)util/srcline.o
LIB_OBJS += $(OUTPUT)ui/setup.o
LIB_OBJS += $(OUTPUT)ui/helpline.o
diff --git a/tools/perf/util/annotate.c b/tools/perf/util/annotate.c
index c6fd1870f278..d48297d77e19 100644
--- a/tools/perf/util/annotate.c
+++ b/tools/perf/util/annotate.c
@@ -1070,7 +1070,7 @@ static void symbol__free_source_line(struct symbol *sym, int len)
(sizeof(src_line->p) * (src_line->nr_pcnt - 1));
for (i = 0; i < len; i++) {
- free(src_line->path);
+ free_srcline(src_line->path);
src_line = (void *)src_line + sizeof_src_line;
}
@@ -1087,7 +1087,6 @@ static int symbol__get_source_line(struct symbol *sym, struct map *map,
u64 start;
int i, k;
int evidx = evsel->idx;
- char cmd[PATH_MAX * 2];
struct source_line *src_line;
struct annotation *notes = symbol__annotation(sym);
struct sym_hist *h = annotation__histogram(notes, evidx);
@@ -1115,10 +1114,7 @@ static int symbol__get_source_line(struct symbol *sym, struct map *map,
start = map__rip_2objdump(map, sym->start);
for (i = 0; i < len; i++) {
- char *path = NULL;
- size_t line_len;
u64 offset;
- FILE *fp;
double percent_max = 0.0;
src_line->nr_pcnt = nr_pcnt;
@@ -1135,19 +1131,9 @@ static int symbol__get_source_line(struct symbol *sym, struct map *map,
goto next;
offset = start + i;
- sprintf(cmd, "addr2line -e %s %016" PRIx64, filename, offset);
- fp = popen(cmd, "r");
- if (!fp)
- goto next;
-
- if (getline(&path, &line_len, fp) < 0 || !line_len)
- goto next_close;
-
- src_line->path = path;
+ src_line->path = get_srcline(filename, offset);
insert_source_line(&tmp_root, src_line);
- next_close:
- pclose(fp);
next:
src_line = (void *)src_line + sizeof_src_line;
}
@@ -1188,7 +1174,7 @@ static void print_summary(struct rb_root *root, const char *filename)
path = src_line->path;
color = get_percent_color(percent_max);
- color_fprintf(stdout, color, " %s", path);
+ color_fprintf(stdout, color, " %s\n", path);
node = rb_next(node);
}
diff --git a/tools/perf/util/hist.c b/tools/perf/util/hist.c
index e6fc38a86e2c..cca03831f41a 100644
--- a/tools/perf/util/hist.c
+++ b/tools/perf/util/hist.c
@@ -535,7 +535,7 @@ void hist_entry__free(struct hist_entry *he)
{
free(he->branch_info);
free(he->mem_info);
- free(he->srcline);
+ free_srcline(he->srcline);
free(he);
}
diff --git a/tools/perf/util/sort.c b/tools/perf/util/sort.c
index 97cf3ef4417c..b7e0ef0445de 100644
--- a/tools/perf/util/sort.c
+++ b/tools/perf/util/sort.c
@@ -251,8 +251,7 @@ static int hist_entry__srcline_snprintf(struct hist_entry *self, char *bf,
unsigned int width __maybe_unused)
{
FILE *fp = NULL;
- char cmd[PATH_MAX + 2], *path = self->srcline, *nl;
- size_t line_len;
+ char *path = self->srcline;
if (path != NULL)
goto out_path;
@@ -263,19 +262,9 @@ static int hist_entry__srcline_snprintf(struct hist_entry *self, char *bf,
if (!strncmp(self->ms.map->dso->long_name, "/tmp/perf-", 10))
goto out_ip;
- snprintf(cmd, sizeof(cmd), "addr2line -e %s %016" PRIx64,
- self->ms.map->dso->long_name, self->ip);
- fp = popen(cmd, "r");
- if (!fp)
- goto out_ip;
-
- if (getline(&self->srcline, &line_len, fp) < 0 || !line_len)
- goto out_ip;
+ path = get_srcline(self->ms.map->dso->long_name, self->ip);
+ self->srcline = path;
- nl = strchr(self->srcline, '\n');
- if (nl != NULL)
- *nl = '\0';
- path = self->srcline;
out_path:
if (fp)
pclose(fp);
diff --git a/tools/perf/util/srcline.c b/tools/perf/util/srcline.c
new file mode 100644
index 000000000000..7e92cca6f502
--- /dev/null
+++ b/tools/perf/util/srcline.c
@@ -0,0 +1,83 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+
+#include <linux/kernel.h>
+
+#include "util/util.h"
+#include "util/debug.h"
+
+static int addr2line(const char *dso_name, unsigned long addr,
+ char **file, unsigned int *line_nr)
+{
+ FILE *fp;
+ char cmd[PATH_MAX];
+ char *filename = NULL;
+ size_t len;
+ char *sep;
+ int ret = 0;
+
+ scnprintf(cmd, sizeof(cmd), "addr2line -e %s %016"PRIx64,
+ dso_name, addr);
+
+ fp = popen(cmd, "r");
+ if (fp == NULL) {
+ pr_warning("popen failed for %s\n", dso_name);
+ return 0;
+ }
+
+ if (getline(&filename, &len, fp) < 0 || !len) {
+ pr_warning("addr2line has no output for %s\n", dso_name);
+ goto out;
+ }
+
+ sep = strchr(filename, '\n');
+ if (sep)
+ *sep = '\0';
+
+ if (!strcmp(filename, "??:0")) {
+ pr_debug("no debugging info in %s\n", dso_name);
+ free(filename);
+ goto out;
+ }
+
+ sep = strchr(filename, ':');
+ if (sep) {
+ *sep++ = '\0';
+ *file = filename;
+ *line_nr = strtoul(sep, NULL, 0);
+ ret = 1;
+ }
+out:
+ pclose(fp);
+ return ret;
+}
+
+char *get_srcline(const char *dso_name, unsigned long addr)
+{
+ char *file;
+ unsigned line;
+ char *srcline;
+ size_t size;
+
+ if (!addr2line(dso_name, addr, &file, &line))
+ return SRCLINE_UNKNOWN;
+
+ /* just calculate actual length */
+ size = snprintf(NULL, 0, "%s:%u", file, line) + 1;
+
+ srcline = malloc(size);
+ if (srcline)
+ snprintf(srcline, size, "%s:%u", file, line);
+ else
+ srcline = SRCLINE_UNKNOWN;
+
+ free(file);
+ return srcline;
+}
+
+void free_srcline(char *srcline)
+{
+ if (srcline && strcmp(srcline, SRCLINE_UNKNOWN) != 0)
+ free(srcline);
+}
diff --git a/tools/perf/util/util.h b/tools/perf/util/util.h
index 7fd840bf6b62..7c8b43fa8898 100644
--- a/tools/perf/util/util.h
+++ b/tools/perf/util/util.h
@@ -297,4 +297,9 @@ struct parse_tag {
};
unsigned long parse_tag_value(const char *str, struct parse_tag *tags);
+
+#define SRCLINE_UNKNOWN ((char *) "??:0")
+
+char *get_srcline(const char *dso_name, unsigned long addr);
+void free_srcline(char *srcline);
#endif /* GIT_COMPAT_UTIL_H */
--
1.8.1.4
next prev parent reply other threads:[~2013-10-14 20:30 UTC|newest]
Thread overview: 163+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-10-14 19:59 [GIT PULL 000/161] perf/core improvements and fixes Arnaldo Carvalho de Melo
2013-10-14 19:59 ` [PATCH 001/161] tools/perf: Standardize feature support define names to: HAVE_{FEATURE}_SUPPORT Arnaldo Carvalho de Melo
2013-10-14 19:59 ` [PATCH 002/161] tools/perf/build: Add feature check core code Arnaldo Carvalho de Melo
2013-10-14 19:59 ` [PATCH 003/161] tools/perf/build: Add 'autodep' functionality, generate feature test dependencies automatically Arnaldo Carvalho de Melo
2013-10-14 19:59 ` [PATCH 004/161] tools/perf/build: Split out feature check: 'libnuma' Arnaldo Carvalho de Melo
2013-10-14 19:59 ` [PATCH 005/161] tools/perf/build: Split out feature check: 'stackprotector-all' Arnaldo Carvalho de Melo
2013-10-14 19:59 ` [PATCH 006/161] tools/perf/build: Split out feature check: 'stackprotector' Arnaldo Carvalho de Melo
2013-10-14 19:59 ` [PATCH 007/161] tools/perf/build: Split out feature check: 'volatile-register-var' Arnaldo Carvalho de Melo
2013-10-14 19:59 ` [PATCH 008/161] tools/perf/build: Split out feature check: 'fortify-source' Arnaldo Carvalho de Melo
2013-10-14 19:59 ` [PATCH 009/161] tools/perf/build: Split out feature check: 'bionic' Arnaldo Carvalho de Melo
2013-10-14 19:59 ` [PATCH 010/161] tools/perf/build: Clean up the libelf logic in config/Makefile Arnaldo Carvalho de Melo
2013-10-14 20:00 ` [PATCH 011/161] tools/perf/build: Split out feature check: 'libelf' Arnaldo Carvalho de Melo
2013-10-14 20:00 ` [PATCH 012/161] tools/perf/build: Split out feature check: 'glibc' Arnaldo Carvalho de Melo
2013-10-14 20:00 ` [PATCH 013/161] tools/perf/build: Split out feature check: 'dwarf' Arnaldo Carvalho de Melo
2013-10-14 20:00 ` [PATCH 014/161] tools/perf/build: Clean up the mmap logic in config/Makefile Arnaldo Carvalho de Melo
2013-10-14 20:00 ` [PATCH 015/161] tools/perf/build: Split out feature check: 'libelf-mmap' Arnaldo Carvalho de Melo
2013-10-14 20:00 ` [PATCH 016/161] tools/perf/build: Split out feature check: 'libelf-getphdrnum' Arnaldo Carvalho de Melo
2013-10-14 20:00 ` [PATCH 017/161] tools/perf/build: Clean up the libunwind logic in config/Makefile Arnaldo Carvalho de Melo
2013-10-14 20:00 ` [PATCH 018/161] tools/perf/build: Split out feature check: 'libunwind' Arnaldo Carvalho de Melo
2013-10-14 20:00 ` [PATCH 019/161] tools/perf/build: Split out feature check: 'libaudit' Arnaldo Carvalho de Melo
2013-10-14 20:00 ` [PATCH 020/161] tools/perf/build: Split out feature check: 'libslang' Arnaldo Carvalho de Melo
2013-10-14 20:00 ` [PATCH 021/161] tools/perf/build: Split out feature check: 'gtk2' Arnaldo Carvalho de Melo
2013-10-14 20:00 ` [PATCH 022/161] tools/perf/build: Split out feature check: 'gtk2-infobar' Arnaldo Carvalho de Melo
2013-10-14 20:00 ` [PATCH 023/161] tools/perf/build: Split out feature check: 'libperl' Arnaldo Carvalho de Melo
2013-10-14 20:00 ` [PATCH 024/161] tools/perf/build: Split out feature check: 'libpython' Arnaldo Carvalho de Melo
2013-10-14 20:00 ` [PATCH 025/161] tools/perf/build: Split out feature check: 'libpython-version' Arnaldo Carvalho de Melo
2013-10-14 20:00 ` [PATCH 026/161] tools/perf/build: Split out feature check: 'libbfd' Arnaldo Carvalho de Melo
2013-10-14 20:00 ` [PATCH 027/161] tools/perf/build: Split out feature check: 'strlcpy' Arnaldo Carvalho de Melo
2013-10-14 20:00 ` [PATCH 028/161] tools/perf/build: Split out feature check: 'on-exit' Arnaldo Carvalho de Melo
2013-10-14 20:00 ` [PATCH 029/161] tools/perf/build: Split out feature check: 'backtrace' Arnaldo Carvalho de Melo
2013-10-14 20:00 ` [PATCH 030/161] tools/perf: Clean up util/include/linux/compiler.h Arnaldo Carvalho de Melo
2013-10-14 20:00 ` [PATCH 031/161] tools/perf: Turn strlcpy() into a __weak function Arnaldo Carvalho de Melo
2013-10-14 20:00 ` [PATCH 032/161] tools/perf/build: Speed up auto-detection of features by adding a 'test-all' target Arnaldo Carvalho de Melo
2013-10-14 20:00 ` [PATCH 033/161] tools/perf/build: Speed up git-version test on re-make Arnaldo Carvalho de Melo
2013-10-14 20:00 ` [PATCH 034/161] tools/perf/build: Speed up the final link Arnaldo Carvalho de Melo
2013-10-14 20:00 ` [PATCH 035/161] tools/perf: Fix double/triple-build of the feature detection logic during 'make install' et al Arnaldo Carvalho de Melo
2013-10-14 20:00 ` [PATCH 036/161] tools/perf/build: Invoke feature-checks 'clean' target from the main Makefile Arnaldo Carvalho de Melo
2013-10-14 20:00 ` [PATCH 037/161] tools/perf/build: Speed up auto-detection Arnaldo Carvalho de Melo
2013-10-14 20:00 ` [PATCH 038/161] tools/perf/build: Improve printout-of auto-detected features Arnaldo Carvalho de Melo
2013-10-14 20:00 ` [PATCH 039/161] tools/perf/build: Automatically build in parallel, based on number of CPUs in the system Arnaldo Carvalho de Melo
2013-10-14 20:00 ` [PATCH 040/161] tools/perf/build: Flip Makefile.parallel and Makefile.perf Arnaldo Carvalho de Melo
2013-10-14 20:00 ` [PATCH 041/161] tools/perf/build: Standardize the various messages output by parallel make Arnaldo Carvalho de Melo
2013-10-14 20:00 ` [PATCH 042/161] tools/perf/build: Split out feature checks: 'liberty', 'liberty-z', 'cplus-demangle' Arnaldo Carvalho de Melo
2013-10-14 20:00 ` [PATCH 043/161] tools/perf/build: Remove unused config/feature-tests.mak Arnaldo Carvalho de Melo
2013-10-14 20:00 ` [PATCH 044/161] tools/perf/build: Clean up various testcases Arnaldo Carvalho de Melo
2013-10-14 20:00 ` [PATCH 045/161] tools/perf/build: Collapse the test-all.c testcase Arnaldo Carvalho de Melo
2013-10-14 20:00 ` [PATCH 046/161] tools/perf/build: Pass through all targets to Makefile.perf Arnaldo Carvalho de Melo
2013-10-14 20:00 ` [PATCH 047/161] tools/perf/build: Make sure autodep feature binaries honor the O= setting Arnaldo Carvalho de Melo
2013-10-14 20:00 ` [PATCH 048/161] tools/perf/build: Exclude MAKEFLAGS from nested invocation Arnaldo Carvalho de Melo
2013-10-14 20:00 ` [PATCH 049/161] tools/perf/build: Fix non-canonical directory names in O= Arnaldo Carvalho de Melo
2013-10-14 20:00 ` [PATCH 050/161] tools/perf/build: Fix O=/some/dir perf.o type of targets Arnaldo Carvalho de Melo
2013-10-14 20:00 ` [PATCH 051/161] tools/perf/build: Harmonize the style of the feature testcases Arnaldo Carvalho de Melo
2013-10-14 20:00 ` [PATCH 052/161] tools/perf/build: Pass through LDFLAGS to feature tests Arnaldo Carvalho de Melo
2013-10-14 20:00 ` [PATCH 053/161] tools/perf/build: Clean up feature_print_code() Arnaldo Carvalho de Melo
2013-10-14 20:00 ` [PATCH 054/161] perf trace: Put syscall formatter parms into struct Arnaldo Carvalho de Melo
2013-10-14 20:00 ` [PATCH 055/161] perf trace: Allow passing parms to arg formatters Arnaldo Carvalho de Melo
2013-10-14 20:00 ` [PATCH 056/161] perf trace: Use strarray for ltrace's whence arg Arnaldo Carvalho de Melo
2013-10-14 20:00 ` [PATCH 057/161] perf trace: Beautify fcntl 'cmd' arg Arnaldo Carvalho de Melo
2013-10-14 20:00 ` [PATCH 058/161] perf trace: Beautify rt_sigprocmask 'how' arg Arnaldo Carvalho de Melo
2013-10-14 20:00 ` [PATCH 059/161] perf trace: Beautify signal number arg in several syscalls Arnaldo Carvalho de Melo
2013-10-14 20:00 ` [PATCH 060/161] perf trace: Beautify socket 'family' arg Arnaldo Carvalho de Melo
2013-10-14 20:00 ` [PATCH 061/161] perf trace: Beautify socket 'type' arg Arnaldo Carvalho de Melo
2013-10-14 20:00 ` [PATCH 062/161] perf trace: Beautify access 'mode' arg Arnaldo Carvalho de Melo
2013-10-14 20:00 ` [PATCH 063/161] perf trace: Beautify rlmimit resources Arnaldo Carvalho de Melo
2013-10-14 20:00 ` [PATCH 064/161] perf trace: Add option to show full timestamp Arnaldo Carvalho de Melo
2013-10-14 20:00 ` [PATCH 065/161] perf trace: Remove duplicate mmap entry in syscall_fmts array Arnaldo Carvalho de Melo
2013-10-14 20:00 ` [PATCH 066/161] perf trace: Don't print zeroed args Arnaldo Carvalho de Melo
2013-10-14 20:00 ` [PATCH 067/161] perf trace: Beautify send/recv syscall 'flags' arg Arnaldo Carvalho de Melo
2013-10-14 20:00 ` [PATCH 068/161] perf trace: Beautify eventfd2 " Arnaldo Carvalho de Melo
2013-10-14 20:00 ` [PATCH 069/161] perf trace: Add option to show process COMM Arnaldo Carvalho de Melo
2013-10-14 20:00 ` [PATCH 070/161] perf completion: Don't dictate perf install location Arnaldo Carvalho de Melo
2013-10-14 20:01 ` [PATCH 071/161] perf completion: Update __ltrim_colon_completions Arnaldo Carvalho de Melo
2013-10-14 20:01 ` [PATCH 072/161] perf completion: Strip dependency on _filedir Arnaldo Carvalho de Melo
2013-10-14 20:01 ` [PATCH 073/161] perf completion: Strip function_exists () Arnaldo Carvalho de Melo
2013-10-14 20:01 ` [PATCH 074/161] perf completion: Strip dependency on bash-completion Arnaldo Carvalho de Melo
2013-10-14 20:01 ` [PATCH 075/161] perf completion: Use more comp words Arnaldo Carvalho de Melo
2013-10-14 20:01 ` [PATCH 076/161] perf symbols: Support for Openembedded/Yocto -dbg packages Arnaldo Carvalho de Melo
2013-10-14 20:01 ` [PATCH 077/161] perf tools: Remove unused trace-event-* code Arnaldo Carvalho de Melo
2013-10-14 20:01 ` [PATCH 078/161] perf tools: Unify page_size usage Arnaldo Carvalho de Melo
2013-10-14 20:01 ` [PATCH 079/161] perf lock: Remove dead code Arnaldo Carvalho de Melo
2013-10-14 20:01 ` [PATCH 080/161] perf lock: Return proper code in report_lock_*_event Arnaldo Carvalho de Melo
2013-10-14 20:01 ` [PATCH 081/161] perf lock: Plug some memleaks Arnaldo Carvalho de Melo
2013-10-14 20:01 ` [PATCH 082/161] perf lock: Redo __cmd_report Arnaldo Carvalho de Melo
2013-10-14 20:01 ` [PATCH 083/161] perf lock: Limit bad rate precision Arnaldo Carvalho de Melo
2013-10-14 20:01 ` [PATCH 084/161] perf lock: Account for lock average wait time Arnaldo Carvalho de Melo
2013-10-14 20:01 ` [PATCH 085/161] perf tools: Check mmap pages value early Arnaldo Carvalho de Melo
2013-10-14 20:01 ` [PATCH 086/161] perf tools: Add possibility to specify mmap size Arnaldo Carvalho de Melo
2013-10-14 20:01 ` [PATCH 087/161] perf evlist: Introduce perf_evlist__new_default function Arnaldo Carvalho de Melo
2013-10-14 20:01 ` [PATCH 088/161] perf tools: Adding throttle event data struct support Arnaldo Carvalho de Melo
2013-10-14 20:01 ` [PATCH 089/161] perf symbols: Add new option --ignore-vmlinux for perf top Arnaldo Carvalho de Melo
2013-10-14 20:01 ` [PATCH 090/161] perf tools: Separate out GTK codes to libperf-gtk.so Arnaldo Carvalho de Melo
2013-10-14 20:01 ` [PATCH 091/161] perf sort: Fix a memory leak on srcline Arnaldo Carvalho de Melo
2013-10-14 20:01 ` [PATCH 092/161] perf annotate: Reuse path from the result of addr2line Arnaldo Carvalho de Melo
2013-10-14 20:01 ` [PATCH 093/161] perf hists: Free srcline when freeing hist_entry Arnaldo Carvalho de Melo
2013-10-14 20:01 ` Arnaldo Carvalho de Melo [this message]
2013-10-14 20:01 ` [PATCH 095/161] perf tools: Do not try to call addr2line on non-binary files Arnaldo Carvalho de Melo
2013-10-14 20:01 ` [PATCH 096/161] perf annotate: Pass dso instead of dso_name to get_srcline() Arnaldo Carvalho de Melo
2013-10-14 20:01 ` [PATCH 097/161] perf tools: Save failed result of get_srcline() Arnaldo Carvalho de Melo
2013-10-14 20:01 ` [PATCH 098/161] perf tools: Implement addr2line directly using libbfd Arnaldo Carvalho de Melo
2013-10-14 20:01 ` [PATCH 099/161] perf tools: Fix srcline sort key behavior Arnaldo Carvalho de Melo
2013-10-14 20:01 ` [PATCH 100/161] perf trace: Beautify epoll_ctl 'op' arg Arnaldo Carvalho de Melo
2013-10-14 20:01 ` [PATCH 101/161] perf trace: Beautify flock 'cmd' arg Arnaldo Carvalho de Melo
2013-10-14 20:01 ` [PATCH 102/161] perf trace: Add helper for syscalls with a single strarray arg Arnaldo Carvalho de Melo
2013-10-14 20:01 ` [PATCH 103/161] perf trace: Don't supress zeroed args when there is an strarray entry for it Arnaldo Carvalho de Melo
2013-10-14 20:01 ` [PATCH 104/161] perf trace: Use socket's beautifiers in socketpair Arnaldo Carvalho de Melo
2013-10-14 20:01 ` [PATCH 105/161] perf trace: Beautify pipe2 'flags' arg Arnaldo Carvalho de Melo
2013-10-14 20:01 ` [PATCH 106/161] perf trace: Add beautifier for clock_gettime's clk_id argument Arnaldo Carvalho de Melo
2013-10-14 20:01 ` [PATCH 107/161] perf trace: Handle MSG_WAITFORONE not defined Arnaldo Carvalho de Melo
2013-10-14 20:01 ` [PATCH 108/161] perf trace: Beautify mlock & friends 'addr' arg Arnaldo Carvalho de Melo
2013-10-14 20:01 ` [PATCH 109/161] perf trace: Show path associated with fd in live sessions Arnaldo Carvalho de Melo
2013-10-14 20:01 ` [PATCH 110/161] perf trace: Add 'trace' alias to 'perf trace' Arnaldo Carvalho de Melo
2013-10-14 20:01 ` [PATCH 111/161] perf bench sched: Add --threaded option Arnaldo Carvalho de Melo
2013-10-14 20:01 ` [PATCH 112/161] perf machine: Use snprintf instead of sprintf Arnaldo Carvalho de Melo
2013-10-14 20:01 ` [PATCH 113/161] perf tools: Add missing -ldl for gtk build Arnaldo Carvalho de Melo
2013-10-14 20:01 ` [PATCH 114/161] perf tools: Move start conditions to start of the flex file Arnaldo Carvalho de Melo
2013-10-14 20:01 ` [PATCH 115/161] perf stat: Don't print bogus data on -e cycles Arnaldo Carvalho de Melo
2013-10-14 20:01 ` [PATCH 116/161] perf stat: Don't print bogus data on -e instructions Arnaldo Carvalho de Melo
2013-10-14 20:01 ` [PATCH 117/161] perf tools: Ignore 'perf timechart' output file Arnaldo Carvalho de Melo
2013-10-14 20:01 ` [PATCH 118/161] perf bench: Fix failing assertions in numa bench Arnaldo Carvalho de Melo
2013-10-14 20:01 ` [PATCH 119/161] perf evlist: Fix perf_evlist__mmap_read event overflow Arnaldo Carvalho de Melo
2013-10-14 20:01 ` [PATCH 120/161] perf stat: Fix misleading message when specifying cpu list or system wide Arnaldo Carvalho de Melo
2013-10-14 20:01 ` [PATCH 121/161] perf stat: Don't require a workload when using system wide or CPU options Arnaldo Carvalho de Melo
2013-10-14 20:01 ` [PATCH 122/161] perf stat: Add units to nanosec-based counters Arnaldo Carvalho de Melo
2013-10-14 20:01 ` [PATCH 123/161] perf trace: Fix comm resolution when reading events from file Arnaldo Carvalho de Melo
2013-10-14 20:01 ` [PATCH 124/161] perf trace: Add record option Arnaldo Carvalho de Melo
2013-10-14 20:01 ` [PATCH 125/161] perf machine: Add method to loop over threads and invoke handler Arnaldo Carvalho de Melo
2013-10-14 20:01 ` [PATCH 126/161] perf trace: Use new machine method to loop over threads Arnaldo Carvalho de Melo
2013-10-14 20:01 ` [PATCH 127/161] perf intlist: Add priv member Arnaldo Carvalho de Melo
2013-10-14 20:01 ` [PATCH 128/161] perf symbols: Make a separate function to parse /proc/modules Arnaldo Carvalho de Melo
2013-10-14 20:01 ` [PATCH 129/161] perf trace: Allow specifying index offset in strarrays Arnaldo Carvalho de Melo
2013-10-14 20:01 ` [PATCH 130/161] perf trace: Prepare the strarray scnprintf method for reuse Arnaldo Carvalho de Melo
2013-10-14 20:02 ` [PATCH 131/161] perf trace: Initial beautifier for ioctl's 'cmd' arg Arnaldo Carvalho de Melo
2013-10-14 20:02 ` [PATCH 132/161] perf tools: Fix redirection printouts Arnaldo Carvalho de Melo
2013-10-14 20:02 ` [PATCH 133/161] perf tools: Implement summary output for 'make clean' Arnaldo Carvalho de Melo
2013-10-14 20:02 ` [PATCH 134/161] tools: Harmonize the various build messages in perf, lib-traceevent, lib-lk Arnaldo Carvalho de Melo
2013-10-14 20:02 ` [PATCH 135/161] perf tools: Align perf version output to other build messages Arnaldo Carvalho de Melo
2013-10-14 20:02 ` [PATCH 136/161] perf tools: Implement summary output for 'make install' Arnaldo Carvalho de Melo
2013-10-14 20:02 ` [PATCH 137/161] perf timechart: Add example in the documentation Arnaldo Carvalho de Melo
2013-10-14 20:02 ` [PATCH 138/161] perf trace: Improve the error messages Arnaldo Carvalho de Melo
2013-10-14 20:02 ` [PATCH 139/161] perf util: Add findnew method to intlist Arnaldo Carvalho de Melo
2013-10-14 20:02 ` [PATCH 140/161] perf trace: Add summary option to dump syscall statistics Arnaldo Carvalho de Melo
2013-10-14 20:02 ` [PATCH 141/161] perf tools: Fix old GCC build error in 'get_srcline' Arnaldo Carvalho de Melo
2013-10-14 20:02 ` [PATCH 142/161] perf tests: Fix memory leak in dso-data.c Arnaldo Carvalho de Melo
2013-10-14 20:02 ` [PATCH 143/161] perf tools: Separate lbfd check out of NO_DEMANGLE condition Arnaldo Carvalho de Melo
2013-10-14 20:02 ` [PATCH 144/161] perf symbols: Validate kcore module addresses Arnaldo Carvalho de Melo
2013-10-14 20:02 ` [PATCH 145/161] perf symbols: Workaround objdump difficulties with kcore Arnaldo Carvalho de Melo
2013-10-14 20:02 ` [PATCH 146/161] perf symbols: Add map_groups__find_ams() Arnaldo Carvalho de Melo
2013-10-14 20:02 ` [PATCH 147/161] tools/perf/build: Fix non-existent build directory handling Arnaldo Carvalho de Melo
2013-10-14 20:02 ` [PATCH 148/161] tools/perf/build: Pass through DEBUG parameter Arnaldo Carvalho de Melo
2013-10-14 20:02 ` [PATCH 149/161] tools/perf/build: Fix DPACKAGE definitions for the libbfd et al testcases Arnaldo Carvalho de Melo
2013-10-14 20:02 ` [PATCH 150/161] tools/perf/build: Simplify the libelf logic Arnaldo Carvalho de Melo
2013-10-14 20:02 ` [PATCH 151/161] tools/perf/build: Remove the volatile-register-var feature check Arnaldo Carvalho de Melo
2013-10-14 20:02 ` [PATCH 152/161] tools/perf/build: Improve the 'stackprotector' feature test Arnaldo Carvalho de Melo
2013-10-14 20:02 ` [PATCH 153/161] tools/perf/build: Simplify the autodep inclusion rule Arnaldo Carvalho de Melo
2013-10-14 20:02 ` [PATCH 154/161] perf annotate: Find kcore symbols on other maps Arnaldo Carvalho de Melo
2013-10-14 20:02 ` [PATCH 155/161] perf tools: Add copyfile_mode() Arnaldo Carvalho de Melo
2013-10-14 20:02 ` [PATCH 156/161] perf symbols: Add ability to find kcore in build-id cache Arnaldo Carvalho de Melo
2013-10-14 20:02 ` [PATCH 157/161] perf annotate: Fix annotate_browser__callq() Arnaldo Carvalho de Melo
2013-10-14 20:02 ` [PATCH 158/161] perf buildid-cache: Add ability to add kcore to the cache Arnaldo Carvalho de Melo
2013-10-14 20:02 ` [PATCH 159/161] perf annotate: Another fix for annotate_browser__callq() Arnaldo Carvalho de Melo
2013-10-14 20:02 ` [PATCH 160/161] perf symbols: Fix a memory leak due to symbol__delete not being used Arnaldo Carvalho de Melo
2013-10-14 20:02 ` [PATCH 161/161] perf symbols: Fix a mmap and munmap mismatched bug Arnaldo Carvalho de Melo
2013-10-15 5:08 ` [GIT PULL 000/161] 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=1381780950-25642-95-git-send-email-acme@infradead.org \
--to=acme@infradead.org \
--cc=a.p.zijlstra@chello.nl \
--cc=acme@redhat.com \
--cc=jolsa@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@kernel.org \
--cc=namhyung.kim@lge.com \
--cc=namhyung@kernel.org \
--cc=paulus@samba.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®