* [GIT PULL 00/11] perf/urgent fixes
@ 2017-06-06 19:26 Arnaldo Carvalho de Melo
2017-06-06 19:26 ` [PATCH 01/11] perf annotate: Fix failure when filename has special chars Arnaldo Carvalho de Melo
` (11 more replies)
0 siblings, 12 replies; 25+ messages in thread
From: Arnaldo Carvalho de Melo @ 2017-06-06 19:26 UTC (permalink / raw)
To: Ingo Molnar
Cc: linux-kernel, Arnaldo Carvalho de Melo, Adam Stylinski,
Alexander Shishkin, Andi Kleen, Anton Blanchard,
Christian Borntraeger, David Ahern, He Kuang, Jiri Olsa,
kernel-team, Kim Phillips, Mark Rutland, Milian Wolff,
Namhyung Kim, Peter Zijlstra, Ravi Bangoria, Robin Murphy,
Taeung Song, Arnaldo Carvalho de Melo
Hi Ingo,
Please consider pulling,
- Arnaldo
The following changes since commit 6e30437bd42c4d4e9cfc4c40efda00eb83a11cde:
tools/include: Sync kernel ABI headers with tooling headers (2017-05-24 09:00:21 +0200)
are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux.git tags/perf-urgent-for-mingo-4.12-20170606
for you to fetch changes up to 2538b9e2450ae255337c04356e9e0f8cb9ec48d9:
perf report: Ensure the perf DSO mapping matches what libdw sees (2017-06-05 14:18:05 -0300)
----------------------------------------------------------------
perf/urgent fixes:
- Only print NMI watchdog hint in 'perf stat' when it is enabled (Andi Kleen)
- Fix sys_mmap/sys_old_mmap shandling in s390 in 'perf trace' (Jiri Olsa)
- Disable breakpoint signal tests in powerpc, that lacks the perf kernel
glue to set breakpoint events and makes 'perf test' always fail (Jiri Olsa)
- Fix 'perf annotate' for branch instruction with multiple operands (Kim Phillips)
- Add missing powerpc triplet when disassembling with 'objdump' in 'perf
annotate' (Kim Phillips)
- Do not trow away partial unwound stacks when using libdw, making
callchains produced with it similar to those produced when linked with
the other DWARF unwind library supported in perf, libunwind (Milian Wolff)
- Fixes to properly handle kernel modules when processing build-id meta
events (Namhyung Kim)
- Fix handling of compressed modules in the build-id cache (Namhyung Kim)
- Fix 'perf annotate' failure when filename has special chars (Ravi Bangoria)
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
----------------------------------------------------------------
Andi Kleen (1):
perf stat: Only print NMI watchdog hint when enabled
Jiri Olsa (2):
perf trace: Add mmap alias for s390
perf test: Disable breakpoint signal tests for powerpc
Kim Phillips (2):
perf annotate: Fix branch instruction with multiple operands
perf annotate: Add missing powerpc triplet
Milian Wolff (2):
perf report: Include partial stacks unwound with libdw
perf report: Ensure the perf DSO mapping matches what libdw sees
Namhyung Kim (3):
perf header: Set proper module name when build-id event found
perf symbols: Set module info when build-id event found
perf symbols: Use correct filename for compressed modules in build-id cache
Ravi Bangoria (1):
perf annotate: Fix failure when filename has special chars
tools/perf/arch/common.c | 1 +
tools/perf/builtin-stat.c | 5 ++++-
tools/perf/builtin-trace.c | 4 ++++
tools/perf/tests/bp_signal.c | 14 ++++++++++++++
tools/perf/tests/builtin-test.c | 7 +++++++
tools/perf/tests/tests.h | 3 +++
tools/perf/util/annotate.c | 35 +++++++++++++++++++++++++++++++----
tools/perf/util/dso.c | 15 +++++++++++++++
tools/perf/util/dso.h | 3 +++
tools/perf/util/header.c | 12 ++++++++++--
tools/perf/util/machine.c | 11 +----------
tools/perf/util/symbol-elf.c | 5 +----
tools/perf/util/unwind-libdw.c | 10 +++++++++-
13 files changed, 103 insertions(+), 22 deletions(-)
^ permalink raw reply [flat|nested] 25+ messages in thread
* [PATCH 01/11] perf annotate: Fix failure when filename has special chars
2017-06-06 19:26 [GIT PULL 00/11] perf/urgent fixes Arnaldo Carvalho de Melo
@ 2017-06-06 19:26 ` Arnaldo Carvalho de Melo
2017-06-06 19:26 ` [PATCH 02/11] perf trace: Add mmap alias for s390 Arnaldo Carvalho de Melo
` (10 subsequent siblings)
11 siblings, 0 replies; 25+ messages in thread
From: Arnaldo Carvalho de Melo @ 2017-06-06 19:26 UTC (permalink / raw)
To: Ingo Molnar
Cc: linux-kernel, Ravi Bangoria, Adam Stylinski, Alexander Shishkin,
Christian Borntraeger, Peter Zijlstra, Taeung Song,
Arnaldo Carvalho de Melo
From: Ravi Bangoria <ravi.bangoria@linux.vnet.ibm.com>
When filename contains special chars, perf annotate fails
with an error:
$ perf annotate --vmlinux ./vmlinux\(test\) --stdio native_safe_halt
sh: -c: line 0: syntax error near unexpected token `('
sh: -c: line 0: `objdump --start-address=0xffffffff8184e840
--stop-address=0xffffffff8184e848 -l -d --no-show-raw -S -C
./vmlinux(test) 2>/dev/null|grep -v ./vmlinux(test):|expand'
Fix it by surrounding filename in double quotes.
Signed-off-by: Ravi Bangoria <ravi.bangoria@linux.vnet.ibm.com>
Cc: Adam Stylinski <adam.stylinski@etegent.com>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Christian Borntraeger <borntraeger@de.ibm.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Taeung Song <treeze.taeung@gmail.com>
Link: http://lkml.kernel.org/r/20170505101417.2117-1-ravi.bangoria@linux.vnet.ibm.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
tools/perf/util/annotate.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tools/perf/util/annotate.c b/tools/perf/util/annotate.c
index 683f8340460c..07d5608a675f 100644
--- a/tools/perf/util/annotate.c
+++ b/tools/perf/util/annotate.c
@@ -1429,7 +1429,7 @@ int symbol__disassemble(struct symbol *sym, struct map *map, const char *arch_na
snprintf(command, sizeof(command),
"%s %s%s --start-address=0x%016" PRIx64
" --stop-address=0x%016" PRIx64
- " -l -d %s %s -C %s 2>/dev/null|grep -v %s:|expand",
+ " -l -d %s %s -C \"%s\" 2>/dev/null|grep -v \"%s:\"|expand",
objdump_path ? objdump_path : "objdump",
disassembler_style ? "-M " : "",
disassembler_style ? disassembler_style : "",
--
2.9.4
^ permalink raw reply related [flat|nested] 25+ messages in thread
* [PATCH 02/11] perf trace: Add mmap alias for s390
2017-06-06 19:26 [GIT PULL 00/11] perf/urgent fixes Arnaldo Carvalho de Melo
2017-06-06 19:26 ` [PATCH 01/11] perf annotate: Fix failure when filename has special chars Arnaldo Carvalho de Melo
@ 2017-06-06 19:26 ` Arnaldo Carvalho de Melo
2017-06-06 19:26 ` [PATCH 03/11] perf annotate: Fix branch instruction with multiple operands Arnaldo Carvalho de Melo
` (9 subsequent siblings)
11 siblings, 0 replies; 25+ messages in thread
From: Arnaldo Carvalho de Melo @ 2017-06-06 19:26 UTC (permalink / raw)
To: Ingo Molnar
Cc: linux-kernel, Jiri Olsa, David Ahern, Namhyung Kim,
Peter Zijlstra, Arnaldo Carvalho de Melo
From: Jiri Olsa <jolsa@kernel.org>
The s390 architecture maps sys_mmap (nr 90) into sys_old_mmap. For this
reason perf trace can't find the proper syscall event to get args format
from and displays it wrongly as 'continued'.
To fix that fill the "alias" field with "old_mmap" for trace's mmap record
to get the correct translation.
Before:
0.042 ( 0.011 ms): vest/43052 fstat(statbuf: 0x3ffff89fd90 ) = 0
0.042 ( 0.028 ms): vest/43052 ... [continued]: mmap()) = 0x3fffd6e2000
0.072 ( 0.025 ms): vest/43052 read(buf: 0x3fffd6e2000, count: 4096 ) = 6
After:
0.045 ( 0.011 ms): fstat(statbuf: 0x3ffff8a0930 ) = 0
0.057 ( 0.018 ms): mmap(arg: 0x3ffff8a0858 ) = 0x3fffd14a000
0.076 ( 0.025 ms): read(buf: 0x3fffd14a000, count: 4096 ) = 6
Signed-off-by: Jiri Olsa <jolsa@kernel.org>
Cc: David Ahern <dsahern@gmail.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Link: http://lkml.kernel.org/r/20170531113557.19175-1-jolsa@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
tools/perf/builtin-trace.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/tools/perf/builtin-trace.c b/tools/perf/builtin-trace.c
index d014350adc52..4b2a5d298197 100644
--- a/tools/perf/builtin-trace.c
+++ b/tools/perf/builtin-trace.c
@@ -681,6 +681,10 @@ static struct syscall_fmt {
{ .name = "mlockall", .errmsg = true,
.arg_scnprintf = { [0] = SCA_HEX, /* addr */ }, },
{ .name = "mmap", .hexret = true,
+/* The standard mmap maps to old_mmap on s390x */
+#if defined(__s390x__)
+ .alias = "old_mmap",
+#endif
.arg_scnprintf = { [0] = SCA_HEX, /* addr */
[2] = SCA_MMAP_PROT, /* prot */
[3] = SCA_MMAP_FLAGS, /* flags */ }, },
--
2.9.4
^ permalink raw reply related [flat|nested] 25+ messages in thread
* [PATCH 03/11] perf annotate: Fix branch instruction with multiple operands
2017-06-06 19:26 [GIT PULL 00/11] perf/urgent fixes Arnaldo Carvalho de Melo
2017-06-06 19:26 ` [PATCH 01/11] perf annotate: Fix failure when filename has special chars Arnaldo Carvalho de Melo
2017-06-06 19:26 ` [PATCH 02/11] perf trace: Add mmap alias for s390 Arnaldo Carvalho de Melo
@ 2017-06-06 19:26 ` Arnaldo Carvalho de Melo
2017-06-06 19:26 ` [PATCH 04/11] perf stat: Only print NMI watchdog hint when enabled Arnaldo Carvalho de Melo
` (8 subsequent siblings)
11 siblings, 0 replies; 25+ messages in thread
From: Arnaldo Carvalho de Melo @ 2017-06-06 19:26 UTC (permalink / raw)
To: Ingo Molnar
Cc: linux-kernel, Kim Phillips, Alexander Shishkin,
Christian Borntraeger, Mark Rutland, Peter Zijlstra, Taeung Song,
Arnaldo Carvalho de Melo
From: Kim Phillips <kim.phillips@arm.com>
'perf annotate' is dropping the cr* fields from branch instructions.
Fix it by adding support to display branch instructions having
multiple operands.
Power Arch objdump of int_sqrt:
20.36 | c0000000004d2694: subf r10,r10,r3
| c0000000004d2698: v bgt cr6,c0000000004d26a0 <int_sqrt+0x40>
1.82 | c0000000004d269c: mr r3,r10
29.18 | c0000000004d26a0: mr r10,r8
| c0000000004d26a4: v bgt cr7,c0000000004d26ac <int_sqrt+0x4c>
| c0000000004d26a8: mr r10,r7
Power Arch Before Patch:
20.36 | subf r10,r10,r3
| v bgt 40
1.82 | mr r3,r10
29.18 | 40: mr r10,r8
| v bgt 4c
| mr r10,r7
Power Arch After patch:
20.36 | subf r10,r10,r3
| v bgt cr6,40
1.82 | mr r3,r10
29.18 | 40: mr r10,r8
| v bgt cr7,4c
| mr r10,r7
Also support AArch64 conditional branch instructions, which can
have up to three operands:
Aarch64 Non-simplified (raw objdump) view:
│ffff0000083cd11c: ↑ cbz w0, ffff0000083cd100 <security_fil▒
...
4.44 │ffff000│083cd134: ↓ tbnz w0, #26, ffff0000083cd190 <securit▒
...
1.37 │ffff000│083cd144: ↓ tbnz w22, #5, ffff0000083cd1a4 <securit▒
│ffff000│083cd148: mov w19, #0x20000 //▒
1.02 │ffff000│083cd14c: ↓ tbz w22, #2, ffff0000083cd1ac <securit▒
...
0.68 │ffff000└──3cd16c: ↑ cbnz w0, ffff0000083cd120 <security_fil▒
Aarch64 Simplified, before this patch:
│ ↑ cbz 40
...
4.44 │ │↓ tbnz w0, #26, ffff0000083cd190 <security_file_permiss▒
...
1.37 │ │↓ tbnz w22, #5, ffff0000083cd1a4 <security_file_permiss▒
│ │ mov w19, #0x20000 // #131072
1.02 │ │↓ tbz w22, #2, ffff0000083cd1ac <security_file_permiss▒
...
0.68 │ └──cbnz 60
the cbz operand is missing, and the tbz doesn't get simplified processing
at all because the parsing function failed to match an address.
Aarch64 Simplified, After this patch applied:
│ ↑ cbz w0, 40
...
4.44 │ │↓ tbnz w0, #26, d0
...
1.37 │ │↓ tbnz w22, #5, e4
│ │ mov w19, #0x20000 // #131072
1.02 │ │↓ tbz w22, #2, ec
...
0.68 │ └──cbnz w0, 60
Originally-by: Ravi Bangoria <ravi.bangoria@linux.vnet.ibm.com>
Tested-by: Ravi Bangoria <ravi.bangoria@linux.vnet.ibm.com>
Reported-by: Anton Blanchard <anton@samba.org>
Reported-by: Robin Murphy <robin.murphy@arm.com>
Signed-off-by: Kim Phillips <kim.phillips@arm.com>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Christian Borntraeger <borntraeger@de.ibm.com>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Taeung Song <treeze.taeung@gmail.com>
Link: http://lkml.kernel.org/r/20170601092959.f60d98912e8a1b66fd1e4c0e@arm.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
tools/perf/util/annotate.c | 33 ++++++++++++++++++++++++++++++---
1 file changed, 30 insertions(+), 3 deletions(-)
diff --git a/tools/perf/util/annotate.c b/tools/perf/util/annotate.c
index 07d5608a675f..1367d7e35242 100644
--- a/tools/perf/util/annotate.c
+++ b/tools/perf/util/annotate.c
@@ -239,10 +239,20 @@ static int jump__parse(struct arch *arch __maybe_unused, struct ins_operands *op
const char *s = strchr(ops->raw, '+');
const char *c = strchr(ops->raw, ',');
- if (c++ != NULL)
+ /*
+ * skip over possible up to 2 operands to get to address, e.g.:
+ * tbnz w0, #26, ffff0000083cd190 <security_file_permission+0xd0>
+ */
+ if (c++ != NULL) {
ops->target.addr = strtoull(c, NULL, 16);
- else
+ if (!ops->target.addr) {
+ c = strchr(c, ',');
+ if (c++ != NULL)
+ ops->target.addr = strtoull(c, NULL, 16);
+ }
+ } else {
ops->target.addr = strtoull(ops->raw, NULL, 16);
+ }
if (s++ != NULL) {
ops->target.offset = strtoull(s, NULL, 16);
@@ -257,10 +267,27 @@ static int jump__parse(struct arch *arch __maybe_unused, struct ins_operands *op
static int jump__scnprintf(struct ins *ins, char *bf, size_t size,
struct ins_operands *ops)
{
+ const char *c = strchr(ops->raw, ',');
+
if (!ops->target.addr || ops->target.offset < 0)
return ins__raw_scnprintf(ins, bf, size, ops);
- return scnprintf(bf, size, "%-6.6s %" PRIx64, ins->name, ops->target.offset);
+ if (c != NULL) {
+ const char *c2 = strchr(c + 1, ',');
+
+ /* check for 3-op insn */
+ if (c2 != NULL)
+ c = c2;
+ c++;
+
+ /* mirror arch objdump's space-after-comma style */
+ if (*c == ' ')
+ c++;
+ }
+
+ return scnprintf(bf, size, "%-6.6s %.*s%" PRIx64,
+ ins->name, c ? c - ops->raw : 0, ops->raw,
+ ops->target.offset);
}
static struct ins_ops jump_ops = {
--
2.9.4
^ permalink raw reply related [flat|nested] 25+ messages in thread
* [PATCH 04/11] perf stat: Only print NMI watchdog hint when enabled
2017-06-06 19:26 [GIT PULL 00/11] perf/urgent fixes Arnaldo Carvalho de Melo
` (2 preceding siblings ...)
2017-06-06 19:26 ` [PATCH 03/11] perf annotate: Fix branch instruction with multiple operands Arnaldo Carvalho de Melo
@ 2017-06-06 19:26 ` Arnaldo Carvalho de Melo
2017-06-06 19:26 ` [PATCH 05/11] perf header: Set proper module name when build-id event found Arnaldo Carvalho de Melo
` (7 subsequent siblings)
11 siblings, 0 replies; 25+ messages in thread
From: Arnaldo Carvalho de Melo @ 2017-06-06 19:26 UTC (permalink / raw)
To: Ingo Molnar; +Cc: linux-kernel, Andi Kleen, Arnaldo Carvalho de Melo
From: Andi Kleen <ak@linux.intel.com>
Only print the NMI watchdog hint when that watchdog it actually enabled.
This avoids printing these unnecessarily.
Signed-off-by: Andi Kleen <ak@linux.intel.com>
Acked-by: Jiri Olsa <jolsa@kernel.org>
Link: http://lkml.kernel.org/n/tip-lnw7edxnqsphkmeew857wz1i@git.kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
tools/perf/builtin-stat.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/tools/perf/builtin-stat.c b/tools/perf/builtin-stat.c
index a935b5023732..ad9324d1daf9 100644
--- a/tools/perf/builtin-stat.c
+++ b/tools/perf/builtin-stat.c
@@ -1578,6 +1578,7 @@ static void print_header(int argc, const char **argv)
static void print_footer(void)
{
FILE *output = stat_config.output;
+ int n;
if (!null_run)
fprintf(output, "\n");
@@ -1590,7 +1591,9 @@ static void print_footer(void)
}
fprintf(output, "\n\n");
- if (print_free_counters_hint)
+ if (print_free_counters_hint &&
+ sysctl__read_int("kernel/nmi_watchdog", &n) >= 0 &&
+ n > 0)
fprintf(output,
"Some events weren't counted. Try disabling the NMI watchdog:\n"
" echo 0 > /proc/sys/kernel/nmi_watchdog\n"
--
2.9.4
^ permalink raw reply related [flat|nested] 25+ messages in thread
* [PATCH 05/11] perf header: Set proper module name when build-id event found
2017-06-06 19:26 [GIT PULL 00/11] perf/urgent fixes Arnaldo Carvalho de Melo
` (3 preceding siblings ...)
2017-06-06 19:26 ` [PATCH 04/11] perf stat: Only print NMI watchdog hint when enabled Arnaldo Carvalho de Melo
@ 2017-06-06 19:26 ` Arnaldo Carvalho de Melo
2017-06-06 19:26 ` [PATCH 06/11] perf symbols: Set module info " Arnaldo Carvalho de Melo
` (6 subsequent siblings)
11 siblings, 0 replies; 25+ messages in thread
From: Arnaldo Carvalho de Melo @ 2017-06-06 19:26 UTC (permalink / raw)
To: Ingo Molnar
Cc: linux-kernel, Namhyung Kim, Andi Kleen, David Ahern,
Peter Zijlstra, kernel-team, Arnaldo Carvalho de Melo
From: Namhyung Kim <namhyung@kernel.org>
When perf processes build-id event, it creates DSOs with the build-id.
But it didn't set the module short name (like '[module-name]') so when
processing a kernel mmap event of the module, it cannot found the DSO as
it only checks the short names.
That leads for perf to create a same DSO without the build-id info and
it'll lookup the system path even if the DSO is already in the build-id
cache. After kernel was updated, perf cannot find the DSO and cannot
show symbols in it anymore.
You can see this if you have an old data file (w/ old kernel version):
$ perf report -i perf.data.old -v |& grep scsi_mod
build id event received for /lib/modules/3.19.2-1-ARCH/kernel/drivers/scsi/scsi_mod.ko.gz : cafe1ce6ca13a98a5d9ed3425cde249e57a27fc1
Failed to open /lib/modules/3.19.2-1-ARCH/kernel/drivers/scsi/scsi_mod.ko.gz, continuing without symbols
...
The second message didn't show the build-id. With this patch:
$ perf report -i perf.data.old -v |& grep scsi_mod
build id event received for /lib/modules/3.19.2-1-ARCH/kernel/drivers/scsi/scsi_mod.ko.gz: cafe1ce6ca13a98a5d9ed3425cde249e57a27fc1
/lib/modules/3.19.2-1-ARCH/kernel/drivers/scsi/scsi_mod.ko.gz with build id cafe1ce6ca13a98a5d9ed3425cde249e57a27fc1 not found, continuing without symbols
...
Now it shows the build-id but still cannot load the symbol table. This
is a different problem which will be fixed in the next patch.
Signed-off-by: Namhyung Kim <namhyung@kernel.org>
Acked-by: Jiri Olsa <jolsa@kernel.org>
Cc: Andi Kleen <andi@firstfloor.org>
Cc: David Ahern <dsahern@gmail.com>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: kernel-team@lge.com
Link: http://lkml.kernel.org/r/20170531120105.21731-1-namhyung@kernel.org
[ Fix the build on older compilers (debian <= 8, fedora <= 21, etc) wrt kmod_path var init ]
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
| 12 ++++++++++--
1 file changed, 10 insertions(+), 2 deletions(-)
--git a/tools/perf/util/header.c b/tools/perf/util/header.c
index 314a07151fb7..c40a4d8acf8b 100644
--- a/tools/perf/util/header.c
+++ b/tools/perf/util/header.c
@@ -1469,8 +1469,16 @@ static int __event_process_build_id(struct build_id_event *bev,
dso__set_build_id(dso, &bev->build_id);
- if (!is_kernel_module(filename, cpumode))
- dso->kernel = dso_type;
+ if (dso_type != DSO_TYPE_USER) {
+ struct kmod_path m = { .name = NULL, };
+
+ if (!kmod_path__parse_name(&m, filename) && m.kmod)
+ dso__set_short_name(dso, strdup(m.name), true);
+ else
+ dso->kernel = dso_type;
+
+ free(m.name);
+ }
build_id__sprintf(dso->build_id, sizeof(dso->build_id),
sbuild_id);
--
2.9.4
^ permalink raw reply related [flat|nested] 25+ messages in thread
* [PATCH 06/11] perf symbols: Set module info when build-id event found
2017-06-06 19:26 [GIT PULL 00/11] perf/urgent fixes Arnaldo Carvalho de Melo
` (4 preceding siblings ...)
2017-06-06 19:26 ` [PATCH 05/11] perf header: Set proper module name when build-id event found Arnaldo Carvalho de Melo
@ 2017-06-06 19:26 ` Arnaldo Carvalho de Melo
2017-06-06 19:26 ` [PATCH 07/11] perf symbols: Use correct filename for compressed modules in build-id cache Arnaldo Carvalho de Melo
` (5 subsequent siblings)
11 siblings, 0 replies; 25+ messages in thread
From: Arnaldo Carvalho de Melo @ 2017-06-06 19:26 UTC (permalink / raw)
To: Ingo Molnar
Cc: linux-kernel, Namhyung Kim, Andi Kleen, David Ahern,
Peter Zijlstra, kernel-team, Arnaldo Carvalho de Melo
From: Namhyung Kim <namhyung@kernel.org>
Like machine__findnew_module_dso(), it should set necessary info for
kernel modules to find symbol info from the file. Factor out
dso__set_module_info() to do it.
This is needed for dso__needs_decompress() to detect such DSOs.
Signed-off-by: Namhyung Kim <namhyung@kernel.org>
Acked-by: Jiri Olsa <jolsa@kernel.org>
Cc: Andi Kleen <andi@firstfloor.org>
Cc: David Ahern <dsahern@gmail.com>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: kernel-team@lge.com
Link: http://lkml.kernel.org/r/20170531120105.21731-2-namhyung@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
tools/perf/util/dso.c | 15 +++++++++++++++
tools/perf/util/dso.h | 3 +++
| 2 +-
tools/perf/util/machine.c | 11 +----------
4 files changed, 20 insertions(+), 11 deletions(-)
diff --git a/tools/perf/util/dso.c b/tools/perf/util/dso.c
index a96a99d2369f..b27d127cdf68 100644
--- a/tools/perf/util/dso.c
+++ b/tools/perf/util/dso.c
@@ -335,6 +335,21 @@ int __kmod_path__parse(struct kmod_path *m, const char *path,
return 0;
}
+void dso__set_module_info(struct dso *dso, struct kmod_path *m,
+ struct machine *machine)
+{
+ if (machine__is_host(machine))
+ dso->symtab_type = DSO_BINARY_TYPE__SYSTEM_PATH_KMODULE;
+ else
+ dso->symtab_type = DSO_BINARY_TYPE__GUEST_KMODULE;
+
+ /* _KMODULE_COMP should be next to _KMODULE */
+ if (m->kmod && m->comp)
+ dso->symtab_type++;
+
+ dso__set_short_name(dso, strdup(m->name), true);
+}
+
/*
* Global list of open DSOs and the counter.
*/
diff --git a/tools/perf/util/dso.h b/tools/perf/util/dso.h
index 12350b171727..5fe2ab5877bd 100644
--- a/tools/perf/util/dso.h
+++ b/tools/perf/util/dso.h
@@ -259,6 +259,9 @@ int __kmod_path__parse(struct kmod_path *m, const char *path,
#define kmod_path__parse_name(__m, __p) __kmod_path__parse(__m, __p, true , false)
#define kmod_path__parse_ext(__m, __p) __kmod_path__parse(__m, __p, false, true)
+void dso__set_module_info(struct dso *dso, struct kmod_path *m,
+ struct machine *machine);
+
/*
* The dso__data_* external interface provides following functions:
* dso__data_get_fd
--git a/tools/perf/util/header.c b/tools/perf/util/header.c
index c40a4d8acf8b..5cac8d5e009a 100644
--- a/tools/perf/util/header.c
+++ b/tools/perf/util/header.c
@@ -1473,7 +1473,7 @@ static int __event_process_build_id(struct build_id_event *bev,
struct kmod_path m = { .name = NULL, };
if (!kmod_path__parse_name(&m, filename) && m.kmod)
- dso__set_short_name(dso, strdup(m.name), true);
+ dso__set_module_info(dso, &m, machine);
else
dso->kernel = dso_type;
diff --git a/tools/perf/util/machine.c b/tools/perf/util/machine.c
index d97e014c3df3..d7f31cb0a4cb 100644
--- a/tools/perf/util/machine.c
+++ b/tools/perf/util/machine.c
@@ -572,16 +572,7 @@ static struct dso *machine__findnew_module_dso(struct machine *machine,
if (dso == NULL)
goto out_unlock;
- if (machine__is_host(machine))
- dso->symtab_type = DSO_BINARY_TYPE__SYSTEM_PATH_KMODULE;
- else
- dso->symtab_type = DSO_BINARY_TYPE__GUEST_KMODULE;
-
- /* _KMODULE_COMP should be next to _KMODULE */
- if (m->kmod && m->comp)
- dso->symtab_type++;
-
- dso__set_short_name(dso, strdup(m->name), true);
+ dso__set_module_info(dso, m, machine);
dso__set_long_name(dso, strdup(filename), true);
}
--
2.9.4
^ permalink raw reply related [flat|nested] 25+ messages in thread
* [PATCH 07/11] perf symbols: Use correct filename for compressed modules in build-id cache
2017-06-06 19:26 [GIT PULL 00/11] perf/urgent fixes Arnaldo Carvalho de Melo
` (5 preceding siblings ...)
2017-06-06 19:26 ` [PATCH 06/11] perf symbols: Set module info " Arnaldo Carvalho de Melo
@ 2017-06-06 19:26 ` Arnaldo Carvalho de Melo
2017-06-06 19:26 ` [PATCH 08/11] perf test: Disable breakpoint signal tests for powerpc Arnaldo Carvalho de Melo
` (4 subsequent siblings)
11 siblings, 0 replies; 25+ messages in thread
From: Arnaldo Carvalho de Melo @ 2017-06-06 19:26 UTC (permalink / raw)
To: Ingo Molnar
Cc: linux-kernel, Namhyung Kim, Andi Kleen, David Ahern,
Peter Zijlstra, kernel-team, Arnaldo Carvalho de Melo
From: Namhyung Kim <namhyung@kernel.org>
The decompress_kmodule() decompresses kernel modules in order to load
symbols from it. In the DSO_BINARY_TYPE__BUILD_ID_CACHE case, it needs
the full file path to extract the file extension to determine the
decompression method. But overwriting 'name' will fail the
decompression since it might point to a non-existing old file.
Instead, use dso->long_name for having the correct extension and use the
real filename to decompress.
In the DSO_BINARY_TYPE__SYSTEM_PATH_KMODULE_COMP case, both names should
be the same. This allows resolving symbols in the old modules.
Before:
$ perf report -i perf.data.old | grep scsi_mod
0.00% cc1 [scsi_mod] [k] 0x0000000000004aa6
0.00% as [scsi_mod] [k] 0x00000000000099e1
0.00% cc1 [scsi_mod] [k] 0x0000000000009830
0.00% cc1 [scsi_mod] [k] 0x0000000000001b8f
After:
0.00% cc1 [scsi_mod] [k] scsi_handle_queue_ramp_up
0.00% as [scsi_mod] [k] scsi_sg_alloc
0.00% cc1 [scsi_mod] [k] scsi_setup_cmnd
0.00% cc1 [scsi_mod] [k] scsi_get_command
Signed-off-by: Namhyung Kim <namhyung@kernel.org>
Acked-by: Jiri Olsa <jolsa@kernel.org>
Cc: Andi Kleen <andi@firstfloor.org>
Cc: David Ahern <dsahern@gmail.com>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: kernel-team@lge.com
Link: http://lkml.kernel.org/r/20170531120105.21731-3-namhyung@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
tools/perf/util/symbol-elf.c | 5 +----
1 file changed, 1 insertion(+), 4 deletions(-)
diff --git a/tools/perf/util/symbol-elf.c b/tools/perf/util/symbol-elf.c
index e7ee47f7377a..1fb2efae4f02 100644
--- a/tools/perf/util/symbol-elf.c
+++ b/tools/perf/util/symbol-elf.c
@@ -649,10 +649,7 @@ static int decompress_kmodule(struct dso *dso, const char *name,
type != DSO_BINARY_TYPE__BUILD_ID_CACHE)
return -1;
- if (type == DSO_BINARY_TYPE__BUILD_ID_CACHE)
- name = dso->long_name;
-
- if (kmod_path__parse_ext(&m, name) || !m.comp)
+ if (kmod_path__parse_ext(&m, dso->long_name) || !m.comp)
return -1;
fd = mkstemp(tmpbuf);
--
2.9.4
^ permalink raw reply related [flat|nested] 25+ messages in thread
* [PATCH 08/11] perf test: Disable breakpoint signal tests for powerpc
2017-06-06 19:26 [GIT PULL 00/11] perf/urgent fixes Arnaldo Carvalho de Melo
` (6 preceding siblings ...)
2017-06-06 19:26 ` [PATCH 07/11] perf symbols: Use correct filename for compressed modules in build-id cache Arnaldo Carvalho de Melo
@ 2017-06-06 19:26 ` Arnaldo Carvalho de Melo
2017-06-06 19:26 ` [PATCH 09/11] perf annotate: Add missing powerpc triplet Arnaldo Carvalho de Melo
` (3 subsequent siblings)
11 siblings, 0 replies; 25+ messages in thread
From: Arnaldo Carvalho de Melo @ 2017-06-06 19:26 UTC (permalink / raw)
To: Ingo Molnar
Cc: linux-kernel, Jiri Olsa, Jiri Olsa, David Ahern, Namhyung Kim,
Peter Zijlstra, Arnaldo Carvalho de Melo
From: Jiri Olsa <jolsa@redhat.com>
The following tests are failing on powerpc:
# perf test break
18: Breakpoint overflow signal handler : FAILED!
19: Breakpoint overflow sampling : FAILED!
The powerpc kenel so far does not have support to even create
instruction breakpoints using the perf event interface, so those tests
fail early in the config phase.
I added a '->is_supported()' callback to test struct to be able to
disable specific tests. It seems better than putting ifdefs directly to
the test array.
Signed-off-by: Jiri Olsa <jolsa@kernel.org>
Cc: David Ahern <dsahern@gmail.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Link: http://lkml.kernel.org/r/20170601205450.GA398@krava
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
tools/perf/tests/bp_signal.c | 14 ++++++++++++++
tools/perf/tests/builtin-test.c | 7 +++++++
tools/perf/tests/tests.h | 3 +++
3 files changed, 24 insertions(+)
diff --git a/tools/perf/tests/bp_signal.c b/tools/perf/tests/bp_signal.c
index e7664fe3bd33..8ba2c4618fe9 100644
--- a/tools/perf/tests/bp_signal.c
+++ b/tools/perf/tests/bp_signal.c
@@ -288,3 +288,17 @@ int test__bp_signal(int subtest __maybe_unused)
return count1 == 1 && overflows == 3 && count2 == 3 && overflows_2 == 3 && count3 == 2 ?
TEST_OK : TEST_FAIL;
}
+
+bool test__bp_signal_is_supported(void)
+{
+/*
+ * The powerpc so far does not have support to even create
+ * instruction breakpoint using the perf event interface.
+ * Once it's there we can release this.
+ */
+#ifdef __powerpc__
+ return false;
+#else
+ return true;
+#endif
+}
diff --git a/tools/perf/tests/builtin-test.c b/tools/perf/tests/builtin-test.c
index 9e08d297f1a9..3ccfd58a8c3c 100644
--- a/tools/perf/tests/builtin-test.c
+++ b/tools/perf/tests/builtin-test.c
@@ -97,10 +97,12 @@ static struct test generic_tests[] = {
{
.desc = "Breakpoint overflow signal handler",
.func = test__bp_signal,
+ .is_supported = test__bp_signal_is_supported,
},
{
.desc = "Breakpoint overflow sampling",
.func = test__bp_signal_overflow,
+ .is_supported = test__bp_signal_is_supported,
},
{
.desc = "Number of exit events of a simple workload",
@@ -401,6 +403,11 @@ static int __cmd_test(int argc, const char *argv[], struct intlist *skiplist)
if (!perf_test__matches(t, curr, argc, argv))
continue;
+ if (t->is_supported && !t->is_supported()) {
+ pr_debug("%2d: %-*s: Disabled\n", i, width, t->desc);
+ continue;
+ }
+
pr_info("%2d: %-*s:", i, width, t->desc);
if (intlist__find(skiplist, i)) {
diff --git a/tools/perf/tests/tests.h b/tools/perf/tests/tests.h
index 631859629403..577363809c9b 100644
--- a/tools/perf/tests/tests.h
+++ b/tools/perf/tests/tests.h
@@ -34,6 +34,7 @@ struct test {
int (*get_nr)(void);
const char *(*get_desc)(int subtest);
} subtest;
+ bool (*is_supported)(void);
};
/* Tests */
@@ -99,6 +100,8 @@ const char *test__clang_subtest_get_desc(int subtest);
int test__clang_subtest_get_nr(void);
int test__unit_number__scnprint(int subtest);
+bool test__bp_signal_is_supported(void);
+
#if defined(__arm__) || defined(__aarch64__)
#ifdef HAVE_DWARF_UNWIND_SUPPORT
struct thread;
--
2.9.4
^ permalink raw reply related [flat|nested] 25+ messages in thread
* [PATCH 09/11] perf annotate: Add missing powerpc triplet
2017-06-06 19:26 [GIT PULL 00/11] perf/urgent fixes Arnaldo Carvalho de Melo
` (7 preceding siblings ...)
2017-06-06 19:26 ` [PATCH 08/11] perf test: Disable breakpoint signal tests for powerpc Arnaldo Carvalho de Melo
@ 2017-06-06 19:26 ` Arnaldo Carvalho de Melo
2017-06-06 19:26 ` [PATCH 10/11] perf report: Include partial stacks unwound with libdw Arnaldo Carvalho de Melo
` (2 subsequent siblings)
11 siblings, 0 replies; 25+ messages in thread
From: Arnaldo Carvalho de Melo @ 2017-06-06 19:26 UTC (permalink / raw)
To: Ingo Molnar
Cc: linux-kernel, Kim Phillips, Alexander Shishkin, He Kuang,
Jiri Olsa, Peter Zijlstra, Ravi Bangoria,
Arnaldo Carvalho de Melo
From: Kim Phillips <kim.phillips@arm.com>
On an Ubuntu xenial system, 'perf annotate' says to install powerpc
objdump on a system that already has binutils-powerpc-linux-gnu
installed. Make perf aware of the missing triplet for the
powerpc-linux-gnu target.
Signed-off-by: Kim Phillips <kim.phillips@arm.com>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: He Kuang <hekuang@huawei.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Ravi Bangoria <ravi.bangoria@linux.vnet.ibm.com>
Link: http://lkml.kernel.org/r/20170529142754.7fbfb1152fd8f2663de0ea70@arm.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
tools/perf/arch/common.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/tools/perf/arch/common.c b/tools/perf/arch/common.c
index 837067f48a4c..6b40e9f01740 100644
--- a/tools/perf/arch/common.c
+++ b/tools/perf/arch/common.c
@@ -26,6 +26,7 @@ const char *const arm64_triplets[] = {
const char *const powerpc_triplets[] = {
"powerpc-unknown-linux-gnu-",
+ "powerpc-linux-gnu-",
"powerpc64-unknown-linux-gnu-",
"powerpc64-linux-gnu-",
"powerpc64le-linux-gnu-",
--
2.9.4
^ permalink raw reply related [flat|nested] 25+ messages in thread
* [PATCH 10/11] perf report: Include partial stacks unwound with libdw
2017-06-06 19:26 [GIT PULL 00/11] perf/urgent fixes Arnaldo Carvalho de Melo
` (8 preceding siblings ...)
2017-06-06 19:26 ` [PATCH 09/11] perf annotate: Add missing powerpc triplet Arnaldo Carvalho de Melo
@ 2017-06-06 19:26 ` Arnaldo Carvalho de Melo
2017-06-06 19:26 ` [PATCH 11/11] perf report: Ensure the perf DSO mapping matches what libdw sees Arnaldo Carvalho de Melo
2017-06-07 15:51 ` [GIT PULL 00/11] perf/urgent fixes Ingo Molnar
11 siblings, 0 replies; 25+ messages in thread
From: Arnaldo Carvalho de Melo @ 2017-06-06 19:26 UTC (permalink / raw)
To: Ingo Molnar
Cc: linux-kernel, Milian Wolff, Jiri Olsa, Namhyung Kim,
Arnaldo Carvalho de Melo
From: Milian Wolff <milian.wolff@kdab.com>
So far the whole stack was thrown away when any error occurred before
the maximum stack depth was unwound. This is actually a very common
scenario though. The stacks that got unwound so far are still
interesting. This removes a large chunk of differences when comparing
perf script output for libunwind and libdw perf unwinding.
E.g. with libunwind:
~~~~~
heaptrack_gui 2228 135073.388524: 479408 cycles:
ffffffff811749ed perf_iterate_ctx ([kernel.kallsyms])
ffffffff81181662 perf_event_mmap ([kernel.kallsyms])
ffffffff811cf5ed mmap_region ([kernel.kallsyms])
ffffffff811cfe6b do_mmap ([kernel.kallsyms])
ffffffff811b0dca vm_mmap_pgoff ([kernel.kallsyms])
ffffffff811cdb0c sys_mmap_pgoff ([kernel.kallsyms])
ffffffff81033acb sys_mmap ([kernel.kallsyms])
ffffffff81631d37 entry_SYSCALL_64_fastpath ([kernel.kallsyms])
192ca mmap64 (/usr/lib/ld-2.25.so)
59a9 _dl_map_object_from_fd (/usr/lib/ld-2.25.so)
83d0 _dl_map_object (/usr/lib/ld-2.25.so)
cda1 openaux (/usr/lib/ld-2.25.so)
1834f _dl_catch_error (/usr/lib/ld-2.25.so)
cfe2 _dl_map_object_deps (/usr/lib/ld-2.25.so)
3481 dl_main (/usr/lib/ld-2.25.so)
17387 _dl_sysdep_start (/usr/lib/ld-2.25.so)
4d37 _dl_start (/usr/lib/ld-2.25.so)
d87 _start (/usr/lib/ld-2.25.so)
heaptrack_gui 2228 135073.388677: 611329 cycles:
1a3e0 strcmp (/usr/lib/ld-2.25.so)
82b2 _dl_map_object (/usr/lib/ld-2.25.so)
cda1 openaux (/usr/lib/ld-2.25.so)
1834f _dl_catch_error (/usr/lib/ld-2.25.so)
cfe2 _dl_map_object_deps (/usr/lib/ld-2.25.so)
3481 dl_main (/usr/lib/ld-2.25.so)
17387 _dl_sysdep_start (/usr/lib/ld-2.25.so)
4d37 _dl_start (/usr/lib/ld-2.25.so)
d87 _start (/usr/lib/ld-2.25.so)
~~~~~
With libdw without this patch:
~~~~~
heaptrack_gui 2228 135073.388524: 479408 cycles:
ffffffff811749ed perf_iterate_ctx ([kernel.kallsyms])
ffffffff81181662 perf_event_mmap ([kernel.kallsyms])
ffffffff811cf5ed mmap_region ([kernel.kallsyms])
ffffffff811cfe6b do_mmap ([kernel.kallsyms])
ffffffff811b0dca vm_mmap_pgoff ([kernel.kallsyms])
ffffffff811cdb0c sys_mmap_pgoff ([kernel.kallsyms])
ffffffff81033acb sys_mmap ([kernel.kallsyms])
ffffffff81631d37 entry_SYSCALL_64_fastpath ([kernel.kallsyms])
heaptrack_gui 2228 135073.388677: 611329 cycles:
~~~~~
With this patch applied, the libdw unwinder will produce the same
output as the libunwind unwinder.
Signed-off-by: Milian Wolff <milian.wolff@kdab.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Link: http://lkml.kernel.org/r/20170601210021.20046-1-milian.wolff@kdab.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
tools/perf/util/unwind-libdw.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tools/perf/util/unwind-libdw.c b/tools/perf/util/unwind-libdw.c
index 943a06291587..b4c20124d2ee 100644
--- a/tools/perf/util/unwind-libdw.c
+++ b/tools/perf/util/unwind-libdw.c
@@ -224,7 +224,7 @@ int unwind__get_entries(unwind_entry_cb_t cb, void *arg,
err = dwfl_getthread_frames(ui->dwfl, thread->tid, frame_callback, ui);
- if (err && !ui->max_stack)
+ if (err && ui->max_stack != max_stack)
err = 0;
/*
--
2.9.4
^ permalink raw reply related [flat|nested] 25+ messages in thread
* [PATCH 11/11] perf report: Ensure the perf DSO mapping matches what libdw sees
2017-06-06 19:26 [GIT PULL 00/11] perf/urgent fixes Arnaldo Carvalho de Melo
` (9 preceding siblings ...)
2017-06-06 19:26 ` [PATCH 10/11] perf report: Include partial stacks unwound with libdw Arnaldo Carvalho de Melo
@ 2017-06-06 19:26 ` Arnaldo Carvalho de Melo
2017-06-07 15:51 ` [GIT PULL 00/11] perf/urgent fixes Ingo Molnar
11 siblings, 0 replies; 25+ messages in thread
From: Arnaldo Carvalho de Melo @ 2017-06-06 19:26 UTC (permalink / raw)
To: Ingo Molnar
Cc: linux-kernel, Milian Wolff, Jiri Olsa, Namhyung Kim,
Arnaldo Carvalho de Melo
From: Milian Wolff <milian.wolff@kdab.com>
In some situations the libdw unwinder stopped working properly. I.e.
with libunwind we see:
~~~~~
heaptrack_gui 2228 135073.400112: 641314 cycles:
e8ed _dl_fixup (/usr/lib/ld-2.25.so)
15f06 _dl_runtime_resolve_sse_vex (/usr/lib/ld-2.25.so)
ed94c KDynamicJobTracker::KDynamicJobTracker (/home/milian/projects/compiled/kf5/lib64/libKF5KIOWidgets.so.5.35.0)
608f3 _GLOBAL__sub_I_kdynamicjobtracker.cpp (/home/milian/projects/compiled/kf5/lib64/libKF5KIOWidgets.so.5.35.0)
f199 call_init.part.0 (/usr/lib/ld-2.25.so)
f2a5 _dl_init (/usr/lib/ld-2.25.so)
db9 _dl_start_user (/usr/lib/ld-2.25.so)
~~~~~
But with libdw and without this patch this sample is not properly
unwound:
~~~~~
heaptrack_gui 2228 135073.400112: 641314 cycles:
e8ed _dl_fixup (/usr/lib/ld-2.25.so)
15f06 _dl_runtime_resolve_sse_vex (/usr/lib/ld-2.25.so)
ed94c KDynamicJobTracker::KDynamicJobTracker (/home/milian/projects/compiled/kf5/lib64/libKF5KIOWidgets.so.5.35.0)
~~~~~
Debug output showed me that libdw found a module for the last frame
address, but it thinks it belongs to /usr/lib/ld-2.25.so. This patch
double-checks what libdw sees and what perf knows. If the mappings
mismatch, we now report the elf known to perf. This fixes the situation
above, and the libdw unwinder produces the same stack as libunwind.
Signed-off-by: Milian Wolff <milian.wolff@kdab.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Link: http://lkml.kernel.org/r/20170602143753.16907-1-milian.wolff@kdab.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
tools/perf/util/unwind-libdw.c | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/tools/perf/util/unwind-libdw.c b/tools/perf/util/unwind-libdw.c
index b4c20124d2ee..da45c4be5fb3 100644
--- a/tools/perf/util/unwind-libdw.c
+++ b/tools/perf/util/unwind-libdw.c
@@ -39,6 +39,14 @@ static int __report_module(struct addr_location *al, u64 ip,
return 0;
mod = dwfl_addrmodule(ui->dwfl, ip);
+ if (mod) {
+ Dwarf_Addr s;
+
+ dwfl_module_info(mod, NULL, &s, NULL, NULL, NULL, NULL, NULL);
+ if (s != al->map->start)
+ mod = 0;
+ }
+
if (!mod)
mod = dwfl_report_elf(ui->dwfl, dso->short_name,
dso->long_name, -1, al->map->start,
--
2.9.4
^ permalink raw reply related [flat|nested] 25+ messages in thread
* Re: [GIT PULL 00/11] perf/urgent fixes
2017-06-06 19:26 [GIT PULL 00/11] perf/urgent fixes Arnaldo Carvalho de Melo
` (10 preceding siblings ...)
2017-06-06 19:26 ` [PATCH 11/11] perf report: Ensure the perf DSO mapping matches what libdw sees Arnaldo Carvalho de Melo
@ 2017-06-07 15:51 ` Ingo Molnar
11 siblings, 0 replies; 25+ messages in thread
From: Ingo Molnar @ 2017-06-07 15:51 UTC (permalink / raw)
To: Arnaldo Carvalho de Melo
Cc: linux-kernel, Adam Stylinski, Alexander Shishkin, Andi Kleen,
Anton Blanchard, Christian Borntraeger, David Ahern, He Kuang,
Jiri Olsa, kernel-team, Kim Phillips, Mark Rutland, Milian Wolff,
Namhyung Kim, Peter Zijlstra, Ravi Bangoria, Robin Murphy,
Taeung Song, Arnaldo Carvalho de Melo
* Arnaldo Carvalho de Melo <acme@kernel.org> wrote:
> Hi Ingo,
>
> Please consider pulling,
>
> - Arnaldo
>
> The following changes since commit 6e30437bd42c4d4e9cfc4c40efda00eb83a11cde:
>
> tools/include: Sync kernel ABI headers with tooling headers (2017-05-24 09:00:21 +0200)
>
> are available in the git repository at:
>
> git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux.git tags/perf-urgent-for-mingo-4.12-20170606
>
> for you to fetch changes up to 2538b9e2450ae255337c04356e9e0f8cb9ec48d9:
>
> perf report: Ensure the perf DSO mapping matches what libdw sees (2017-06-05 14:18:05 -0300)
>
> ----------------------------------------------------------------
> perf/urgent fixes:
>
> - Only print NMI watchdog hint in 'perf stat' when it is enabled (Andi Kleen)
>
> - Fix sys_mmap/sys_old_mmap shandling in s390 in 'perf trace' (Jiri Olsa)
>
> - Disable breakpoint signal tests in powerpc, that lacks the perf kernel
> glue to set breakpoint events and makes 'perf test' always fail (Jiri Olsa)
>
> - Fix 'perf annotate' for branch instruction with multiple operands (Kim Phillips)
>
> - Add missing powerpc triplet when disassembling with 'objdump' in 'perf
> annotate' (Kim Phillips)
>
> - Do not trow away partial unwound stacks when using libdw, making
> callchains produced with it similar to those produced when linked with
> the other DWARF unwind library supported in perf, libunwind (Milian Wolff)
>
> - Fixes to properly handle kernel modules when processing build-id meta
> events (Namhyung Kim)
>
> - Fix handling of compressed modules in the build-id cache (Namhyung Kim)
>
> - Fix 'perf annotate' failure when filename has special chars (Ravi Bangoria)
>
> Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
>
> ----------------------------------------------------------------
> Andi Kleen (1):
> perf stat: Only print NMI watchdog hint when enabled
>
> Jiri Olsa (2):
> perf trace: Add mmap alias for s390
> perf test: Disable breakpoint signal tests for powerpc
>
> Kim Phillips (2):
> perf annotate: Fix branch instruction with multiple operands
> perf annotate: Add missing powerpc triplet
>
> Milian Wolff (2):
> perf report: Include partial stacks unwound with libdw
> perf report: Ensure the perf DSO mapping matches what libdw sees
>
> Namhyung Kim (3):
> perf header: Set proper module name when build-id event found
> perf symbols: Set module info when build-id event found
> perf symbols: Use correct filename for compressed modules in build-id cache
>
> Ravi Bangoria (1):
> perf annotate: Fix failure when filename has special chars
>
> tools/perf/arch/common.c | 1 +
> tools/perf/builtin-stat.c | 5 ++++-
> tools/perf/builtin-trace.c | 4 ++++
> tools/perf/tests/bp_signal.c | 14 ++++++++++++++
> tools/perf/tests/builtin-test.c | 7 +++++++
> tools/perf/tests/tests.h | 3 +++
> tools/perf/util/annotate.c | 35 +++++++++++++++++++++++++++++++----
> tools/perf/util/dso.c | 15 +++++++++++++++
> tools/perf/util/dso.h | 3 +++
> tools/perf/util/header.c | 12 ++++++++++--
> tools/perf/util/machine.c | 11 +----------
> tools/perf/util/symbol-elf.c | 5 +----
> tools/perf/util/unwind-libdw.c | 10 +++++++++-
> 13 files changed, 103 insertions(+), 22 deletions(-)
Pulled, thanks a lot Arnaldo!
Ingo
^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: [GIT PULL 00/11] perf/urgent fixes
2019-05-03 0:25 Arnaldo Carvalho de Melo
@ 2019-05-03 5:49 ` Ingo Molnar
0 siblings, 0 replies; 25+ messages in thread
From: Ingo Molnar @ 2019-05-03 5:49 UTC (permalink / raw)
To: Arnaldo Carvalho de Melo
Cc: Thomas Gleixner, Jiri Olsa, Namhyung Kim, Clark Williams,
linux-kernel, linux-perf-users, Arnaldo Carvalho de Melo, Bo YU,
Leo Yan, Robert Walker, Thadeu Lima de Souza Cascardo,
Thomas Backlund, Thomas Richter, Vineet Gupta
* Arnaldo Carvalho de Melo <acme@kernel.org> wrote:
> From: Arnaldo Carvalho de Melo <acme@redhat.com>
>
> Hi Ingo,
>
> This took a bit more time than I expected as I'm traveling,
> LSF/MM + BPF, and also some of the fixes I worked on and off while on my
> way here needed tweaks,
>
> Thanks,
>
> - Arnaldo
>
> Test results at the end of this message, as usual.
>
> The following changes since commit 1804569d87de903b4d746ba71512c3ed0a890d65:
>
> MAINTAINERS: Include vendor specific files under arch/*/events/* (2019-05-02 18:28:12 +0200)
>
> are available in the Git repository at:
>
> git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux.git tags/perf-urgent-for-mingo-5.1-20190502
>
> for you to fetch changes up to 7e221b811f1472d0c58c7d4e0fe84fcacd22580a:
>
> perf tools: Remove needless asm/unistd.h include fixing build in some places (2019-05-02 16:00:20 -0400)
>
> ----------------------------------------------------------------
> perf/urgent fixes:
>
> tools UAPI:
>
> Arnaldo Carvalho de Melo:
>
> - Sync x86's vmx.h with the kernel.
>
> - Copy missing unistd.h headers for arc, hexagon and riscv, fixing
> a reported build regression on the ARC 32-bit architecture.
>
> perf bench numa:
>
> Arnaldo Carvalho de Melo:
>
> - Add define for RUSAGE_THREAD if not present, fixing the build on the
> ARC architecture when only zlib and libnuma are present.
>
> perf BPF:
>
> Arnaldo Carvalho de Melo:
>
> - The disassembler-four-args feature test needs -ldl on distros such as
> Mageia 7.
>
> Bo YU:
>
> - Fix unlocking on success in perf_env__find_btf(), detected with
> the coverity tool.
>
> libtraceevent:
>
> Leo Yan:
>
> - Change misleading hard coded 'trace-cmd' string in error messages.
>
> ARM hardware tracing:
>
> Leo Yan:
>
> - Always allocate memory for cs_etm_queue::prev_packet, fixing a segfault
> when processing CoreSight perf data.
>
> perf annotate:
>
> Thadeu Lima de Souza Cascardo:
>
> - Fix build on 32 bit for BPF.
>
> perf report:
>
> Thomas Richter:
>
> - Report OOM in status line in the GTK UI.
>
> core libs:
>
> - Remove needless asm/unistd.h that, used with sys/syscall.h ended
> up redefining the syscalls defines in environments such as the
> ARC arch when using uClibc.
>
> Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
>
> ----------------------------------------------------------------
> Arnaldo Carvalho de Melo (5):
> tools uapi x86: Sync vmx.h with the kernel
> perf bench numa: Add define for RUSAGE_THREAD if not present
> tools build: Add -ldl to the disassembler-four-args feature test
> tools arch uapi: Copy missing unistd.h headers for arc, hexagon and riscv
> perf tools: Remove needless asm/unistd.h include fixing build in some places
>
> Bo YU (1):
> perf bpf: Return value with unlocking in perf_env__find_btf()
>
> Leo Yan (3):
> tools lib traceevent: Change tag string for error
> perf cs-etm: Don't check cs_etm_queue::prev_packet validity
> perf cs-etm: Always allocate memory for cs_etm_queue::prev_packet
>
> Thadeu Lima de Souza Cascardo (1):
> perf annotate: Fix build on 32 bit for BPF annotation
>
> Thomas Richter (1):
> perf report: Report OOM in status line in the GTK UI
>
> tools/arch/arc/include/uapi/asm/unistd.h | 51 ++++++++++++++++++++++++++++
> tools/arch/hexagon/include/uapi/asm/unistd.h | 40 ++++++++++++++++++++++
> tools/arch/riscv/include/uapi/asm/unistd.h | 42 +++++++++++++++++++++++
> tools/arch/x86/include/uapi/asm/vmx.h | 1 +
> tools/lib/traceevent/parse-utils.c | 2 +-
> tools/perf/Makefile.config | 2 +-
> tools/perf/bench/numa.c | 4 +++
> tools/perf/util/annotate.c | 8 ++---
> tools/perf/util/cloexec.c | 1 -
> tools/perf/util/cs-etm.c | 14 +++-----
> tools/perf/util/env.c | 2 +-
> tools/perf/util/session.c | 8 +++--
> 12 files changed, 154 insertions(+), 21 deletions(-)
> create mode 100644 tools/arch/arc/include/uapi/asm/unistd.h
> create mode 100644 tools/arch/hexagon/include/uapi/asm/unistd.h
> create mode 100644 tools/arch/riscv/include/uapi/asm/unistd.h
Pulled, thanks a lot Arnaldo!
Ingo
^ permalink raw reply [flat|nested] 25+ messages in thread
* [GIT PULL 00/11] perf/urgent fixes
@ 2019-05-03 0:25 Arnaldo Carvalho de Melo
2019-05-03 5:49 ` Ingo Molnar
0 siblings, 1 reply; 25+ messages in thread
From: Arnaldo Carvalho de Melo @ 2019-05-03 0:25 UTC (permalink / raw)
To: Ingo Molnar, Thomas Gleixner
Cc: Jiri Olsa, Namhyung Kim, Clark Williams, linux-kernel,
linux-perf-users, Arnaldo Carvalho de Melo, Bo YU, Leo Yan,
Robert Walker, Thadeu Lima de Souza Cascardo, Thomas Backlund,
Thomas Richter, Vineet Gupta
From: Arnaldo Carvalho de Melo <acme@redhat.com>
Hi Ingo,
This took a bit more time than I expected as I'm traveling,
LSF/MM + BPF, and also some of the fixes I worked on and off while on my
way here needed tweaks,
Thanks,
- Arnaldo
Test results at the end of this message, as usual.
The following changes since commit 1804569d87de903b4d746ba71512c3ed0a890d65:
MAINTAINERS: Include vendor specific files under arch/*/events/* (2019-05-02 18:28:12 +0200)
are available in the Git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux.git tags/perf-urgent-for-mingo-5.1-20190502
for you to fetch changes up to 7e221b811f1472d0c58c7d4e0fe84fcacd22580a:
perf tools: Remove needless asm/unistd.h include fixing build in some places (2019-05-02 16:00:20 -0400)
----------------------------------------------------------------
perf/urgent fixes:
tools UAPI:
Arnaldo Carvalho de Melo:
- Sync x86's vmx.h with the kernel.
- Copy missing unistd.h headers for arc, hexagon and riscv, fixing
a reported build regression on the ARC 32-bit architecture.
perf bench numa:
Arnaldo Carvalho de Melo:
- Add define for RUSAGE_THREAD if not present, fixing the build on the
ARC architecture when only zlib and libnuma are present.
perf BPF:
Arnaldo Carvalho de Melo:
- The disassembler-four-args feature test needs -ldl on distros such as
Mageia 7.
Bo YU:
- Fix unlocking on success in perf_env__find_btf(), detected with
the coverity tool.
libtraceevent:
Leo Yan:
- Change misleading hard coded 'trace-cmd' string in error messages.
ARM hardware tracing:
Leo Yan:
- Always allocate memory for cs_etm_queue::prev_packet, fixing a segfault
when processing CoreSight perf data.
perf annotate:
Thadeu Lima de Souza Cascardo:
- Fix build on 32 bit for BPF.
perf report:
Thomas Richter:
- Report OOM in status line in the GTK UI.
core libs:
- Remove needless asm/unistd.h that, used with sys/syscall.h ended
up redefining the syscalls defines in environments such as the
ARC arch when using uClibc.
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
----------------------------------------------------------------
Arnaldo Carvalho de Melo (5):
tools uapi x86: Sync vmx.h with the kernel
perf bench numa: Add define for RUSAGE_THREAD if not present
tools build: Add -ldl to the disassembler-four-args feature test
tools arch uapi: Copy missing unistd.h headers for arc, hexagon and riscv
perf tools: Remove needless asm/unistd.h include fixing build in some places
Bo YU (1):
perf bpf: Return value with unlocking in perf_env__find_btf()
Leo Yan (3):
tools lib traceevent: Change tag string for error
perf cs-etm: Don't check cs_etm_queue::prev_packet validity
perf cs-etm: Always allocate memory for cs_etm_queue::prev_packet
Thadeu Lima de Souza Cascardo (1):
perf annotate: Fix build on 32 bit for BPF annotation
Thomas Richter (1):
perf report: Report OOM in status line in the GTK UI
tools/arch/arc/include/uapi/asm/unistd.h | 51 ++++++++++++++++++++++++++++
tools/arch/hexagon/include/uapi/asm/unistd.h | 40 ++++++++++++++++++++++
tools/arch/riscv/include/uapi/asm/unistd.h | 42 +++++++++++++++++++++++
tools/arch/x86/include/uapi/asm/vmx.h | 1 +
tools/lib/traceevent/parse-utils.c | 2 +-
tools/perf/Makefile.config | 2 +-
tools/perf/bench/numa.c | 4 +++
tools/perf/util/annotate.c | 8 ++---
tools/perf/util/cloexec.c | 1 -
tools/perf/util/cs-etm.c | 14 +++-----
tools/perf/util/env.c | 2 +-
tools/perf/util/session.c | 8 +++--
12 files changed, 154 insertions(+), 21 deletions(-)
create mode 100644 tools/arch/arc/include/uapi/asm/unistd.h
create mode 100644 tools/arch/hexagon/include/uapi/asm/unistd.h
create mode 100644 tools/arch/riscv/include/uapi/asm/unistd.h
Test results:
The first ones are container based builds of tools/perf with and without libelf
support. Where clang is available, it is also used to build perf with/without
libelf, and building with LIBCLANGLLVM=1 (built-in clang) with gcc and clang
when clang and its devel libraries are installed.
The objtool and samples/bpf/ builds are disabled now that I'm switching from
using the sources in a local volume to fetching them from a http server to
build it inside the container, to make it easier to build in a container cluster.
Those will come back later.
Several are cross builds, the ones with -x-ARCH and the android one, and those
may not have all the features built, due to lack of multi-arch devel packages,
available and being used so far on just a few, like
debian:experimental-x-{arm64,mipsel}.
The 'perf test' one will perform a variety of tests exercising
tools/perf/util/, tools/lib/{bpf,traceevent,etc}, as well as run perf commands
with a variety of command line event specifications to then intercept the
sys_perf_event syscall to check that the perf_event_attr fields are set up as
expected, among a variety of other unit tests.
Then there is the 'make -C tools/perf build-test' ones, that build tools/perf/
with a variety of feature sets, exercising the build with an incomplete set of
features as well as with a complete one. It is planned to have it run on each
of the containers mentioned above, using some container orchestration
infrastructure. Get in contact if interested in helping having this in place.
$ export PERF_TARBALL=http://192.168.124.1/perf/perf-5.1.0-rc7.tar.xz
$ dm
1 alpine:3.4 : Ok gcc (Alpine 5.3.0) 5.3.0
2 alpine:3.5 : Ok gcc (Alpine 6.2.1) 6.2.1 20160822
3 alpine:3.6 : Ok gcc (Alpine 6.3.0) 6.3.0
4 alpine:3.7 : Ok gcc (Alpine 6.4.0) 6.4.0
5 alpine:3.8 : Ok gcc (Alpine 6.4.0) 6.4.0
6 alpine:3.9 : Ok gcc (Alpine 8.3.0) 8.3.0
7 alpine:edge : Ok gcc (Alpine 8.3.0) 8.3.0
8 amazonlinux:1 : Ok gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-28)
9 amazonlinux:2 : Ok gcc (GCC) 7.3.1 20180303 (Red Hat 7.3.1-5)
10 android-ndk:r12b-arm : Ok arm-linux-androideabi-gcc (GCC) 4.9.x 20150123 (prerelease)
11 android-ndk:r15c-arm : Ok arm-linux-androideabi-gcc (GCC) 4.9.x 20150123 (prerelease)
12 centos:5 : Ok gcc (GCC) 4.1.2 20080704 (Red Hat 4.1.2-55)
13 centos:6 : Ok gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-23)
14 centos:7 : Ok gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-36)
15 clearlinux:latest : Ok gcc (Clear Linux OS for Intel Architecture) 9.0.1 20190501 (prerelease) gcc-8-branch@270761
16 debian:8 : Ok gcc (Debian 4.9.2-10+deb8u2) 4.9.2
17 debian:9 : Ok gcc (Debian 6.3.0-18+deb9u1) 6.3.0 20170516
18 debian:experimental : Ok gcc (Debian 8.3.0-6) 8.3.0
19 debian:experimental-x-arm64 : Ok aarch64-linux-gnu-gcc (Debian 8.3.0-4) 8.3.0
20 debian:experimental-x-mips : Ok mips-linux-gnu-gcc (Debian 8.3.0-4) 8.3.0
21 debian:experimental-x-mips64 : Ok mips64-linux-gnuabi64-gcc (Debian 8.3.0-2) 8.3.0
22 debian:experimental-x-mipsel : Ok mipsel-linux-gnu-gcc (Debian 8.3.0-4) 8.3.0
23 fedora:20 : Ok gcc (GCC) 4.8.3 20140911 (Red Hat 4.8.3-7)
24 fedora:22 : Ok gcc (GCC) 5.3.1 20160406 (Red Hat 5.3.1-6)
25 fedora:23 : Ok gcc (GCC) 5.3.1 20160406 (Red Hat 5.3.1-6)
26 fedora:24 : Ok gcc (GCC) 6.3.1 20161221 (Red Hat 6.3.1-1)
27 fedora:24-x-ARC-uClibc : Ok arc-linux-gcc (ARCompact ISA Linux uClibc toolchain 2017.09-rc2) 7.1.1 20170710
28 fedora:25 : Ok gcc (GCC) 6.4.1 20170727 (Red Hat 6.4.1-1)
29 fedora:26 : Ok gcc (GCC) 7.3.1 20180130 (Red Hat 7.3.1-2)
30 fedora:27 : Ok gcc (GCC) 7.3.1 20180712 (Red Hat 7.3.1-6)
31 fedora:28 : Ok gcc (GCC) 8.3.1 20190223 (Red Hat 8.3.1-2)
32 fedora:29 : Ok gcc (GCC) 8.3.1 20190223 (Red Hat 8.3.1-2)
33 fedora:30 : Ok gcc (GCC) 9.0.1 20190312 (Red Hat 9.0.1-0.10)
34 fedora:30-x-ARC-glibc : Ok arc-linux-gcc (ARC HS GNU/Linux glibc toolchain 2019.03-rc1) 8.3.1 20190225
35 fedora:30-x-ARC-uClibc : Ok arc-linux-gcc (ARCv2 ISA Linux uClibc toolchain 2019.03-rc1) 8.3.1 20190225
36 fedora:rawhide : Ok gcc (GCC) 9.0.1 20190418 (Red Hat 9.0.1-0.14)
37 gentoo-stage3-amd64:latest : Ok gcc (Gentoo 8.2.0-r6 p1.7) 8.2.0
38 mageia:5 : Ok gcc (GCC) 4.9.2
39 mageia:6 : Ok gcc (Mageia 5.5.0-1.mga6) 5.5.0
40 opensuse:15.0 : Ok gcc (SUSE Linux) 7.3.1 20180323 [gcc-7-branch revision 258812]
41 opensuse:15.1 : Ok gcc (SUSE Linux) 7.4.0
42 opensuse:42.3 : Ok gcc (SUSE Linux) 4.8.5
43 opensuse:tumbleweed : Ok gcc (SUSE Linux) 8.3.1 20190226 [gcc-8-branch revision 269204]
44 oraclelinux:6 : Ok gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-23.0.1)
45 oraclelinux:7 : Ok gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-36.0.1)
46 ubuntu:12.04.5 : Ok gcc (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3
47 ubuntu:14.04.4 : Ok gcc (Ubuntu 4.8.4-2ubuntu1~14.04.4) 4.8.4
48 ubuntu:16.04 : Ok gcc (Ubuntu 5.4.0-6ubuntu1~16.04.11) 5.4.0 20160609
49 ubuntu:16.04-x-arm : Ok arm-linux-gnueabihf-gcc (Ubuntu/Linaro 5.4.0-6ubuntu1~16.04.9) 5.4.0 20160609
50 ubuntu:16.04-x-arm64 : Ok aarch64-linux-gnu-gcc (Ubuntu/Linaro 5.4.0-6ubuntu1~16.04.9) 5.4.0 20160609
51 ubuntu:16.04-x-powerpc : Ok powerpc-linux-gnu-gcc (Ubuntu 5.4.0-6ubuntu1~16.04.9) 5.4.0 20160609
52 ubuntu:16.04-x-powerpc64 : Ok powerpc64-linux-gnu-gcc (Ubuntu/IBM 5.4.0-6ubuntu1~16.04.9) 5.4.0 20160609
53 ubuntu:16.04-x-powerpc64el : Ok powerpc64le-linux-gnu-gcc (Ubuntu/IBM 5.4.0-6ubuntu1~16.04.9) 5.4.0 20160609
54 ubuntu:16.04-x-s390 : Ok s390x-linux-gnu-gcc (Ubuntu 5.4.0-6ubuntu1~16.04.9) 5.4.0 20160609
55 ubuntu:17.10 : Ok gcc (Ubuntu 7.2.0-8ubuntu3.2) 7.2.0
56 ubuntu:18.04 : Ok gcc (Ubuntu 7.3.0-27ubuntu1~18.04) 7.3.0
57 ubuntu:18.04-x-arm : Ok arm-linux-gnueabihf-gcc (Ubuntu/Linaro 7.3.0-27ubuntu1~18.04) 7.3.0
58 ubuntu:18.04-x-arm64 : Ok aarch64-linux-gnu-gcc (Ubuntu/Linaro 7.3.0-27ubuntu1~18.04) 7.3.0
59 ubuntu:18.04-x-m68k : Ok m68k-linux-gnu-gcc (Ubuntu 7.3.0-27ubuntu1~18.04) 7.3.0
60 ubuntu:18.04-x-powerpc : Ok powerpc-linux-gnu-gcc (Ubuntu 7.3.0-27ubuntu1~18.04) 7.3.0
61 ubuntu:18.04-x-powerpc64 : Ok powerpc64-linux-gnu-gcc (Ubuntu 7.3.0-27ubuntu1~18.04) 7.3.0
62 ubuntu:18.04-x-powerpc64el : Ok powerpc64le-linux-gnu-gcc (Ubuntu 7.3.0-27ubuntu1~18.04) 7.3.0
63 ubuntu:18.04-x-riscv64 : Ok riscv64-linux-gnu-gcc (Ubuntu 7.3.0-27ubuntu1~18.04) 7.3.0
64 ubuntu:18.04-x-s390 : Ok s390x-linux-gnu-gcc (Ubuntu 7.3.0-27ubuntu1~18.04) 7.3.0
65 ubuntu:18.04-x-sh4 : Ok sh4-linux-gnu-gcc (Ubuntu 7.3.0-27ubuntu1~18.04) 7.3.0
66 ubuntu:18.04-x-sparc64 : Ok sparc64-linux-gnu-gcc (Ubuntu 7.4.0-1ubuntu1~18.04) 7.4.0
67 ubuntu:18.10 : Ok gcc (Ubuntu 8.2.0-7ubuntu1) 8.2.0
68 ubuntu:19.04 : Ok gcc (Ubuntu 8.3.0-6ubuntu1) 8.3.0
69 ubuntu:19.04-x-alpha : Ok alpha-linux-gnu-gcc (Ubuntu 8.3.0-6ubuntu1) 8.3.0
70 ubuntu:19.04-x-arm64 : Ok aarch64-linux-gnu-gcc (Ubuntu/Linaro 8.3.0-6ubuntu1) 8.3.0
71 ubuntu:19.04-x-hppa : Ok hppa-linux-gnu-gcc (Ubuntu 8.3.0-6ubuntu1) 8.3.0
$
# uname -a
Linux quaco 5.1.0-rc7+ #1 SMP Thu May 2 09:47:59 EDT 2019 x86_64 x86_64 x86_64 GNU/Linux
# git log --oneline -1
7e221b811f14 perf tools: Remove needless asm/unistd.h include fixing build in some places
# perf version --build-options
perf version 5.1.rc7.g7e221b8
dwarf: [ on ] # HAVE_DWARF_SUPPORT
dwarf_getlocations: [ on ] # HAVE_DWARF_GETLOCATIONS_SUPPORT
glibc: [ on ] # HAVE_GLIBC_SUPPORT
gtk2: [ on ] # HAVE_GTK2_SUPPORT
syscall_table: [ on ] # HAVE_SYSCALL_TABLE_SUPPORT
libbfd: [ on ] # HAVE_LIBBFD_SUPPORT
libelf: [ on ] # HAVE_LIBELF_SUPPORT
libnuma: [ on ] # HAVE_LIBNUMA_SUPPORT
numa_num_possible_cpus: [ on ] # HAVE_LIBNUMA_SUPPORT
libperl: [ on ] # HAVE_LIBPERL_SUPPORT
libpython: [ on ] # HAVE_LIBPYTHON_SUPPORT
libslang: [ on ] # HAVE_SLANG_SUPPORT
libcrypto: [ on ] # HAVE_LIBCRYPTO_SUPPORT
libunwind: [ on ] # HAVE_LIBUNWIND_SUPPORT
libdw-dwarf-unwind: [ on ] # HAVE_DWARF_SUPPORT
zlib: [ on ] # HAVE_ZLIB_SUPPORT
lzma: [ on ] # HAVE_LZMA_SUPPORT
get_cpuid: [ on ] # HAVE_AUXTRACE_SUPPORT
bpf: [ on ] # HAVE_LIBBPF_SUPPORT
# perf test
1: vmlinux symtab matches kallsyms : Ok
2: Detect openat syscall event : Ok
3: Detect openat syscall event on all cpus : Ok
4: Read samples using the mmap interface : Ok
5: Test data source output : Ok
6: Parse event definition strings : Ok
7: Simple expression parser : Ok
8: PERF_RECORD_* events & perf_sample fields : Ok
9: Parse perf pmu format : Ok
10: DSO data read : Ok
11: DSO data cache : Ok
12: DSO data reopen : Ok
13: Roundtrip evsel->name : Ok
14: Parse sched tracepoints fields : Ok
15: syscalls:sys_enter_openat event fields : Ok
16: Setup struct perf_event_attr : Ok
17: Match and link multiple hists : Ok
18: 'import perf' in python : Ok
19: Breakpoint overflow signal handler : Ok
20: Breakpoint overflow sampling : Ok
21: Breakpoint accounting : Ok
22: Watchpoint :
22.1: Read Only Watchpoint : Skip
22.2: Write Only Watchpoint : Ok
22.3: Read / Write Watchpoint : Ok
22.4: Modify Watchpoint : Ok
23: Number of exit events of a simple workload : Ok
24: Software clock events period values : Ok
25: Object code reading : Ok
26: Sample parsing : Ok
27: Use a dummy software event to keep tracking : Ok
28: Parse with no sample_id_all bit set : Ok
29: Filter hist entries : Ok
30: Lookup mmap thread : Ok
31: Share thread mg : Ok
32: Sort output of hist entries : Ok
33: Cumulate child hist entries : Ok
34: Track with sched_switch : Ok
35: Filter fds with revents mask in a fdarray : Ok
36: Add fd to a fdarray, making it autogrow : Ok
37: kmod_path__parse : Ok
38: Thread map : Ok
39: LLVM search and compile :
39.1: Basic BPF llvm compile : Ok
39.2: kbuild searching : Ok
39.3: Compile source for BPF prologue generation : Ok
39.4: Compile source for BPF relocation : Ok
40: Session topology : Ok
41: BPF filter :
41.1: Basic BPF filtering : Ok
41.2: BPF pinning : Ok
41.3: BPF prologue generation : Ok
41.4: BPF relocation checker : Ok
42: Synthesize thread map : Ok
43: Remove thread map : Ok
44: Synthesize cpu map : Ok
45: Synthesize stat config : Ok
46: Synthesize stat : Ok
47: Synthesize stat round : Ok
48: Synthesize attr update : Ok
49: Event times : Ok
50: Read backward ring buffer : Ok
51: Print cpu map : Ok
52: Probe SDT events : Ok
53: is_printable_array : Ok
54: Print bitmap : Ok
55: perf hooks : Ok
56: builtin clang support : Skip (not compiled in)
57: unit_number__scnprintf : Ok
58: mem2node : Ok
59: x86 rdpmc : Ok
60: Convert perf time to TSC : Ok
61: DWARF unwind : Ok
62: x86 instruction decoder - new instructions : Ok
63: x86 bp modify : Ok
64: probe libc's inet_pton & backtrace it with ping : Ok
65: Use vfs_getname probe to get syscall args filenames : Ok
66: Add vfs_getname probe to get syscall args filenames : Ok
67: Check open filename arg using perf trace + vfs_getname: Ok
$ make -C tools/perf build-test
make: Entering directory '/home/acme/git/perf/tools/perf'
- tarpkg: ./tests/perf-targz-src-pkg .
make_no_scripts_O: make NO_LIBPYTHON=1 NO_LIBPERL=1
make_debug_O: make DEBUG=1
make_minimal_O: make NO_LIBPERL=1 NO_LIBPYTHON=1 NO_NEWT=1 NO_GTK2=1 NO_DEMANGLE=1 NO_LIBELF=1 NO_LIBUNWIND=1 NO_BACKTRACE=1 NO_LIBNUMA=1 NO_LIBAUDIT=1 NO_LIBBIONIC=1 NO_LIBDW_DWARF_UNWIND=1 NO_AUXTRACE=1 NO_LIBBPF=1 NO_LIBCRYPTO=1 NO_SDT=1 NO_JVMTI=1
make_no_demangle_O: make NO_DEMANGLE=1
make_no_libbionic_O: make NO_LIBBIONIC=1
make_tags_O: make tags
make_no_backtrace_O: make NO_BACKTRACE=1
make_no_libunwind_O: make NO_LIBUNWIND=1
make_no_libbpf_O: make NO_LIBBPF=1
make_util_pmu_bison_o_O: make util/pmu-bison.o
make_pure_O: make
make_no_auxtrace_O: make NO_AUXTRACE=1
make_install_prefix_O: make install prefix=/tmp/krava
make_perf_o_O: make perf.o
make_no_slang_O: make NO_SLANG=1
make_no_libperl_O: make NO_LIBPERL=1
make_doc_O: make doc
make_no_ui_O: make NO_NEWT=1 NO_SLANG=1 NO_GTK2=1
make_no_newt_O: make NO_NEWT=1
make_no_libpython_O: make NO_LIBPYTHON=1
make_help_O: make help
make_no_libaudit_O: make NO_LIBAUDIT=1
make_clean_all_O: make clean all
make_with_clangllvm_O: make LIBCLANGLLVM=1
make_no_libelf_O: make NO_LIBELF=1
make_no_libnuma_O: make NO_LIBNUMA=1
make_no_libdw_dwarf_unwind_O: make NO_LIBDW_DWARF_UNWIND=1
make_install_O: make install
make_no_gtk2_O: make NO_GTK2=1
make_util_map_o_O: make util/map.o
make_static_O: make LDFLAGS=-static
make_install_prefix_slash_O: make install prefix=/tmp/krava/
make_install_bin_O: make install-bin
make_with_babeltrace_O: make LIBBABELTRACE=1
make_cscope_O: make cscope
OK
make: Leaving directory '/home/acme/git/perf/tools/perf'
$
^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: [GIT PULL 00/11] perf/urgent fixes
2018-10-17 22:54 ` Arnaldo Carvalho de Melo
(?)
@ 2018-10-18 5:44 ` Ingo Molnar
-1 siblings, 0 replies; 25+ messages in thread
From: Ingo Molnar @ 2018-10-18 5:44 UTC (permalink / raw)
To: Arnaldo Carvalho de Melo
Cc: Clark Williams, linux-kernel, linux-perf-users, Adrian Hunter,
Alexander Shishkin, Andi Kleen, David Ahern, David S . Miller,
Drew Schmitt, Hadrien Grasland, Herton R. Krzesinski,
Jarod Wilson, Jin Yao, Jiri Olsa, John Garry, Kan Liang,
linuxarm, linux-arm-kernel, Mark Rutland, Michael Petlan,
Milian Wolff, Namhyung Kim, Paolo Bonzini, Peter Zijlstra,
Stephane Eranian, Steven Rostedt, Tzvetomir Stoyanov,
Vitaly Kuznetsov, Wang Nan, Will Deacon, William Cohen,
Yordan Karadzhov, Arnaldo Carvalho de Melo
* Arnaldo Carvalho de Melo <acme@kernel.org> wrote:
> Hi Ingo,
>
> Please consider pulling,
>
> Best Regards,
>
> - Arnaldo
>
> Test results at the end of this message, as usual.
>
> The following changes since commit c1883f10cfe05c707cce46d6999411c50a2413ca:
>
> Merge tag 'perf-urgent-for-mingo-4.19-20181005' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/urgent (2018-10-05 18:14:00 +0200)
>
> are available in the Git repository at:
>
> git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux.git tags/perf-urgent-for-mingo-4.19-20181017
>
> for you to fetch changes up to edeb0c90df3581b821a764052d185df985f8b8dc:
>
> perf tools: Stop fallbacking to kallsyms for vdso symbols lookup (2018-10-17 15:56:15 -0300)
>
> ----------------------------------------------------------------
> perf/urgent fixes:
>
> - Stop fallbacking to kallsyms for vDSO symbols lookup, this wasn't
> being really used and is not valid in arches such as Sparc, where
> user and kernel space don't share the address space, relying only on
> cpumode to figure out what DSOs to lookup (Arnaldo Carvalho de Melo)
>
> - Align cpu map synthesized events properly, fixing SIGBUS in
> CPUs like Sparc (David Miller)
>
> - Fix use of alternatives to find JDIR (Jarod Wilson)
>
> - Store ids for events with their own cpus when synthesizing user
> level event details (scale, unit, etc) events, fixing a crash
> when recording a PMU event with a cpumask defined (Jiri Olsa)
>
> - Fix wrong filter_band* values for uncore Intel vendor events (Jiri Olsa)
>
> - Fix detection of tracefs path in systems without tracefs, where
> that path should be the debugfs mountpoint plus "/tracing/" (Jiri Olsa)
>
> - Pass build flags to traceevent build, allowing using alternative
> flags in distro packages, RPM, for instance (Jiri Olsa)
>
> - Fix 'perf report' crash on invalid inline debug information (Milian Wolff)
>
> - Synch kvm uapi copies (Arnaldo Carvalho de Melo)
>
> Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
>
> ----------------------------------------------------------------
> Arnaldo Carvalho de Melo (3):
> tools arch uapi: Sync the x86 kvm.h copy
> tools headers uapi: Sync kvm.h copy
> perf tools: Stop fallbacking to kallsyms for vdso symbols lookup
>
> David Miller (1):
> perf cpu_map: Align cpu map synthesized events properly.
>
> Jarod Wilson (1):
> perf tools: Fix use of alternatives to find JDIR
>
> Jiri Olsa (5):
> Revert "perf tools: Fix PMU term format max value calculation"
> perf vendor events intel: Fix wrong filter_band* values for uncore events
> perf evsel: Store ids for events with their own cpus perf_event__synthesize_event_update_cpus
> perf tools: Fix tracing_path_mount proper path
> perf tools: Pass build flags to traceevent build
>
> Milian Wolff (1):
> perf report: Don't crash on invalid inline debug information
>
> tools/arch/x86/include/uapi/asm/kvm.h | 1 +
> tools/include/uapi/linux/kvm.h | 1 +
> tools/lib/api/fs/tracing_path.c | 4 ++--
> tools/perf/Makefile.config | 2 +-
> tools/perf/Makefile.perf | 2 +-
> tools/perf/builtin-report.c | 1 +
> .../pmu-events/arch/x86/ivytown/uncore-power.json | 16 ++++++++--------
> .../pmu-events/arch/x86/jaketown/uncore-power.json | 16 ++++++++--------
> tools/perf/util/event.c | 22 +++-------------------
> tools/perf/util/evsel.c | 3 +++
> tools/perf/util/pmu.c | 13 +++++++------
> tools/perf/util/srcline.c | 3 +++
> 12 files changed, 39 insertions(+), 45 deletions(-)
Pulled, thanks a lot Arnaldo!
Ingo
^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: [GIT PULL 00/11] perf/urgent fixes
@ 2018-10-18 5:44 ` Ingo Molnar
0 siblings, 0 replies; 25+ messages in thread
From: Ingo Molnar @ 2018-10-18 5:44 UTC (permalink / raw)
To: Arnaldo Carvalho de Melo
Cc: Clark Williams, linux-kernel, linux-perf-users, Adrian Hunter,
Alexander Shishkin, Andi Kleen, David Ahern, David S . Miller,
Drew Schmitt, Hadrien Grasland, Herton R. Krzesinski,
Jarod Wilson, Jin Yao, Jiri Olsa, John Garry, Kan Liang,
linuxarm, linux-arm-kernel, Mark Rutland, Michael Petlan,
Milian Wolff
* Arnaldo Carvalho de Melo <acme@kernel.org> wrote:
> Hi Ingo,
>
> Please consider pulling,
>
> Best Regards,
>
> - Arnaldo
>
> Test results at the end of this message, as usual.
>
> The following changes since commit c1883f10cfe05c707cce46d6999411c50a2413ca:
>
> Merge tag 'perf-urgent-for-mingo-4.19-20181005' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/urgent (2018-10-05 18:14:00 +0200)
>
> are available in the Git repository at:
>
> git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux.git tags/perf-urgent-for-mingo-4.19-20181017
>
> for you to fetch changes up to edeb0c90df3581b821a764052d185df985f8b8dc:
>
> perf tools: Stop fallbacking to kallsyms for vdso symbols lookup (2018-10-17 15:56:15 -0300)
>
> ----------------------------------------------------------------
> perf/urgent fixes:
>
> - Stop fallbacking to kallsyms for vDSO symbols lookup, this wasn't
> being really used and is not valid in arches such as Sparc, where
> user and kernel space don't share the address space, relying only on
> cpumode to figure out what DSOs to lookup (Arnaldo Carvalho de Melo)
>
> - Align cpu map synthesized events properly, fixing SIGBUS in
> CPUs like Sparc (David Miller)
>
> - Fix use of alternatives to find JDIR (Jarod Wilson)
>
> - Store ids for events with their own cpus when synthesizing user
> level event details (scale, unit, etc) events, fixing a crash
> when recording a PMU event with a cpumask defined (Jiri Olsa)
>
> - Fix wrong filter_band* values for uncore Intel vendor events (Jiri Olsa)
>
> - Fix detection of tracefs path in systems without tracefs, where
> that path should be the debugfs mountpoint plus "/tracing/" (Jiri Olsa)
>
> - Pass build flags to traceevent build, allowing using alternative
> flags in distro packages, RPM, for instance (Jiri Olsa)
>
> - Fix 'perf report' crash on invalid inline debug information (Milian Wolff)
>
> - Synch kvm uapi copies (Arnaldo Carvalho de Melo)
>
> Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
>
> ----------------------------------------------------------------
> Arnaldo Carvalho de Melo (3):
> tools arch uapi: Sync the x86 kvm.h copy
> tools headers uapi: Sync kvm.h copy
> perf tools: Stop fallbacking to kallsyms for vdso symbols lookup
>
> David Miller (1):
> perf cpu_map: Align cpu map synthesized events properly.
>
> Jarod Wilson (1):
> perf tools: Fix use of alternatives to find JDIR
>
> Jiri Olsa (5):
> Revert "perf tools: Fix PMU term format max value calculation"
> perf vendor events intel: Fix wrong filter_band* values for uncore events
> perf evsel: Store ids for events with their own cpus perf_event__synthesize_event_update_cpus
> perf tools: Fix tracing_path_mount proper path
> perf tools: Pass build flags to traceevent build
>
> Milian Wolff (1):
> perf report: Don't crash on invalid inline debug information
>
> tools/arch/x86/include/uapi/asm/kvm.h | 1 +
> tools/include/uapi/linux/kvm.h | 1 +
> tools/lib/api/fs/tracing_path.c | 4 ++--
> tools/perf/Makefile.config | 2 +-
> tools/perf/Makefile.perf | 2 +-
> tools/perf/builtin-report.c | 1 +
> .../pmu-events/arch/x86/ivytown/uncore-power.json | 16 ++++++++--------
> .../pmu-events/arch/x86/jaketown/uncore-power.json | 16 ++++++++--------
> tools/perf/util/event.c | 22 +++-------------------
> tools/perf/util/evsel.c | 3 +++
> tools/perf/util/pmu.c | 13 +++++++------
> tools/perf/util/srcline.c | 3 +++
> 12 files changed, 39 insertions(+), 45 deletions(-)
Pulled, thanks a lot Arnaldo!
Ingo
^ permalink raw reply [flat|nested] 25+ messages in thread
* [GIT PULL 00/11] perf/urgent fixes
@ 2018-10-18 5:44 ` Ingo Molnar
0 siblings, 0 replies; 25+ messages in thread
From: Ingo Molnar @ 2018-10-18 5:44 UTC (permalink / raw)
To: linux-arm-kernel
* Arnaldo Carvalho de Melo <acme@kernel.org> wrote:
> Hi Ingo,
>
> Please consider pulling,
>
> Best Regards,
>
> - Arnaldo
>
> Test results at the end of this message, as usual.
>
> The following changes since commit c1883f10cfe05c707cce46d6999411c50a2413ca:
>
> Merge tag 'perf-urgent-for-mingo-4.19-20181005' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/urgent (2018-10-05 18:14:00 +0200)
>
> are available in the Git repository at:
>
> git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux.git tags/perf-urgent-for-mingo-4.19-20181017
>
> for you to fetch changes up to edeb0c90df3581b821a764052d185df985f8b8dc:
>
> perf tools: Stop fallbacking to kallsyms for vdso symbols lookup (2018-10-17 15:56:15 -0300)
>
> ----------------------------------------------------------------
> perf/urgent fixes:
>
> - Stop fallbacking to kallsyms for vDSO symbols lookup, this wasn't
> being really used and is not valid in arches such as Sparc, where
> user and kernel space don't share the address space, relying only on
> cpumode to figure out what DSOs to lookup (Arnaldo Carvalho de Melo)
>
> - Align cpu map synthesized events properly, fixing SIGBUS in
> CPUs like Sparc (David Miller)
>
> - Fix use of alternatives to find JDIR (Jarod Wilson)
>
> - Store ids for events with their own cpus when synthesizing user
> level event details (scale, unit, etc) events, fixing a crash
> when recording a PMU event with a cpumask defined (Jiri Olsa)
>
> - Fix wrong filter_band* values for uncore Intel vendor events (Jiri Olsa)
>
> - Fix detection of tracefs path in systems without tracefs, where
> that path should be the debugfs mountpoint plus "/tracing/" (Jiri Olsa)
>
> - Pass build flags to traceevent build, allowing using alternative
> flags in distro packages, RPM, for instance (Jiri Olsa)
>
> - Fix 'perf report' crash on invalid inline debug information (Milian Wolff)
>
> - Synch kvm uapi copies (Arnaldo Carvalho de Melo)
>
> Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
>
> ----------------------------------------------------------------
> Arnaldo Carvalho de Melo (3):
> tools arch uapi: Sync the x86 kvm.h copy
> tools headers uapi: Sync kvm.h copy
> perf tools: Stop fallbacking to kallsyms for vdso symbols lookup
>
> David Miller (1):
> perf cpu_map: Align cpu map synthesized events properly.
>
> Jarod Wilson (1):
> perf tools: Fix use of alternatives to find JDIR
>
> Jiri Olsa (5):
> Revert "perf tools: Fix PMU term format max value calculation"
> perf vendor events intel: Fix wrong filter_band* values for uncore events
> perf evsel: Store ids for events with their own cpus perf_event__synthesize_event_update_cpus
> perf tools: Fix tracing_path_mount proper path
> perf tools: Pass build flags to traceevent build
>
> Milian Wolff (1):
> perf report: Don't crash on invalid inline debug information
>
> tools/arch/x86/include/uapi/asm/kvm.h | 1 +
> tools/include/uapi/linux/kvm.h | 1 +
> tools/lib/api/fs/tracing_path.c | 4 ++--
> tools/perf/Makefile.config | 2 +-
> tools/perf/Makefile.perf | 2 +-
> tools/perf/builtin-report.c | 1 +
> .../pmu-events/arch/x86/ivytown/uncore-power.json | 16 ++++++++--------
> .../pmu-events/arch/x86/jaketown/uncore-power.json | 16 ++++++++--------
> tools/perf/util/event.c | 22 +++-------------------
> tools/perf/util/evsel.c | 3 +++
> tools/perf/util/pmu.c | 13 +++++++------
> tools/perf/util/srcline.c | 3 +++
> 12 files changed, 39 insertions(+), 45 deletions(-)
Pulled, thanks a lot Arnaldo!
Ingo
^ permalink raw reply [flat|nested] 25+ messages in thread
* [GIT PULL 00/11] perf/urgent fixes
@ 2018-10-17 22:54 ` Arnaldo Carvalho de Melo
0 siblings, 0 replies; 25+ messages in thread
From: Arnaldo Carvalho de Melo @ 2018-10-17 22:54 UTC (permalink / raw)
To: Ingo Molnar
Cc: Clark Williams, linux-kernel, linux-perf-users,
Arnaldo Carvalho de Melo, Adrian Hunter, Alexander Shishkin,
Andi Kleen, David Ahern, David S . Miller, Drew Schmitt,
Hadrien Grasland, Herton R. Krzesinski, Jarod Wilson, Jin Yao,
Jiri Olsa, John Garry, Kan Liang, linuxarm, linux-arm-kernel,
Mark Rutland, Michael Petlan, Milian Wolff, Namhyung Kim,
Paolo Bonzini, Peter Zijlstra, Stephane Eranian, Steven Rostedt,
Tzvetomir Stoyanov, Vitaly Kuznetsov, Wang Nan, Will Deacon,
William Cohen, Yordan Karadzhov, Arnaldo Carvalho de Melo
Hi Ingo,
Please consider pulling,
Best Regards,
- Arnaldo
Test results at the end of this message, as usual.
The following changes since commit c1883f10cfe05c707cce46d6999411c50a2413ca:
Merge tag 'perf-urgent-for-mingo-4.19-20181005' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/urgent (2018-10-05 18:14:00 +0200)
are available in the Git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux.git tags/perf-urgent-for-mingo-4.19-20181017
for you to fetch changes up to edeb0c90df3581b821a764052d185df985f8b8dc:
perf tools: Stop fallbacking to kallsyms for vdso symbols lookup (2018-10-17 15:56:15 -0300)
----------------------------------------------------------------
perf/urgent fixes:
- Stop fallbacking to kallsyms for vDSO symbols lookup, this wasn't
being really used and is not valid in arches such as Sparc, where
user and kernel space don't share the address space, relying only on
cpumode to figure out what DSOs to lookup (Arnaldo Carvalho de Melo)
- Align cpu map synthesized events properly, fixing SIGBUS in
CPUs like Sparc (David Miller)
- Fix use of alternatives to find JDIR (Jarod Wilson)
- Store ids for events with their own cpus when synthesizing user
level event details (scale, unit, etc) events, fixing a crash
when recording a PMU event with a cpumask defined (Jiri Olsa)
- Fix wrong filter_band* values for uncore Intel vendor events (Jiri Olsa)
- Fix detection of tracefs path in systems without tracefs, where
that path should be the debugfs mountpoint plus "/tracing/" (Jiri Olsa)
- Pass build flags to traceevent build, allowing using alternative
flags in distro packages, RPM, for instance (Jiri Olsa)
- Fix 'perf report' crash on invalid inline debug information (Milian Wolff)
- Synch kvm uapi copies (Arnaldo Carvalho de Melo)
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
----------------------------------------------------------------
Arnaldo Carvalho de Melo (3):
tools arch uapi: Sync the x86 kvm.h copy
tools headers uapi: Sync kvm.h copy
perf tools: Stop fallbacking to kallsyms for vdso symbols lookup
David Miller (1):
perf cpu_map: Align cpu map synthesized events properly.
Jarod Wilson (1):
perf tools: Fix use of alternatives to find JDIR
Jiri Olsa (5):
Revert "perf tools: Fix PMU term format max value calculation"
perf vendor events intel: Fix wrong filter_band* values for uncore events
perf evsel: Store ids for events with their own cpus perf_event__synthesize_event_update_cpus
perf tools: Fix tracing_path_mount proper path
perf tools: Pass build flags to traceevent build
Milian Wolff (1):
perf report: Don't crash on invalid inline debug information
tools/arch/x86/include/uapi/asm/kvm.h | 1 +
tools/include/uapi/linux/kvm.h | 1 +
tools/lib/api/fs/tracing_path.c | 4 ++--
tools/perf/Makefile.config | 2 +-
tools/perf/Makefile.perf | 2 +-
tools/perf/builtin-report.c | 1 +
.../pmu-events/arch/x86/ivytown/uncore-power.json | 16 ++++++++--------
.../pmu-events/arch/x86/jaketown/uncore-power.json | 16 ++++++++--------
tools/perf/util/event.c | 22 +++-------------------
tools/perf/util/evsel.c | 3 +++
tools/perf/util/pmu.c | 13 +++++++------
tools/perf/util/srcline.c | 3 +++
12 files changed, 39 insertions(+), 45 deletions(-)
Test results:
The first ones are container (docker) based builds of tools/perf with
and without libelf support. Where clang is available, it is also used
to build perf with/without libelf, and building with LIBCLANGLLVM=1
(built-in clang) with gcc and clang when clang and its devel libraries
are installed.
The objtool and samples/bpf/ builds are disabled now that I'm switching from
using the sources in a local volume to fetching them from a http server to
build it inside the container, to make it easier to build in a container cluster.
Those will come back later.
Several are cross builds, the ones with -x-ARCH and the android one, and those
may not have all the features built, due to lack of multi-arch devel packages,
available and being used so far on just a few, like
debian:experimental-x-{arm64,mipsel}.
The 'perf test' one will perform a variety of tests exercising
tools/perf/util/, tools/lib/{bpf,traceevent,etc}, as well as run perf commands
with a variety of command line event specifications to then intercept the
sys_perf_event syscall to check that the perf_event_attr fields are set up as
expected, among a variety of other unit tests.
Then there is the 'make -C tools/perf build-test' ones, that build tools/perf/
with a variety of feature sets, exercising the build with an incomplete set of
features as well as with a complete one. It is planned to have it run on each
of the containers mentioned above, using some container orchestration
infrastructure. Get in contact if interested in helping having this in place.
This one is being investigatd, doesn't look like its a regression introduced by
this patchset.
63: probe libc's inet_pton & backtrace it with ping : FAILED!
# dm
1 alpine:3.4 : Ok gcc (Alpine 5.3.0) 5.3.0
2 alpine:3.5 : Ok gcc (Alpine 6.2.1) 6.2.1 20160822
3 alpine:3.6 : Ok gcc (Alpine 6.3.0) 6.3.0
4 alpine:3.7 : Ok gcc (Alpine 6.4.0) 6.4.0
5 alpine:3.8 : Ok gcc (Alpine 6.4.0) 6.4.0
6 alpine:edge : Ok gcc (Alpine 6.4.0) 6.4.0
7 amazonlinux:1 : Ok gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-28)
8 amazonlinux:2 : Ok gcc (GCC) 7.3.1 20180303 (Red Hat 7.3.1-5)
9 android-ndk:r12b-arm : Ok arm-linux-androideabi-gcc (GCC) 4.9.x 20150123 (prerelease)
10 android-ndk:r15c-arm : Ok arm-linux-androideabi-gcc (GCC) 4.9.x 20150123 (prerelease)
11 centos:5 : Ok gcc (GCC) 4.1.2 20080704 (Red Hat 4.1.2-55)
12 centos:6 : Ok gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-23)
13 centos:7 : Ok gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-28)
14 clearlinux:latest : Ok gcc (Clear Linux OS for Intel Architecture) 8.2.1 20180502
15 debian:7 : Ok gcc (Debian 4.7.2-5) 4.7.2
16 debian:8 : Ok gcc (Debian 4.9.2-10+deb8u1) 4.9.2
17 debian:9 : Ok gcc (Debian 6.3.0-18+deb9u1) 6.3.0 20170516
18 debian:experimental : Ok gcc (Debian 8.2.0-7) 8.2.0
19 debian:experimental-x-arm64 : Ok aarch64-linux-gnu-gcc (Debian 8.2.0-7) 8.2.0
20 debian:experimental-x-mips : Ok mips-linux-gnu-gcc (Debian 8.1.0-12) 8.1.0
21 debian:experimental-x-mips64 : Ok mips64-linux-gnuabi64-gcc (Debian 8.1.0-12) 8.1.0
22 debian:experimental-x-mipsel : Ok mipsel-linux-gnu-gcc (Debian 8.1.0-12) 8.1.0
23 fedora:20 : Ok gcc (GCC) 4.8.3 20140911 (Red Hat 4.8.3-7)
24 fedora:21 : Ok gcc (GCC) 4.9.2 20150212 (Red Hat 4.9.2-6)
25 fedora:22 : Ok gcc (GCC) 5.3.1 20160406 (Red Hat 5.3.1-6)
26 fedora:23 : Ok gcc (GCC) 5.3.1 20160406 (Red Hat 5.3.1-6)
27 fedora:24 : Ok gcc (GCC) 6.3.1 20161221 (Red Hat 6.3.1-1)
28 fedora:24-x-ARC-uClibc : Ok arc-linux-gcc (ARCompact ISA Linux uClibc toolchain 2017.09-rc2) 7.1.1 20170710
29 fedora:25 : Ok gcc (GCC) 6.4.1 20170727 (Red Hat 6.4.1-1)
30 fedora:26 : Ok gcc (GCC) 7.3.1 20180130 (Red Hat 7.3.1-2)
31 fedora:27 : Ok gcc (GCC) 7.3.1 20180712 (Red Hat 7.3.1-6)
32 fedora:28 : Ok gcc (GCC) 8.1.1 20180712 (Red Hat 8.1.1-5)
33 fedora:rawhide : Ok gcc (GCC) 8.2.1 20180905 (Red Hat 8.2.1-3)
34 gentoo-stage3-amd64:latest : Ok gcc (Gentoo 7.3.0-r3 p1.4) 7.3.0
35 mageia:5 : Ok gcc (GCC) 4.9.2
36 mageia:6 : Ok gcc (Mageia 5.5.0-1.mga6) 5.5.0
37 opensuse:13.2 : Ok gcc (SUSE Linux) 4.8.3 20140627 [gcc-4_8-branch revision 212064]
38 opensuse:42.1 : Ok gcc (SUSE Linux) 4.8.5
39 opensuse:42.2 : Ok gcc (SUSE Linux) 4.8.5
40 opensuse:42.3 : Ok gcc (SUSE Linux) 4.8.5
41 opensuse:tumbleweed : Ok gcc (SUSE Linux) 7.3.1 20180323 [gcc-7-branch revision 258812]
42 oraclelinux:6 : Ok gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-23.0.1)
43 oraclelinux:7 : Ok gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-28.0.1)
44 ubuntu:12.04.5 : Ok gcc (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3
45 ubuntu:14.04.4 : Ok gcc (Ubuntu 4.8.4-2ubuntu1~14.04.3) 4.8.4
46 ubuntu:14.04.4-x-linaro-arm64 : Ok aarch64-linux-gnu-gcc (Linaro GCC 5.5-2017.10) 5.5.0
47 ubuntu:16.04 : Ok gcc (Ubuntu 5.4.0-6ubuntu1~16.04.10) 5.4.0 20160609
48 ubuntu:16.04-x-arm : Ok arm-linux-gnueabihf-gcc (Ubuntu/Linaro 5.4.0-6ubuntu1~16.04.9) 5.4.0 20160609
49 ubuntu:16.04-x-arm64 : Ok aarch64-linux-gnu-gcc (Ubuntu/Linaro 5.4.0-6ubuntu1~16.04.9) 5.4.0 20160609
50 ubuntu:16.04-x-powerpc : Ok powerpc-linux-gnu-gcc (Ubuntu 5.4.0-6ubuntu1~16.04.9) 5.4.0 20160609
51 ubuntu:16.04-x-powerpc64 : Ok powerpc64-linux-gnu-gcc (Ubuntu/IBM 5.4.0-6ubuntu1~16.04.9) 5.4.0 20160609
52 ubuntu:16.04-x-powerpc64el : Ok powerpc64le-linux-gnu-gcc (Ubuntu/IBM 5.4.0-6ubuntu1~16.04.9) 5.4.0 20160609
53 ubuntu:16.04-x-s390 : Ok s390x-linux-gnu-gcc (Ubuntu 5.4.0-6ubuntu1~16.04.9) 5.4.0 20160609
54 ubuntu:16.10 : Ok gcc (Ubuntu 6.2.0-5ubuntu12) 6.2.0 20161005
55 ubuntu:17.10 : Ok gcc (Ubuntu 7.2.0-8ubuntu3.2) 7.2.0
56 ubuntu:18.04 : Ok gcc (Ubuntu 7.3.0-16ubuntu3) 7.3.0
57 ubuntu:18.04-x-arm : Ok arm-linux-gnueabihf-gcc (Ubuntu/Linaro 7.3.0-27ubuntu1~18.04) 7.3.0
58 ubuntu:18.04-x-arm64 : Ok aarch64-linux-gnu-gcc (Ubuntu/Linaro 7.3.0-27ubuntu1~18.04) 7.3.0
59 ubuntu:18.04-x-m68k : Ok m68k-linux-gnu-gcc (Ubuntu 7.3.0-27ubuntu1~18.04) 7.3.0
60 ubuntu:18.04-x-powerpc : Ok powerpc-linux-gnu-gcc (Ubuntu 7.3.0-27ubuntu1~18.04) 7.3.0
61 ubuntu:18.04-x-powerpc64 : Ok powerpc64-linux-gnu-gcc (Ubuntu 7.3.0-27ubuntu1~18.04) 7.3.0
62 ubuntu:18.04-x-powerpc64el : Ok powerpc64le-linux-gnu-gcc (Ubuntu 7.3.0-27ubuntu1~18.04) 7.3.0
63 ubuntu:18.04-x-riscv64 : Ok riscv64-linux-gnu-gcc (Ubuntu 7.3.0-27ubuntu1~18.04) 7.3.0
64 ubuntu:18.04-x-s390 : Ok s390x-linux-gnu-gcc (Ubuntu 7.3.0-27ubuntu1~18.04) 7.3.0
65 ubuntu:18.04-x-sh4 : Ok sh4-linux-gnu-gcc (Ubuntu 7.3.0-27ubuntu1~18.04) 7.3.0
66 ubuntu:18.04-x-sparc64 : Ok sparc64-linux-gnu-gcc (Ubuntu 7.3.0-27ubuntu1~18.04) 7.3.0
67 ubuntu:18.10 : Ok gcc (Ubuntu 8.2.0-7ubuntu1) 8.2.0
# uname -a
Linux seventh 4.19.0-rc8-00014-gc0cff31be705 #1 SMP Wed Oct 17 09:00:22 -03 2018 x86_64 x86_64 x86_64 GNU/Linux
# git log --oneline -1
edeb0c90df35 perf tools: Stop fallbacking to kallsyms for vdso symbols lookup
# perf version --build-options
perf version 4.19.rc5.gedeb0c9
dwarf: [ on ] # HAVE_DWARF_SUPPORT
dwarf_getlocations: [ on ] # HAVE_DWARF_GETLOCATIONS_SUPPORT
glibc: [ on ] # HAVE_GLIBC_SUPPORT
gtk2: [ on ] # HAVE_GTK2_SUPPORT
syscall_table: [ on ] # HAVE_SYSCALL_TABLE_SUPPORT
libbfd: [ on ] # HAVE_LIBBFD_SUPPORT
libelf: [ on ] # HAVE_LIBELF_SUPPORT
libnuma: [ on ] # HAVE_LIBNUMA_SUPPORT
numa_num_possible_cpus: [ on ] # HAVE_LIBNUMA_SUPPORT
libperl: [ on ] # HAVE_LIBPERL_SUPPORT
libpython: [ on ] # HAVE_LIBPYTHON_SUPPORT
libslang: [ on ] # HAVE_SLANG_SUPPORT
libcrypto: [ on ] # HAVE_LIBCRYPTO_SUPPORT
libunwind: [ on ] # HAVE_LIBUNWIND_SUPPORT
libdw-dwarf-unwind: [ on ] # HAVE_DWARF_SUPPORT
zlib: [ on ] # HAVE_ZLIB_SUPPORT
lzma: [ on ] # HAVE_LZMA_SUPPORT
get_cpuid: [ on ] # HAVE_AUXTRACE_SUPPORT
bpf: [ on ] # HAVE_LIBBPF_SUPPORT
# perf test
1: vmlinux symtab matches kallsyms : Ok
2: Detect openat syscall event : Ok
3: Detect openat syscall event on all cpus : Ok
4: Read samples using the mmap interface : Ok
5: Test data source output : Ok
6: Parse event definition strings : Ok
7: Simple expression parser : Ok
8: PERF_RECORD_* events & perf_sample fields : Ok
9: Parse perf pmu format : Ok
10: DSO data read : Ok
11: DSO data cache : Ok
12: DSO data reopen : Ok
13: Roundtrip evsel->name : Ok
14: Parse sched tracepoints fields : Ok
15: syscalls:sys_enter_openat event fields : Ok
16: Setup struct perf_event_attr : Ok
17: Match and link multiple hists : Ok
18: 'import perf' in python : Ok
19: Breakpoint overflow signal handler : Ok
20: Breakpoint overflow sampling : Ok
21: Breakpoint accounting : Ok
22: Number of exit events of a simple workload : Ok
23: Software clock events period values : Ok
24: Object code reading : Ok
25: Sample parsing : Ok
26: Use a dummy software event to keep tracking : Ok
27: Parse with no sample_id_all bit set : Ok
28: Filter hist entries : Ok
29: Lookup mmap thread : Ok
30: Share thread mg : Ok
31: Sort output of hist entries : Ok
32: Cumulate child hist entries : Ok
33: Track with sched_switch : Ok
34: Filter fds with revents mask in a fdarray : Ok
35: Add fd to a fdarray, making it autogrow : Ok
36: kmod_path__parse : Ok
37: Thread map : Ok
38: LLVM search and compile :
38.1: Basic BPF llvm compile : Ok
38.2: kbuild searching : Ok
38.3: Compile source for BPF prologue generation : Ok
38.4: Compile source for BPF relocation : Ok
39: Session topology : Ok
40: BPF filter :
40.1: Basic BPF filtering : Ok
40.2: BPF pinning : Ok
40.3: BPF prologue generation : Ok
40.4: BPF relocation checker : Ok
41: Synthesize thread map : Ok
42: Remove thread map : Ok
43: Synthesize cpu map : Ok
44: Synthesize stat config : Ok
45: Synthesize stat : Ok
46: Synthesize stat round : Ok
47: Synthesize attr update : Ok
48: Event times : Ok
49: Read backward ring buffer : Ok
50: Print cpu map : Ok
51: Probe SDT events : Ok
52: is_printable_array : Ok
53: Print bitmap : Ok
54: perf hooks : Ok
55: builtin clang support : Skip (not compiled in)
56: unit_number__scnprintf : Ok
57: mem2node : Ok
58: x86 rdpmc : Ok
59: Convert perf time to TSC : Ok
60: DWARF unwind : Ok
61: x86 instruction decoder - new instructions : Ok
62: x86 bp modify : Ok
63: probe libc's inet_pton & backtrace it with ping : FAILED!
64: Check open filename arg using perf trace + vfs_getname: Ok
65: Use vfs_getname probe to get syscall args filenames : Ok
66: Add vfs_getname probe to get syscall args filenames : Ok
$ make -C tools/perf build-test
make: Entering directory '/home/acme/git/perf/tools/perf'
- tarpkg: ./tests/perf-targz-src-pkg .
make_no_demangle_O: make NO_DEMANGLE=1
make_perf_o_O: make perf.o
make_no_ui_O: make NO_NEWT=1 NO_SLANG=1 NO_GTK2=1
make_install_O: make install
make_no_libaudit_O: make NO_LIBAUDIT=1
make_minimal_O: make NO_LIBPERL=1 NO_LIBPYTHON=1 NO_NEWT=1 NO_GTK2=1 NO_DEMANGLE=1 NO_LIBELF=1 NO_LIBUNWIND=1 NO_BACKTRACE=1 NO_LIBNUMA=1 NO_LIBAUDIT=1 NO_LIBBIONIC=1 NO_LIBDW_DWARF_UNWIND=1 NO_AUXTRACE=1 NO_LIBBPF=1 NO_LIBCRYPTO=1 NO_SDT=1 NO_JVMTI=1
make_util_map_o_O: make util/map.o
make_no_slang_O: make NO_SLANG=1
make_tags_O: make tags
make_no_libdw_dwarf_unwind_O: make NO_LIBDW_DWARF_UNWIND=1
make_no_libelf_O: make NO_LIBELF=1
make_with_clangllvm_O: make LIBCLANGLLVM=1
make_no_libpython_O: make NO_LIBPYTHON=1
make_no_libbionic_O: make NO_LIBBIONIC=1
make_no_libbpf_O: make NO_LIBBPF=1
make_help_O: make help
make_with_babeltrace_O: make LIBBABELTRACE=1
make_clean_all_O: make clean all
make_no_backtrace_O: make NO_BACKTRACE=1
make_no_libperl_O: make NO_LIBPERL=1
make_no_scripts_O: make NO_LIBPYTHON=1 NO_LIBPERL=1
make_pure_O: make
make_debug_O: make DEBUG=1
make_util_pmu_bison_o_O: make util/pmu-bison.o
make_no_libnuma_O: make NO_LIBNUMA=1
make_install_prefix_O: make install prefix=/tmp/krava
make_no_libunwind_O: make NO_LIBUNWIND=1
make_install_bin_O: make install-bin
make_install_prefix_slash_O: make install prefix=/tmp/krava/
make_static_O: make LDFLAGS=-static
make_no_newt_O: make NO_NEWT=1
make_doc_O: make doc
make_no_gtk2_O: make NO_GTK2=1
make_no_auxtrace_O: make NO_AUXTRACE=1
OK
make: Leaving directory '/home/acme/git/perf/tools/perf'
$
^ permalink raw reply [flat|nested] 25+ messages in thread
* [GIT PULL 00/11] perf/urgent fixes
@ 2018-10-17 22:54 ` Arnaldo Carvalho de Melo
0 siblings, 0 replies; 25+ messages in thread
From: Arnaldo Carvalho de Melo @ 2018-10-17 22:54 UTC (permalink / raw)
To: Ingo Molnar
Cc: Clark Williams, linux-kernel, linux-perf-users,
Arnaldo Carvalho de Melo, Adrian Hunter, Alexander Shishkin,
Andi Kleen, David Ahern, David S . Miller, Drew Schmitt,
Hadrien Grasland, Herton R. Krzesinski, Jarod Wilson, Jin Yao,
Jiri Olsa, John Garry, Kan Liang, linuxarm, linux-arm-kernel,
Mark Rutland, Michael
Hi Ingo,
Please consider pulling,
Best Regards,
- Arnaldo
Test results at the end of this message, as usual.
The following changes since commit c1883f10cfe05c707cce46d6999411c50a2413ca:
Merge tag 'perf-urgent-for-mingo-4.19-20181005' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/urgent (2018-10-05 18:14:00 +0200)
are available in the Git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux.git tags/perf-urgent-for-mingo-4.19-20181017
for you to fetch changes up to edeb0c90df3581b821a764052d185df985f8b8dc:
perf tools: Stop fallbacking to kallsyms for vdso symbols lookup (2018-10-17 15:56:15 -0300)
----------------------------------------------------------------
perf/urgent fixes:
- Stop fallbacking to kallsyms for vDSO symbols lookup, this wasn't
being really used and is not valid in arches such as Sparc, where
user and kernel space don't share the address space, relying only on
cpumode to figure out what DSOs to lookup (Arnaldo Carvalho de Melo)
- Align cpu map synthesized events properly, fixing SIGBUS in
CPUs like Sparc (David Miller)
- Fix use of alternatives to find JDIR (Jarod Wilson)
- Store ids for events with their own cpus when synthesizing user
level event details (scale, unit, etc) events, fixing a crash
when recording a PMU event with a cpumask defined (Jiri Olsa)
- Fix wrong filter_band* values for uncore Intel vendor events (Jiri Olsa)
- Fix detection of tracefs path in systems without tracefs, where
that path should be the debugfs mountpoint plus "/tracing/" (Jiri Olsa)
- Pass build flags to traceevent build, allowing using alternative
flags in distro packages, RPM, for instance (Jiri Olsa)
- Fix 'perf report' crash on invalid inline debug information (Milian Wolff)
- Synch kvm uapi copies (Arnaldo Carvalho de Melo)
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
----------------------------------------------------------------
Arnaldo Carvalho de Melo (3):
tools arch uapi: Sync the x86 kvm.h copy
tools headers uapi: Sync kvm.h copy
perf tools: Stop fallbacking to kallsyms for vdso symbols lookup
David Miller (1):
perf cpu_map: Align cpu map synthesized events properly.
Jarod Wilson (1):
perf tools: Fix use of alternatives to find JDIR
Jiri Olsa (5):
Revert "perf tools: Fix PMU term format max value calculation"
perf vendor events intel: Fix wrong filter_band* values for uncore events
perf evsel: Store ids for events with their own cpus perf_event__synthesize_event_update_cpus
perf tools: Fix tracing_path_mount proper path
perf tools: Pass build flags to traceevent build
Milian Wolff (1):
perf report: Don't crash on invalid inline debug information
tools/arch/x86/include/uapi/asm/kvm.h | 1 +
tools/include/uapi/linux/kvm.h | 1 +
tools/lib/api/fs/tracing_path.c | 4 ++--
tools/perf/Makefile.config | 2 +-
tools/perf/Makefile.perf | 2 +-
tools/perf/builtin-report.c | 1 +
.../pmu-events/arch/x86/ivytown/uncore-power.json | 16 ++++++++--------
.../pmu-events/arch/x86/jaketown/uncore-power.json | 16 ++++++++--------
tools/perf/util/event.c | 22 +++-------------------
tools/perf/util/evsel.c | 3 +++
tools/perf/util/pmu.c | 13 +++++++------
tools/perf/util/srcline.c | 3 +++
12 files changed, 39 insertions(+), 45 deletions(-)
Test results:
The first ones are container (docker) based builds of tools/perf with
and without libelf support. Where clang is available, it is also used
to build perf with/without libelf, and building with LIBCLANGLLVM=1
(built-in clang) with gcc and clang when clang and its devel libraries
are installed.
The objtool and samples/bpf/ builds are disabled now that I'm switching from
using the sources in a local volume to fetching them from a http server to
build it inside the container, to make it easier to build in a container cluster.
Those will come back later.
Several are cross builds, the ones with -x-ARCH and the android one, and those
may not have all the features built, due to lack of multi-arch devel packages,
available and being used so far on just a few, like
debian:experimental-x-{arm64,mipsel}.
The 'perf test' one will perform a variety of tests exercising
tools/perf/util/, tools/lib/{bpf,traceevent,etc}, as well as run perf commands
with a variety of command line event specifications to then intercept the
sys_perf_event syscall to check that the perf_event_attr fields are set up as
expected, among a variety of other unit tests.
Then there is the 'make -C tools/perf build-test' ones, that build tools/perf/
with a variety of feature sets, exercising the build with an incomplete set of
features as well as with a complete one. It is planned to have it run on each
of the containers mentioned above, using some container orchestration
infrastructure. Get in contact if interested in helping having this in place.
This one is being investigatd, doesn't look like its a regression introduced by
this patchset.
63: probe libc's inet_pton & backtrace it with ping : FAILED!
# dm
1 alpine:3.4 : Ok gcc (Alpine 5.3.0) 5.3.0
2 alpine:3.5 : Ok gcc (Alpine 6.2.1) 6.2.1 20160822
3 alpine:3.6 : Ok gcc (Alpine 6.3.0) 6.3.0
4 alpine:3.7 : Ok gcc (Alpine 6.4.0) 6.4.0
5 alpine:3.8 : Ok gcc (Alpine 6.4.0) 6.4.0
6 alpine:edge : Ok gcc (Alpine 6.4.0) 6.4.0
7 amazonlinux:1 : Ok gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-28)
8 amazonlinux:2 : Ok gcc (GCC) 7.3.1 20180303 (Red Hat 7.3.1-5)
9 android-ndk:r12b-arm : Ok arm-linux-androideabi-gcc (GCC) 4.9.x 20150123 (prerelease)
10 android-ndk:r15c-arm : Ok arm-linux-androideabi-gcc (GCC) 4.9.x 20150123 (prerelease)
11 centos:5 : Ok gcc (GCC) 4.1.2 20080704 (Red Hat 4.1.2-55)
12 centos:6 : Ok gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-23)
13 centos:7 : Ok gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-28)
14 clearlinux:latest : Ok gcc (Clear Linux OS for Intel Architecture) 8.2.1 20180502
15 debian:7 : Ok gcc (Debian 4.7.2-5) 4.7.2
16 debian:8 : Ok gcc (Debian 4.9.2-10+deb8u1) 4.9.2
17 debian:9 : Ok gcc (Debian 6.3.0-18+deb9u1) 6.3.0 20170516
18 debian:experimental : Ok gcc (Debian 8.2.0-7) 8.2.0
19 debian:experimental-x-arm64 : Ok aarch64-linux-gnu-gcc (Debian 8.2.0-7) 8.2.0
20 debian:experimental-x-mips : Ok mips-linux-gnu-gcc (Debian 8.1.0-12) 8.1.0
21 debian:experimental-x-mips64 : Ok mips64-linux-gnuabi64-gcc (Debian 8.1.0-12) 8.1.0
22 debian:experimental-x-mipsel : Ok mipsel-linux-gnu-gcc (Debian 8.1.0-12) 8.1.0
23 fedora:20 : Ok gcc (GCC) 4.8.3 20140911 (Red Hat 4.8.3-7)
24 fedora:21 : Ok gcc (GCC) 4.9.2 20150212 (Red Hat 4.9.2-6)
25 fedora:22 : Ok gcc (GCC) 5.3.1 20160406 (Red Hat 5.3.1-6)
26 fedora:23 : Ok gcc (GCC) 5.3.1 20160406 (Red Hat 5.3.1-6)
27 fedora:24 : Ok gcc (GCC) 6.3.1 20161221 (Red Hat 6.3.1-1)
28 fedora:24-x-ARC-uClibc : Ok arc-linux-gcc (ARCompact ISA Linux uClibc toolchain 2017.09-rc2) 7.1.1 20170710
29 fedora:25 : Ok gcc (GCC) 6.4.1 20170727 (Red Hat 6.4.1-1)
30 fedora:26 : Ok gcc (GCC) 7.3.1 20180130 (Red Hat 7.3.1-2)
31 fedora:27 : Ok gcc (GCC) 7.3.1 20180712 (Red Hat 7.3.1-6)
32 fedora:28 : Ok gcc (GCC) 8.1.1 20180712 (Red Hat 8.1.1-5)
33 fedora:rawhide : Ok gcc (GCC) 8.2.1 20180905 (Red Hat 8.2.1-3)
34 gentoo-stage3-amd64:latest : Ok gcc (Gentoo 7.3.0-r3 p1.4) 7.3.0
35 mageia:5 : Ok gcc (GCC) 4.9.2
36 mageia:6 : Ok gcc (Mageia 5.5.0-1.mga6) 5.5.0
37 opensuse:13.2 : Ok gcc (SUSE Linux) 4.8.3 20140627 [gcc-4_8-branch revision 212064]
38 opensuse:42.1 : Ok gcc (SUSE Linux) 4.8.5
39 opensuse:42.2 : Ok gcc (SUSE Linux) 4.8.5
40 opensuse:42.3 : Ok gcc (SUSE Linux) 4.8.5
41 opensuse:tumbleweed : Ok gcc (SUSE Linux) 7.3.1 20180323 [gcc-7-branch revision 258812]
42 oraclelinux:6 : Ok gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-23.0.1)
43 oraclelinux:7 : Ok gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-28.0.1)
44 ubuntu:12.04.5 : Ok gcc (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3
45 ubuntu:14.04.4 : Ok gcc (Ubuntu 4.8.4-2ubuntu1~14.04.3) 4.8.4
46 ubuntu:14.04.4-x-linaro-arm64 : Ok aarch64-linux-gnu-gcc (Linaro GCC 5.5-2017.10) 5.5.0
47 ubuntu:16.04 : Ok gcc (Ubuntu 5.4.0-6ubuntu1~16.04.10) 5.4.0 20160609
48 ubuntu:16.04-x-arm : Ok arm-linux-gnueabihf-gcc (Ubuntu/Linaro 5.4.0-6ubuntu1~16.04.9) 5.4.0 20160609
49 ubuntu:16.04-x-arm64 : Ok aarch64-linux-gnu-gcc (Ubuntu/Linaro 5.4.0-6ubuntu1~16.04.9) 5.4.0 20160609
50 ubuntu:16.04-x-powerpc : Ok powerpc-linux-gnu-gcc (Ubuntu 5.4.0-6ubuntu1~16.04.9) 5.4.0 20160609
51 ubuntu:16.04-x-powerpc64 : Ok powerpc64-linux-gnu-gcc (Ubuntu/IBM 5.4.0-6ubuntu1~16.04.9) 5.4.0 20160609
52 ubuntu:16.04-x-powerpc64el : Ok powerpc64le-linux-gnu-gcc (Ubuntu/IBM 5.4.0-6ubuntu1~16.04.9) 5.4.0 20160609
53 ubuntu:16.04-x-s390 : Ok s390x-linux-gnu-gcc (Ubuntu 5.4.0-6ubuntu1~16.04.9) 5.4.0 20160609
54 ubuntu:16.10 : Ok gcc (Ubuntu 6.2.0-5ubuntu12) 6.2.0 20161005
55 ubuntu:17.10 : Ok gcc (Ubuntu 7.2.0-8ubuntu3.2) 7.2.0
56 ubuntu:18.04 : Ok gcc (Ubuntu 7.3.0-16ubuntu3) 7.3.0
57 ubuntu:18.04-x-arm : Ok arm-linux-gnueabihf-gcc (Ubuntu/Linaro 7.3.0-27ubuntu1~18.04) 7.3.0
58 ubuntu:18.04-x-arm64 : Ok aarch64-linux-gnu-gcc (Ubuntu/Linaro 7.3.0-27ubuntu1~18.04) 7.3.0
59 ubuntu:18.04-x-m68k : Ok m68k-linux-gnu-gcc (Ubuntu 7.3.0-27ubuntu1~18.04) 7.3.0
60 ubuntu:18.04-x-powerpc : Ok powerpc-linux-gnu-gcc (Ubuntu 7.3.0-27ubuntu1~18.04) 7.3.0
61 ubuntu:18.04-x-powerpc64 : Ok powerpc64-linux-gnu-gcc (Ubuntu 7.3.0-27ubuntu1~18.04) 7.3.0
62 ubuntu:18.04-x-powerpc64el : Ok powerpc64le-linux-gnu-gcc (Ubuntu 7.3.0-27ubuntu1~18.04) 7.3.0
63 ubuntu:18.04-x-riscv64 : Ok riscv64-linux-gnu-gcc (Ubuntu 7.3.0-27ubuntu1~18.04) 7.3.0
64 ubuntu:18.04-x-s390 : Ok s390x-linux-gnu-gcc (Ubuntu 7.3.0-27ubuntu1~18.04) 7.3.0
65 ubuntu:18.04-x-sh4 : Ok sh4-linux-gnu-gcc (Ubuntu 7.3.0-27ubuntu1~18.04) 7.3.0
66 ubuntu:18.04-x-sparc64 : Ok sparc64-linux-gnu-gcc (Ubuntu 7.3.0-27ubuntu1~18.04) 7.3.0
67 ubuntu:18.10 : Ok gcc (Ubuntu 8.2.0-7ubuntu1) 8.2.0
# uname -a
Linux seventh 4.19.0-rc8-00014-gc0cff31be705 #1 SMP Wed Oct 17 09:00:22 -03 2018 x86_64 x86_64 x86_64 GNU/Linux
# git log --oneline -1
edeb0c90df35 perf tools: Stop fallbacking to kallsyms for vdso symbols lookup
# perf version --build-options
perf version 4.19.rc5.gedeb0c9
dwarf: [ on ] # HAVE_DWARF_SUPPORT
dwarf_getlocations: [ on ] # HAVE_DWARF_GETLOCATIONS_SUPPORT
glibc: [ on ] # HAVE_GLIBC_SUPPORT
gtk2: [ on ] # HAVE_GTK2_SUPPORT
syscall_table: [ on ] # HAVE_SYSCALL_TABLE_SUPPORT
libbfd: [ on ] # HAVE_LIBBFD_SUPPORT
libelf: [ on ] # HAVE_LIBELF_SUPPORT
libnuma: [ on ] # HAVE_LIBNUMA_SUPPORT
numa_num_possible_cpus: [ on ] # HAVE_LIBNUMA_SUPPORT
libperl: [ on ] # HAVE_LIBPERL_SUPPORT
libpython: [ on ] # HAVE_LIBPYTHON_SUPPORT
libslang: [ on ] # HAVE_SLANG_SUPPORT
libcrypto: [ on ] # HAVE_LIBCRYPTO_SUPPORT
libunwind: [ on ] # HAVE_LIBUNWIND_SUPPORT
libdw-dwarf-unwind: [ on ] # HAVE_DWARF_SUPPORT
zlib: [ on ] # HAVE_ZLIB_SUPPORT
lzma: [ on ] # HAVE_LZMA_SUPPORT
get_cpuid: [ on ] # HAVE_AUXTRACE_SUPPORT
bpf: [ on ] # HAVE_LIBBPF_SUPPORT
# perf test
1: vmlinux symtab matches kallsyms : Ok
2: Detect openat syscall event : Ok
3: Detect openat syscall event on all cpus : Ok
4: Read samples using the mmap interface : Ok
5: Test data source output : Ok
6: Parse event definition strings : Ok
7: Simple expression parser : Ok
8: PERF_RECORD_* events & perf_sample fields : Ok
9: Parse perf pmu format : Ok
10: DSO data read : Ok
11: DSO data cache : Ok
12: DSO data reopen : Ok
13: Roundtrip evsel->name : Ok
14: Parse sched tracepoints fields : Ok
15: syscalls:sys_enter_openat event fields : Ok
16: Setup struct perf_event_attr : Ok
17: Match and link multiple hists : Ok
18: 'import perf' in python : Ok
19: Breakpoint overflow signal handler : Ok
20: Breakpoint overflow sampling : Ok
21: Breakpoint accounting : Ok
22: Number of exit events of a simple workload : Ok
23: Software clock events period values : Ok
24: Object code reading : Ok
25: Sample parsing : Ok
26: Use a dummy software event to keep tracking : Ok
27: Parse with no sample_id_all bit set : Ok
28: Filter hist entries : Ok
29: Lookup mmap thread : Ok
30: Share thread mg : Ok
31: Sort output of hist entries : Ok
32: Cumulate child hist entries : Ok
33: Track with sched_switch : Ok
34: Filter fds with revents mask in a fdarray : Ok
35: Add fd to a fdarray, making it autogrow : Ok
36: kmod_path__parse : Ok
37: Thread map : Ok
38: LLVM search and compile :
38.1: Basic BPF llvm compile : Ok
38.2: kbuild searching : Ok
38.3: Compile source for BPF prologue generation : Ok
38.4: Compile source for BPF relocation : Ok
39: Session topology : Ok
40: BPF filter :
40.1: Basic BPF filtering : Ok
40.2: BPF pinning : Ok
40.3: BPF prologue generation : Ok
40.4: BPF relocation checker : Ok
41: Synthesize thread map : Ok
42: Remove thread map : Ok
43: Synthesize cpu map : Ok
44: Synthesize stat config : Ok
45: Synthesize stat : Ok
46: Synthesize stat round : Ok
47: Synthesize attr update : Ok
48: Event times : Ok
49: Read backward ring buffer : Ok
50: Print cpu map : Ok
51: Probe SDT events : Ok
52: is_printable_array : Ok
53: Print bitmap : Ok
54: perf hooks : Ok
55: builtin clang support : Skip (not compiled in)
56: unit_number__scnprintf : Ok
57: mem2node : Ok
58: x86 rdpmc : Ok
59: Convert perf time to TSC : Ok
60: DWARF unwind : Ok
61: x86 instruction decoder - new instructions : Ok
62: x86 bp modify : Ok
63: probe libc's inet_pton & backtrace it with ping : FAILED!
64: Check open filename arg using perf trace + vfs_getname: Ok
65: Use vfs_getname probe to get syscall args filenames : Ok
66: Add vfs_getname probe to get syscall args filenames : Ok
$ make -C tools/perf build-test
make: Entering directory '/home/acme/git/perf/tools/perf'
- tarpkg: ./tests/perf-targz-src-pkg .
make_no_demangle_O: make NO_DEMANGLE=1
make_perf_o_O: make perf.o
make_no_ui_O: make NO_NEWT=1 NO_SLANG=1 NO_GTK2=1
make_install_O: make install
make_no_libaudit_O: make NO_LIBAUDIT=1
make_minimal_O: make NO_LIBPERL=1 NO_LIBPYTHON=1 NO_NEWT=1 NO_GTK2=1 NO_DEMANGLE=1 NO_LIBELF=1 NO_LIBUNWIND=1 NO_BACKTRACE=1 NO_LIBNUMA=1 NO_LIBAUDIT=1 NO_LIBBIONIC=1 NO_LIBDW_DWARF_UNWIND=1 NO_AUXTRACE=1 NO_LIBBPF=1 NO_LIBCRYPTO=1 NO_SDT=1 NO_JVMTI=1
make_util_map_o_O: make util/map.o
make_no_slang_O: make NO_SLANG=1
make_tags_O: make tags
make_no_libdw_dwarf_unwind_O: make NO_LIBDW_DWARF_UNWIND=1
make_no_libelf_O: make NO_LIBELF=1
make_with_clangllvm_O: make LIBCLANGLLVM=1
make_no_libpython_O: make NO_LIBPYTHON=1
make_no_libbionic_O: make NO_LIBBIONIC=1
make_no_libbpf_O: make NO_LIBBPF=1
make_help_O: make help
make_with_babeltrace_O: make LIBBABELTRACE=1
make_clean_all_O: make clean all
make_no_backtrace_O: make NO_BACKTRACE=1
make_no_libperl_O: make NO_LIBPERL=1
make_no_scripts_O: make NO_LIBPYTHON=1 NO_LIBPERL=1
make_pure_O: make
make_debug_O: make DEBUG=1
make_util_pmu_bison_o_O: make util/pmu-bison.o
make_no_libnuma_O: make NO_LIBNUMA=1
make_install_prefix_O: make install prefix=/tmp/krava
make_no_libunwind_O: make NO_LIBUNWIND=1
make_install_bin_O: make install-bin
make_install_prefix_slash_O: make install prefix=/tmp/krava/
make_static_O: make LDFLAGS=-static
make_no_newt_O: make NO_NEWT=1
make_doc_O: make doc
make_no_gtk2_O: make NO_GTK2=1
make_no_auxtrace_O: make NO_AUXTRACE=1
OK
make: Leaving directory '/home/acme/git/perf/tools/perf'
$
^ permalink raw reply [flat|nested] 25+ messages in thread
* [GIT PULL 00/11] perf/urgent fixes
@ 2018-10-17 22:54 ` Arnaldo Carvalho de Melo
0 siblings, 0 replies; 25+ messages in thread
From: Arnaldo Carvalho de Melo @ 2018-10-17 22:54 UTC (permalink / raw)
To: linux-arm-kernel
Hi Ingo,
Please consider pulling,
Best Regards,
- Arnaldo
Test results at the end of this message, as usual.
The following changes since commit c1883f10cfe05c707cce46d6999411c50a2413ca:
Merge tag 'perf-urgent-for-mingo-4.19-20181005' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/urgent (2018-10-05 18:14:00 +0200)
are available in the Git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux.git tags/perf-urgent-for-mingo-4.19-20181017
for you to fetch changes up to edeb0c90df3581b821a764052d185df985f8b8dc:
perf tools: Stop fallbacking to kallsyms for vdso symbols lookup (2018-10-17 15:56:15 -0300)
----------------------------------------------------------------
perf/urgent fixes:
- Stop fallbacking to kallsyms for vDSO symbols lookup, this wasn't
being really used and is not valid in arches such as Sparc, where
user and kernel space don't share the address space, relying only on
cpumode to figure out what DSOs to lookup (Arnaldo Carvalho de Melo)
- Align cpu map synthesized events properly, fixing SIGBUS in
CPUs like Sparc (David Miller)
- Fix use of alternatives to find JDIR (Jarod Wilson)
- Store ids for events with their own cpus when synthesizing user
level event details (scale, unit, etc) events, fixing a crash
when recording a PMU event with a cpumask defined (Jiri Olsa)
- Fix wrong filter_band* values for uncore Intel vendor events (Jiri Olsa)
- Fix detection of tracefs path in systems without tracefs, where
that path should be the debugfs mountpoint plus "/tracing/" (Jiri Olsa)
- Pass build flags to traceevent build, allowing using alternative
flags in distro packages, RPM, for instance (Jiri Olsa)
- Fix 'perf report' crash on invalid inline debug information (Milian Wolff)
- Synch kvm uapi copies (Arnaldo Carvalho de Melo)
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
----------------------------------------------------------------
Arnaldo Carvalho de Melo (3):
tools arch uapi: Sync the x86 kvm.h copy
tools headers uapi: Sync kvm.h copy
perf tools: Stop fallbacking to kallsyms for vdso symbols lookup
David Miller (1):
perf cpu_map: Align cpu map synthesized events properly.
Jarod Wilson (1):
perf tools: Fix use of alternatives to find JDIR
Jiri Olsa (5):
Revert "perf tools: Fix PMU term format max value calculation"
perf vendor events intel: Fix wrong filter_band* values for uncore events
perf evsel: Store ids for events with their own cpus perf_event__synthesize_event_update_cpus
perf tools: Fix tracing_path_mount proper path
perf tools: Pass build flags to traceevent build
Milian Wolff (1):
perf report: Don't crash on invalid inline debug information
tools/arch/x86/include/uapi/asm/kvm.h | 1 +
tools/include/uapi/linux/kvm.h | 1 +
tools/lib/api/fs/tracing_path.c | 4 ++--
tools/perf/Makefile.config | 2 +-
tools/perf/Makefile.perf | 2 +-
tools/perf/builtin-report.c | 1 +
.../pmu-events/arch/x86/ivytown/uncore-power.json | 16 ++++++++--------
.../pmu-events/arch/x86/jaketown/uncore-power.json | 16 ++++++++--------
tools/perf/util/event.c | 22 +++-------------------
tools/perf/util/evsel.c | 3 +++
tools/perf/util/pmu.c | 13 +++++++------
tools/perf/util/srcline.c | 3 +++
12 files changed, 39 insertions(+), 45 deletions(-)
Test results:
The first ones are container (docker) based builds of tools/perf with
and without libelf support. Where clang is available, it is also used
to build perf with/without libelf, and building with LIBCLANGLLVM=1
(built-in clang) with gcc and clang when clang and its devel libraries
are installed.
The objtool and samples/bpf/ builds are disabled now that I'm switching from
using the sources in a local volume to fetching them from a http server to
build it inside the container, to make it easier to build in a container cluster.
Those will come back later.
Several are cross builds, the ones with -x-ARCH and the android one, and those
may not have all the features built, due to lack of multi-arch devel packages,
available and being used so far on just a few, like
debian:experimental-x-{arm64,mipsel}.
The 'perf test' one will perform a variety of tests exercising
tools/perf/util/, tools/lib/{bpf,traceevent,etc}, as well as run perf commands
with a variety of command line event specifications to then intercept the
sys_perf_event syscall to check that the perf_event_attr fields are set up as
expected, among a variety of other unit tests.
Then there is the 'make -C tools/perf build-test' ones, that build tools/perf/
with a variety of feature sets, exercising the build with an incomplete set of
features as well as with a complete one. It is planned to have it run on each
of the containers mentioned above, using some container orchestration
infrastructure. Get in contact if interested in helping having this in place.
This one is being investigatd, doesn't look like its a regression introduced by
this patchset.
63: probe libc's inet_pton & backtrace it with ping : FAILED!
# dm
1 alpine:3.4 : Ok gcc (Alpine 5.3.0) 5.3.0
2 alpine:3.5 : Ok gcc (Alpine 6.2.1) 6.2.1 20160822
3 alpine:3.6 : Ok gcc (Alpine 6.3.0) 6.3.0
4 alpine:3.7 : Ok gcc (Alpine 6.4.0) 6.4.0
5 alpine:3.8 : Ok gcc (Alpine 6.4.0) 6.4.0
6 alpine:edge : Ok gcc (Alpine 6.4.0) 6.4.0
7 amazonlinux:1 : Ok gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-28)
8 amazonlinux:2 : Ok gcc (GCC) 7.3.1 20180303 (Red Hat 7.3.1-5)
9 android-ndk:r12b-arm : Ok arm-linux-androideabi-gcc (GCC) 4.9.x 20150123 (prerelease)
10 android-ndk:r15c-arm : Ok arm-linux-androideabi-gcc (GCC) 4.9.x 20150123 (prerelease)
11 centos:5 : Ok gcc (GCC) 4.1.2 20080704 (Red Hat 4.1.2-55)
12 centos:6 : Ok gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-23)
13 centos:7 : Ok gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-28)
14 clearlinux:latest : Ok gcc (Clear Linux OS for Intel Architecture) 8.2.1 20180502
15 debian:7 : Ok gcc (Debian 4.7.2-5) 4.7.2
16 debian:8 : Ok gcc (Debian 4.9.2-10+deb8u1) 4.9.2
17 debian:9 : Ok gcc (Debian 6.3.0-18+deb9u1) 6.3.0 20170516
18 debian:experimental : Ok gcc (Debian 8.2.0-7) 8.2.0
19 debian:experimental-x-arm64 : Ok aarch64-linux-gnu-gcc (Debian 8.2.0-7) 8.2.0
20 debian:experimental-x-mips : Ok mips-linux-gnu-gcc (Debian 8.1.0-12) 8.1.0
21 debian:experimental-x-mips64 : Ok mips64-linux-gnuabi64-gcc (Debian 8.1.0-12) 8.1.0
22 debian:experimental-x-mipsel : Ok mipsel-linux-gnu-gcc (Debian 8.1.0-12) 8.1.0
23 fedora:20 : Ok gcc (GCC) 4.8.3 20140911 (Red Hat 4.8.3-7)
24 fedora:21 : Ok gcc (GCC) 4.9.2 20150212 (Red Hat 4.9.2-6)
25 fedora:22 : Ok gcc (GCC) 5.3.1 20160406 (Red Hat 5.3.1-6)
26 fedora:23 : Ok gcc (GCC) 5.3.1 20160406 (Red Hat 5.3.1-6)
27 fedora:24 : Ok gcc (GCC) 6.3.1 20161221 (Red Hat 6.3.1-1)
28 fedora:24-x-ARC-uClibc : Ok arc-linux-gcc (ARCompact ISA Linux uClibc toolchain 2017.09-rc2) 7.1.1 20170710
29 fedora:25 : Ok gcc (GCC) 6.4.1 20170727 (Red Hat 6.4.1-1)
30 fedora:26 : Ok gcc (GCC) 7.3.1 20180130 (Red Hat 7.3.1-2)
31 fedora:27 : Ok gcc (GCC) 7.3.1 20180712 (Red Hat 7.3.1-6)
32 fedora:28 : Ok gcc (GCC) 8.1.1 20180712 (Red Hat 8.1.1-5)
33 fedora:rawhide : Ok gcc (GCC) 8.2.1 20180905 (Red Hat 8.2.1-3)
34 gentoo-stage3-amd64:latest : Ok gcc (Gentoo 7.3.0-r3 p1.4) 7.3.0
35 mageia:5 : Ok gcc (GCC) 4.9.2
36 mageia:6 : Ok gcc (Mageia 5.5.0-1.mga6) 5.5.0
37 opensuse:13.2 : Ok gcc (SUSE Linux) 4.8.3 20140627 [gcc-4_8-branch revision 212064]
38 opensuse:42.1 : Ok gcc (SUSE Linux) 4.8.5
39 opensuse:42.2 : Ok gcc (SUSE Linux) 4.8.5
40 opensuse:42.3 : Ok gcc (SUSE Linux) 4.8.5
41 opensuse:tumbleweed : Ok gcc (SUSE Linux) 7.3.1 20180323 [gcc-7-branch revision 258812]
42 oraclelinux:6 : Ok gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-23.0.1)
43 oraclelinux:7 : Ok gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-28.0.1)
44 ubuntu:12.04.5 : Ok gcc (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3
45 ubuntu:14.04.4 : Ok gcc (Ubuntu 4.8.4-2ubuntu1~14.04.3) 4.8.4
46 ubuntu:14.04.4-x-linaro-arm64 : Ok aarch64-linux-gnu-gcc (Linaro GCC 5.5-2017.10) 5.5.0
47 ubuntu:16.04 : Ok gcc (Ubuntu 5.4.0-6ubuntu1~16.04.10) 5.4.0 20160609
48 ubuntu:16.04-x-arm : Ok arm-linux-gnueabihf-gcc (Ubuntu/Linaro 5.4.0-6ubuntu1~16.04.9) 5.4.0 20160609
49 ubuntu:16.04-x-arm64 : Ok aarch64-linux-gnu-gcc (Ubuntu/Linaro 5.4.0-6ubuntu1~16.04.9) 5.4.0 20160609
50 ubuntu:16.04-x-powerpc : Ok powerpc-linux-gnu-gcc (Ubuntu 5.4.0-6ubuntu1~16.04.9) 5.4.0 20160609
51 ubuntu:16.04-x-powerpc64 : Ok powerpc64-linux-gnu-gcc (Ubuntu/IBM 5.4.0-6ubuntu1~16.04.9) 5.4.0 20160609
52 ubuntu:16.04-x-powerpc64el : Ok powerpc64le-linux-gnu-gcc (Ubuntu/IBM 5.4.0-6ubuntu1~16.04.9) 5.4.0 20160609
53 ubuntu:16.04-x-s390 : Ok s390x-linux-gnu-gcc (Ubuntu 5.4.0-6ubuntu1~16.04.9) 5.4.0 20160609
54 ubuntu:16.10 : Ok gcc (Ubuntu 6.2.0-5ubuntu12) 6.2.0 20161005
55 ubuntu:17.10 : Ok gcc (Ubuntu 7.2.0-8ubuntu3.2) 7.2.0
56 ubuntu:18.04 : Ok gcc (Ubuntu 7.3.0-16ubuntu3) 7.3.0
57 ubuntu:18.04-x-arm : Ok arm-linux-gnueabihf-gcc (Ubuntu/Linaro 7.3.0-27ubuntu1~18.04) 7.3.0
58 ubuntu:18.04-x-arm64 : Ok aarch64-linux-gnu-gcc (Ubuntu/Linaro 7.3.0-27ubuntu1~18.04) 7.3.0
59 ubuntu:18.04-x-m68k : Ok m68k-linux-gnu-gcc (Ubuntu 7.3.0-27ubuntu1~18.04) 7.3.0
60 ubuntu:18.04-x-powerpc : Ok powerpc-linux-gnu-gcc (Ubuntu 7.3.0-27ubuntu1~18.04) 7.3.0
61 ubuntu:18.04-x-powerpc64 : Ok powerpc64-linux-gnu-gcc (Ubuntu 7.3.0-27ubuntu1~18.04) 7.3.0
62 ubuntu:18.04-x-powerpc64el : Ok powerpc64le-linux-gnu-gcc (Ubuntu 7.3.0-27ubuntu1~18.04) 7.3.0
63 ubuntu:18.04-x-riscv64 : Ok riscv64-linux-gnu-gcc (Ubuntu 7.3.0-27ubuntu1~18.04) 7.3.0
64 ubuntu:18.04-x-s390 : Ok s390x-linux-gnu-gcc (Ubuntu 7.3.0-27ubuntu1~18.04) 7.3.0
65 ubuntu:18.04-x-sh4 : Ok sh4-linux-gnu-gcc (Ubuntu 7.3.0-27ubuntu1~18.04) 7.3.0
66 ubuntu:18.04-x-sparc64 : Ok sparc64-linux-gnu-gcc (Ubuntu 7.3.0-27ubuntu1~18.04) 7.3.0
67 ubuntu:18.10 : Ok gcc (Ubuntu 8.2.0-7ubuntu1) 8.2.0
# uname -a
Linux seventh 4.19.0-rc8-00014-gc0cff31be705 #1 SMP Wed Oct 17 09:00:22 -03 2018 x86_64 x86_64 x86_64 GNU/Linux
# git log --oneline -1
edeb0c90df35 perf tools: Stop fallbacking to kallsyms for vdso symbols lookup
# perf version --build-options
perf version 4.19.rc5.gedeb0c9
dwarf: [ on ] # HAVE_DWARF_SUPPORT
dwarf_getlocations: [ on ] # HAVE_DWARF_GETLOCATIONS_SUPPORT
glibc: [ on ] # HAVE_GLIBC_SUPPORT
gtk2: [ on ] # HAVE_GTK2_SUPPORT
syscall_table: [ on ] # HAVE_SYSCALL_TABLE_SUPPORT
libbfd: [ on ] # HAVE_LIBBFD_SUPPORT
libelf: [ on ] # HAVE_LIBELF_SUPPORT
libnuma: [ on ] # HAVE_LIBNUMA_SUPPORT
numa_num_possible_cpus: [ on ] # HAVE_LIBNUMA_SUPPORT
libperl: [ on ] # HAVE_LIBPERL_SUPPORT
libpython: [ on ] # HAVE_LIBPYTHON_SUPPORT
libslang: [ on ] # HAVE_SLANG_SUPPORT
libcrypto: [ on ] # HAVE_LIBCRYPTO_SUPPORT
libunwind: [ on ] # HAVE_LIBUNWIND_SUPPORT
libdw-dwarf-unwind: [ on ] # HAVE_DWARF_SUPPORT
zlib: [ on ] # HAVE_ZLIB_SUPPORT
lzma: [ on ] # HAVE_LZMA_SUPPORT
get_cpuid: [ on ] # HAVE_AUXTRACE_SUPPORT
bpf: [ on ] # HAVE_LIBBPF_SUPPORT
# perf test
1: vmlinux symtab matches kallsyms : Ok
2: Detect openat syscall event : Ok
3: Detect openat syscall event on all cpus : Ok
4: Read samples using the mmap interface : Ok
5: Test data source output : Ok
6: Parse event definition strings : Ok
7: Simple expression parser : Ok
8: PERF_RECORD_* events & perf_sample fields : Ok
9: Parse perf pmu format : Ok
10: DSO data read : Ok
11: DSO data cache : Ok
12: DSO data reopen : Ok
13: Roundtrip evsel->name : Ok
14: Parse sched tracepoints fields : Ok
15: syscalls:sys_enter_openat event fields : Ok
16: Setup struct perf_event_attr : Ok
17: Match and link multiple hists : Ok
18: 'import perf' in python : Ok
19: Breakpoint overflow signal handler : Ok
20: Breakpoint overflow sampling : Ok
21: Breakpoint accounting : Ok
22: Number of exit events of a simple workload : Ok
23: Software clock events period values : Ok
24: Object code reading : Ok
25: Sample parsing : Ok
26: Use a dummy software event to keep tracking : Ok
27: Parse with no sample_id_all bit set : Ok
28: Filter hist entries : Ok
29: Lookup mmap thread : Ok
30: Share thread mg : Ok
31: Sort output of hist entries : Ok
32: Cumulate child hist entries : Ok
33: Track with sched_switch : Ok
34: Filter fds with revents mask in a fdarray : Ok
35: Add fd to a fdarray, making it autogrow : Ok
36: kmod_path__parse : Ok
37: Thread map : Ok
38: LLVM search and compile :
38.1: Basic BPF llvm compile : Ok
38.2: kbuild searching : Ok
38.3: Compile source for BPF prologue generation : Ok
38.4: Compile source for BPF relocation : Ok
39: Session topology : Ok
40: BPF filter :
40.1: Basic BPF filtering : Ok
40.2: BPF pinning : Ok
40.3: BPF prologue generation : Ok
40.4: BPF relocation checker : Ok
41: Synthesize thread map : Ok
42: Remove thread map : Ok
43: Synthesize cpu map : Ok
44: Synthesize stat config : Ok
45: Synthesize stat : Ok
46: Synthesize stat round : Ok
47: Synthesize attr update : Ok
48: Event times : Ok
49: Read backward ring buffer : Ok
50: Print cpu map : Ok
51: Probe SDT events : Ok
52: is_printable_array : Ok
53: Print bitmap : Ok
54: perf hooks : Ok
55: builtin clang support : Skip (not compiled in)
56: unit_number__scnprintf : Ok
57: mem2node : Ok
58: x86 rdpmc : Ok
59: Convert perf time to TSC : Ok
60: DWARF unwind : Ok
61: x86 instruction decoder - new instructions : Ok
62: x86 bp modify : Ok
63: probe libc's inet_pton & backtrace it with ping : FAILED!
64: Check open filename arg using perf trace + vfs_getname: Ok
65: Use vfs_getname probe to get syscall args filenames : Ok
66: Add vfs_getname probe to get syscall args filenames : Ok
$ make -C tools/perf build-test
make: Entering directory '/home/acme/git/perf/tools/perf'
- tarpkg: ./tests/perf-targz-src-pkg .
make_no_demangle_O: make NO_DEMANGLE=1
make_perf_o_O: make perf.o
make_no_ui_O: make NO_NEWT=1 NO_SLANG=1 NO_GTK2=1
make_install_O: make install
make_no_libaudit_O: make NO_LIBAUDIT=1
make_minimal_O: make NO_LIBPERL=1 NO_LIBPYTHON=1 NO_NEWT=1 NO_GTK2=1 NO_DEMANGLE=1 NO_LIBELF=1 NO_LIBUNWIND=1 NO_BACKTRACE=1 NO_LIBNUMA=1 NO_LIBAUDIT=1 NO_LIBBIONIC=1 NO_LIBDW_DWARF_UNWIND=1 NO_AUXTRACE=1 NO_LIBBPF=1 NO_LIBCRYPTO=1 NO_SDT=1 NO_JVMTI=1
make_util_map_o_O: make util/map.o
make_no_slang_O: make NO_SLANG=1
make_tags_O: make tags
make_no_libdw_dwarf_unwind_O: make NO_LIBDW_DWARF_UNWIND=1
make_no_libelf_O: make NO_LIBELF=1
make_with_clangllvm_O: make LIBCLANGLLVM=1
make_no_libpython_O: make NO_LIBPYTHON=1
make_no_libbionic_O: make NO_LIBBIONIC=1
make_no_libbpf_O: make NO_LIBBPF=1
make_help_O: make help
make_with_babeltrace_O: make LIBBABELTRACE=1
make_clean_all_O: make clean all
make_no_backtrace_O: make NO_BACKTRACE=1
make_no_libperl_O: make NO_LIBPERL=1
make_no_scripts_O: make NO_LIBPYTHON=1 NO_LIBPERL=1
make_pure_O: make
make_debug_O: make DEBUG=1
make_util_pmu_bison_o_O: make util/pmu-bison.o
make_no_libnuma_O: make NO_LIBNUMA=1
make_install_prefix_O: make install prefix=/tmp/krava
make_no_libunwind_O: make NO_LIBUNWIND=1
make_install_bin_O: make install-bin
make_install_prefix_slash_O: make install prefix=/tmp/krava/
make_static_O: make LDFLAGS=-static
make_no_newt_O: make NO_NEWT=1
make_doc_O: make doc
make_no_gtk2_O: make NO_GTK2=1
make_no_auxtrace_O: make NO_AUXTRACE=1
OK
make: Leaving directory '/home/acme/git/perf/tools/perf'
$
^ permalink raw reply [flat|nested] 25+ messages in thread
* [GIT PULL 00/11] perf/urgent fixes
@ 2016-08-15 21:46 Arnaldo Carvalho de Melo
0 siblings, 0 replies; 25+ messages in thread
From: Arnaldo Carvalho de Melo @ 2016-08-15 21:46 UTC (permalink / raw)
To: Ingo Molnar
Cc: linux-kernel, Arnaldo Carvalho de Melo, Adrian Hunter,
Alexander Shishkin, Alexander Yarygin,
Ananth N Mavinakayanahalli, Anton Blanchard, Balbir Singh,
Colin King, David Ahern, He Kuang, Hemant Kumar, Jiri Olsa,
Masami Hiramatsu, Michael Ellerman, Michael Petlan, Namhyung Kim,
Naveen N . Rao, Peter Zijlstra, Peter Zijlstra, Ravi Bangoria,
Scott Wood, Srikar Dronamraju, Stephane Eranian, Wang Nan
Hi Ingo,
Please consider pulling,
- Arnaldo
Build stats:
# time dm
1 70.159253018 alpine:3.4: Ok
2 27.099391445 android-ndk:r12b-arm: Ok
3 75.359247352 archlinux:latest: Ok
4 24.340381467 centos:5: Ok
5 35.444981358 centos:6: Ok
6 40.638249015 centos:7: Ok
7 39.903273551 debian:7: Ok
8 44.413434336 debian:8: Ok
9 75.444927554 debian:experimental: Ok
10 74.050811017 fedora:20: Ok
11 77.325297310 fedora:21: Ok
12 76.934955654 fedora:22: Ok
13 77.173183115 fedora:23: Ok
14 78.870701061 fedora:24: Ok
15 82.441966844 fedora:rawhide: Ok
16 81.840268590 mageia:5: Ok
17 74.529050646 opensuse:13.2: Ok
18 76.367891421 opensuse:42.1: Ok
19 82.874433572 opensuse:tumbleweed: Ok
20 63.525497311 ubuntu:12.04.5: Ok
21 69.943145955 ubuntu:14.04.4: Ok
22 72.413641422 ubuntu:15.10: Ok
23 69.335646559 ubuntu:16.04: Ok
24 56.204402973 ubuntu:16.04-x-arm: Ok
25 56.601927116 ubuntu:16.04-x-arm64: Ok
26 32.073176756 ubuntu:16.04-x-armhf: Ok
27 55.799523589 ubuntu:16.04-x-powerpc64: Ok
28 56.579047498 ubuntu:16.04-x-powerpc64el: Ok
29 55.715073756 ubuntu:16.04-x-s390: Ok
30 76.034846449 ubuntu:16.10: Ok
1879.44s
real 31m20.253s
user 0m1.768s
sys 0m2.067s
#
* The ones taking longer are doing more stuff:
- Building objtool where supported
- Building perf twice, with NO_LIBELF=1 and without it.
^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: [GIT PULL 00/11] perf/urgent fixes
2016-08-09 16:01 Arnaldo Carvalho de Melo
@ 2016-08-09 19:12 ` Ingo Molnar
0 siblings, 0 replies; 25+ messages in thread
From: Ingo Molnar @ 2016-08-09 19:12 UTC (permalink / raw)
To: Arnaldo Carvalho de Melo
Cc: linux-kernel, Adrian Hunter, Alexander Shishkin,
Alexei Starovoitov, Ananth N Mavinakayanahalli, Balbir Singh,
Brendan Gregg, Brenden Blanco, Daniel Borkmann, Dan Williams,
Dave Hansen, David Ahern, David S . Miller, Hemant Kumar,
Jiri Olsa, Konstantin Khlebnikov, Mark Rutland, Martin KaFai Lau,
Masami Hiramatsu, Namhyung Kim, Naohiro Aota, Naveen N . Rao,
Paolo Bonzini, Peter Zijlstra, Ravi Bangoria, Ross Zwisler,
Sargun Dhillon, Wang Nan, Xiao Guangrong,
Arnaldo Carvalho de Melo
* Arnaldo Carvalho de Melo <acme@kernel.org> wrote:
> Hi Ingo,
>
> Please consider pulling,
>
> - Arnaldo
>
> Build test stats:
>
> [root@jouet ~]# time dm
> 1: alpine:3.4: Ok
> 2: android-ndk:r12b: Ok
> 3: archlinux:latest: Ok
> 4: centos:5: Ok
> 5: centos:6: Ok
> 6: centos:7: Ok
> 7: debian:7: Ok
> 8: debian:8: Ok
> 9: debian:experimental: Ok
> 10: fedora:20: Ok
> 11: fedora:21: Ok
> 12: fedora:22: Ok
> 13: fedora:23: Ok
> 14: fedora:24: Ok
> 15: fedora:rawhide: Ok
> 16: mageia:5: Ok
> 17: opensuse:13.2: Ok
> 18: opensuse:42.1: Ok
> 19: ubuntu:14.04.4: Ok
> 20: ubuntu:15.10: Ok
> 21: ubuntu:16.04: Ok
> 22: ubuntu:16.04-x-arm64: Ok
> 23: ubuntu:16.04-x-armhf: Ok
> 24: ubuntu:16.04-x-powerpc64: Ok
> 25: ubuntu:16.04-x-powerpc64el: Ok
> 26: ubuntu:16.04-x-s390: Ok
>
> real 16m44.470s
>
> The following changes since commit f282f7a0ecc3e0b8fd8532a6c3e9401534cb907c:
>
> Merge tag 'perf-core-for-mingo-20160803' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/urgent (2016-08-04 11:02:38 +0200)
>
> are available in the git repository at:
>
> git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux.git tags/perf-urgent-for-mingo-20160809
>
> for you to fetch changes up to 99e608b5954c9e1ebadbf9660b74697d9dfd9f20:
>
> perf probe ppc64le: Fix probe location when using DWARF (2016-08-09 12:14:29 -0300)
>
> ----------------------------------------------------------------
> perf/urgent fixes:
>
> User visible fixes:
>
> - Fix the lookup for a kernel module in 'perf probe', fixing for instance, the
> erroneous return of "[raid10]" when looking for "[raid1]" (Konstantin Khlebnikov)
>
> - Disable counters in a group before reading them in 'perf stat', to avoid skew (Mark Rutland)
>
> - Fix adding probes to function aliases in systems using kaslr (Masami Hiramatsu)
>
> - Trip libtraceevent trace_seq buffers, removing unnecessary memory usage that could
> bring a system using tracepoint events with 'perf top' to a crawl, as the trace_seq
> buffers start at a whooping 4 KB, which is very rarely used in perf's usecases,
> so realloc it to the really used space as a last measure after using libtraceevent
> functions to format the fields of tracepoint events (Arnaldo Carvalho de Melo)
>
> - Fix 'perf probe' location when using DWARF on ppc64le (Ravi Bangoria)
>
> Improvement:
>
> - Allow specifying signedness casts to a 'perf probe' variable, to shorten
> the number of steps to see signed values that otherwise would always appear
> as hex values (Naohiro Aota)
>
> Documentation fixes:
>
> - Add 'bpf-output' field to 'perf script' usage message (Brendan Gregg)
>
> Infrastructure fixes:
>
> - Sync kernel header files: cpufeatures.h, {disabled,required}-features.h,
> bpf.h and vmx.h, so that we get a clean build, without warnings about files
> being different from the kernel counterparts.
>
> A verification of the need or desirability of changes in tools/ based on what
> was done in the kernel changesets was made and documented in the respective
> file sync changesets (Arnaldo Carvalho de Melo)
>
> Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
>
> ----------------------------------------------------------------
> Arnaldo Carvalho de Melo (4):
> perf hists: Trim libtraceevent trace_seq buffers
> tools: Sync cpufeatures.h and vmx.h with the kernel
> toops: Sync tools/include/uapi/linux/bpf.h with the kernel
> tools: Sync cpufeatures headers with the kernel
>
> Brendan Gregg (1):
> perf script: Add 'bpf-output' field to usage message
>
> Konstantin Khlebnikov (1):
> perf probe: Fix module name matching
>
> Mark Rutland (1):
> perf stat: Avoid skew when reading events
>
> Masami Hiramatsu (1):
> perf probe: Adjust map->reloc offset when finding kernel symbol from map
>
> Naohiro Aota (1):
> perf probe: Support signedness casting
>
> Ravi Bangoria (2):
> perf probe: Add function to post process kernel trace events
> perf probe ppc64le: Fix probe location when using DWARF
>
> tools/arch/x86/include/asm/cpufeatures.h | 9 +--
> tools/arch/x86/include/asm/disabled-features.h | 2 +
> tools/arch/x86/include/asm/required-features.h | 2 +
> tools/arch/x86/include/uapi/asm/vmx.h | 4 +-
> tools/include/uapi/linux/bpf.h | 86 +++++++++++++++++++++++++-
> tools/perf/Documentation/perf-probe.txt | 10 ++-
> tools/perf/Documentation/perf-script.txt | 4 +-
> tools/perf/arch/powerpc/util/sym-handling.c | 27 ++++++--
> tools/perf/builtin-script.c | 2 +-
> tools/perf/builtin-stat.c | 31 +++++++---
> tools/perf/util/probe-event.c | 60 +++++++++++-------
> tools/perf/util/probe-event.h | 6 +-
> tools/perf/util/probe-finder.c | 15 ++++-
> tools/perf/util/sort.c | 6 +-
> 14 files changed, 210 insertions(+), 54 deletions(-)
Pulled, thanks a lot Arnaldo!
Ingo
^ permalink raw reply [flat|nested] 25+ messages in thread
* [GIT PULL 00/11] perf/urgent fixes
@ 2016-08-09 16:01 Arnaldo Carvalho de Melo
2016-08-09 19:12 ` Ingo Molnar
0 siblings, 1 reply; 25+ messages in thread
From: Arnaldo Carvalho de Melo @ 2016-08-09 16:01 UTC (permalink / raw)
To: Ingo Molnar
Cc: linux-kernel, Arnaldo Carvalho de Melo, Adrian Hunter,
Alexander Shishkin, Alexei Starovoitov,
Ananth N Mavinakayanahalli, Balbir Singh, Brendan Gregg,
Brenden Blanco, Daniel Borkmann, Dan Williams, Dave Hansen,
David Ahern, David S . Miller, Hemant Kumar, Jiri Olsa,
Konstantin Khlebnikov, Mark Rutland, Martin KaFai Lau,
Masami Hiramatsu, Namhyung Kim, Naohiro Aota, Naveen N . Rao,
Paolo Bonzini, Peter Zijlstra, Ravi Bangoria, Ross Zwisler,
Sargun Dhillon, Wang Nan, Xiao Guangrong,
Arnaldo Carvalho de Melo
Hi Ingo,
Please consider pulling,
- Arnaldo
Build test stats:
[root@jouet ~]# time dm
1: alpine:3.4: Ok
2: android-ndk:r12b: Ok
3: archlinux:latest: Ok
4: centos:5: Ok
5: centos:6: Ok
6: centos:7: Ok
7: debian:7: Ok
8: debian:8: Ok
9: debian:experimental: Ok
10: fedora:20: Ok
11: fedora:21: Ok
12: fedora:22: Ok
13: fedora:23: Ok
14: fedora:24: Ok
15: fedora:rawhide: Ok
16: mageia:5: Ok
17: opensuse:13.2: Ok
18: opensuse:42.1: Ok
19: ubuntu:14.04.4: Ok
20: ubuntu:15.10: Ok
21: ubuntu:16.04: Ok
22: ubuntu:16.04-x-arm64: Ok
23: ubuntu:16.04-x-armhf: Ok
24: ubuntu:16.04-x-powerpc64: Ok
25: ubuntu:16.04-x-powerpc64el: Ok
26: ubuntu:16.04-x-s390: Ok
real 16m44.470s
The following changes since commit f282f7a0ecc3e0b8fd8532a6c3e9401534cb907c:
Merge tag 'perf-core-for-mingo-20160803' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/urgent (2016-08-04 11:02:38 +0200)
are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux.git tags/perf-urgent-for-mingo-20160809
for you to fetch changes up to 99e608b5954c9e1ebadbf9660b74697d9dfd9f20:
perf probe ppc64le: Fix probe location when using DWARF (2016-08-09 12:14:29 -0300)
----------------------------------------------------------------
perf/urgent fixes:
User visible fixes:
- Fix the lookup for a kernel module in 'perf probe', fixing for instance, the
erroneous return of "[raid10]" when looking for "[raid1]" (Konstantin Khlebnikov)
- Disable counters in a group before reading them in 'perf stat', to avoid skew (Mark Rutland)
- Fix adding probes to function aliases in systems using kaslr (Masami Hiramatsu)
- Trip libtraceevent trace_seq buffers, removing unnecessary memory usage that could
bring a system using tracepoint events with 'perf top' to a crawl, as the trace_seq
buffers start at a whooping 4 KB, which is very rarely used in perf's usecases,
so realloc it to the really used space as a last measure after using libtraceevent
functions to format the fields of tracepoint events (Arnaldo Carvalho de Melo)
- Fix 'perf probe' location when using DWARF on ppc64le (Ravi Bangoria)
Improvement:
- Allow specifying signedness casts to a 'perf probe' variable, to shorten
the number of steps to see signed values that otherwise would always appear
as hex values (Naohiro Aota)
Documentation fixes:
- Add 'bpf-output' field to 'perf script' usage message (Brendan Gregg)
Infrastructure fixes:
- Sync kernel header files: cpufeatures.h, {disabled,required}-features.h,
bpf.h and vmx.h, so that we get a clean build, without warnings about files
being different from the kernel counterparts.
A verification of the need or desirability of changes in tools/ based on what
was done in the kernel changesets was made and documented in the respective
file sync changesets (Arnaldo Carvalho de Melo)
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
----------------------------------------------------------------
Arnaldo Carvalho de Melo (4):
perf hists: Trim libtraceevent trace_seq buffers
tools: Sync cpufeatures.h and vmx.h with the kernel
toops: Sync tools/include/uapi/linux/bpf.h with the kernel
tools: Sync cpufeatures headers with the kernel
Brendan Gregg (1):
perf script: Add 'bpf-output' field to usage message
Konstantin Khlebnikov (1):
perf probe: Fix module name matching
Mark Rutland (1):
perf stat: Avoid skew when reading events
Masami Hiramatsu (1):
perf probe: Adjust map->reloc offset when finding kernel symbol from map
Naohiro Aota (1):
perf probe: Support signedness casting
Ravi Bangoria (2):
perf probe: Add function to post process kernel trace events
perf probe ppc64le: Fix probe location when using DWARF
tools/arch/x86/include/asm/cpufeatures.h | 9 +--
tools/arch/x86/include/asm/disabled-features.h | 2 +
tools/arch/x86/include/asm/required-features.h | 2 +
tools/arch/x86/include/uapi/asm/vmx.h | 4 +-
tools/include/uapi/linux/bpf.h | 86 +++++++++++++++++++++++++-
tools/perf/Documentation/perf-probe.txt | 10 ++-
tools/perf/Documentation/perf-script.txt | 4 +-
tools/perf/arch/powerpc/util/sym-handling.c | 27 ++++++--
tools/perf/builtin-script.c | 2 +-
tools/perf/builtin-stat.c | 31 +++++++---
tools/perf/util/probe-event.c | 60 +++++++++++-------
tools/perf/util/probe-event.h | 6 +-
tools/perf/util/probe-finder.c | 15 ++++-
tools/perf/util/sort.c | 6 +-
14 files changed, 210 insertions(+), 54 deletions(-)
^ permalink raw reply [flat|nested] 25+ messages in thread
* [GIT PULL 00/11] perf/urgent fixes
@ 2012-10-17 17:19 Arnaldo Carvalho de Melo
0 siblings, 0 replies; 25+ messages in thread
From: Arnaldo Carvalho de Melo @ 2012-10-17 17:19 UTC (permalink / raw)
To: Ingo Molnar
Cc: linux-kernel, Arnaldo Carvalho de Melo, Avi Kivity, David Ahern,
David S. Miller, Frederic Weisbecker, Gleb Natapov, Irina Tirdea,
Jiri Olsa, Markus Trippelsdorf, Mike Galbraith, Namhyung Kim,
Namhyung Kim, Paul Mackerras, Peter Zijlstra, Robert Richter,
Stephane Eranian, Steven Rostedt, arnaldo.melo,
Arnaldo Carvalho de Melo
Hi Ingo,
Please consider pulling,
- Arnaldo
The following changes since commit 95cf59ea72331d0093010543b8951bb43f262cac:
perf: Fix perf_cgroup_switch for sw-events (2012-10-05 13:59:07 +0200)
are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux tags/perf-urgent-for-mingo
for you to fetch changes up to 88a21d2f07d2a4bec2e3e03dd50a39683b938b10:
perf hists browser: Add back callchain folding symbol (2012-10-17 13:54:08 -0300)
----------------------------------------------------------------
perf/urgent fixes:
. The python binding needs to link with libtraceevent and to initialize
the 'page_size' variable so that mmaping works again.
. The callchain folding character that appears on the TUI just before
the overhead had disappeared due to recent changes, add it back.
. Intel PEBS in VT-x context uses the DS address as a guest linear address,
even though its programmed by the host as a host linear address. This either
results in guest memory corruption and or the hardware faulting and 'crashing'
the virtual machine. Therefore we have to disable PEBS on VT-x enter and
re-enable on VT-x exit, enforcing a strict exclude_guest.
Kernel side enforcement fix by Peter Zijlstra, tooling side fix by David Ahern.
. Fix build on sparc due to UAPI, fix from David Miller.
. Fixes for the srclike sort key for unresolved symbols and when processing
samples in JITted code, where we don't have an ELF file, just an special
symbol table, fixes from Namhyung Kim.
. Fix some leaks in libtraceevent, from Steven Rostedt.
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
----------------------------------------------------------------
Arnaldo Carvalho de Melo (3):
perf python: Initialize 'page_size' variable
perf python: Link with libtraceevent
perf hists browser: Add back callchain folding symbol
David Ahern (1):
perf tool: Precise mode requires exclude_guest
David Miller (1):
perf tools: Fix build on sparc.
Namhyung Kim (3):
perf tools: Fix segfault when using srcline sort key
perf tools: Remove warnings on JIT samples for srcline sort key
perf hists browser: Fix off-by-two bug on the first column
Peter Zijlstra (1):
perf: Require exclude_guest to use PEBS - kernel side enforcement
Steven Rostedt (2):
lib tools traceevent: Add back pevent assignment in __pevent_parse_format()
tools lib traceevent: Fix missed freeing of subargs in free_arg() in filter
arch/x86/kernel/cpu/perf_event.c | 6 ++++++
tools/lib/traceevent/event-parse.c | 9 ++++++---
tools/lib/traceevent/parse-filter.c | 15 +++++++++++++++
tools/perf/perf.h | 2 +-
tools/perf/ui/browsers/hists.c | 6 ++++--
tools/perf/util/parse-events.c | 3 +++
tools/perf/util/python.c | 2 ++
tools/perf/util/setup.py | 1 +
tools/perf/util/sort.c | 6 ++++++
9 files changed, 44 insertions(+), 6 deletions(-)
^ permalink raw reply [flat|nested] 25+ messages in thread
end of thread, other threads:[~2019-05-03 5:49 UTC | newest]
Thread overview: 25+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-06-06 19:26 [GIT PULL 00/11] perf/urgent fixes Arnaldo Carvalho de Melo
2017-06-06 19:26 ` [PATCH 01/11] perf annotate: Fix failure when filename has special chars Arnaldo Carvalho de Melo
2017-06-06 19:26 ` [PATCH 02/11] perf trace: Add mmap alias for s390 Arnaldo Carvalho de Melo
2017-06-06 19:26 ` [PATCH 03/11] perf annotate: Fix branch instruction with multiple operands Arnaldo Carvalho de Melo
2017-06-06 19:26 ` [PATCH 04/11] perf stat: Only print NMI watchdog hint when enabled Arnaldo Carvalho de Melo
2017-06-06 19:26 ` [PATCH 05/11] perf header: Set proper module name when build-id event found Arnaldo Carvalho de Melo
2017-06-06 19:26 ` [PATCH 06/11] perf symbols: Set module info " Arnaldo Carvalho de Melo
2017-06-06 19:26 ` [PATCH 07/11] perf symbols: Use correct filename for compressed modules in build-id cache Arnaldo Carvalho de Melo
2017-06-06 19:26 ` [PATCH 08/11] perf test: Disable breakpoint signal tests for powerpc Arnaldo Carvalho de Melo
2017-06-06 19:26 ` [PATCH 09/11] perf annotate: Add missing powerpc triplet Arnaldo Carvalho de Melo
2017-06-06 19:26 ` [PATCH 10/11] perf report: Include partial stacks unwound with libdw Arnaldo Carvalho de Melo
2017-06-06 19:26 ` [PATCH 11/11] perf report: Ensure the perf DSO mapping matches what libdw sees Arnaldo Carvalho de Melo
2017-06-07 15:51 ` [GIT PULL 00/11] perf/urgent fixes Ingo Molnar
-- strict thread matches above, loose matches on Subject: below --
2019-05-03 0:25 Arnaldo Carvalho de Melo
2019-05-03 5:49 ` Ingo Molnar
2018-10-17 22:54 Arnaldo Carvalho de Melo
2018-10-17 22:54 ` Arnaldo Carvalho de Melo
2018-10-17 22:54 ` Arnaldo Carvalho de Melo
2018-10-18 5:44 ` Ingo Molnar
2018-10-18 5:44 ` Ingo Molnar
2018-10-18 5:44 ` Ingo Molnar
2016-08-15 21:46 Arnaldo Carvalho de Melo
2016-08-09 16:01 Arnaldo Carvalho de Melo
2016-08-09 19:12 ` Ingo Molnar
2012-10-17 17:19 Arnaldo Carvalho de Melo
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.