* [GIT PULL 00/11] perf/urgent fixes
@ 2012-10-17 17:19 Arnaldo Carvalho de Melo
2012-10-17 17:19 ` [PATCH 01/11] perf tool: Precise mode requires exclude_guest Arnaldo Carvalho de Melo
` (10 more replies)
0 siblings, 11 replies; 36+ 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] 36+ messages in thread
* [PATCH 01/11] perf tool: Precise mode requires exclude_guest
2012-10-17 17:19 [GIT PULL 00/11] perf/urgent fixes Arnaldo Carvalho de Melo
@ 2012-10-17 17:19 ` Arnaldo Carvalho de Melo
2012-10-17 17:19 ` [PATCH 02/11] perf: Require exclude_guest to use PEBS - kernel side enforcement Arnaldo Carvalho de Melo
` (9 subsequent siblings)
10 siblings, 0 replies; 36+ messages in thread
From: Arnaldo Carvalho de Melo @ 2012-10-17 17:19 UTC (permalink / raw)
To: Ingo Molnar
Cc: linux-kernel, David Ahern, Avi Kivity, Gleb Natapov,
Peter Zijlstra, Robert Richter, Arnaldo Carvalho de Melo
From: David Ahern <dsahern@gmail.com>
Summary of events per Peter:
"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.
AMB IBS does work but doesn't currently support exclude_* at all,
setting an exclude_* bit will make it fail."
This patch handles userspace perf command, setting the exclude_guest
attribute if precise mode is requested, but only if a user has not
specified a request for guest or host only profiling (G or H attribute).
Kernel side AMD currently ignores all exclude_* bits, so there is no impact
to existing IBS code paths. Robert Richter has a patch where IBS code will
return EINVAL if an exclude_* bit is set. When this goes in it means use
of :p on AMD with IBS will first fail with EINVAL (because exclude_guest
will be set). Then the existing fallback code within perf will unset
exclude_guest and try again. The second attempt will succeed if the CPU
supports IBS profiling.
Signed-off-by: David Ahern <dsahern@gmail.com>
Acked-by: Peter Zijlstra <peterz@infradead.org>
Acked-by: Robert Richter <robert.richter@amd.com>
Tested-by: Robert Richter <robert.richter@amd.com>
Reviewed-by: Robert Richter <robert.richter@amd.com>
Cc: Avi Kivity <avi@redhat.com>
Cc: Gleb Natapov <gleb@redhat.com>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Robert Richter <robert.richter@amd.com>
Link: http://lkml.kernel.org/r/1347569955-54626-2-git-send-email-dsahern@gmail.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
tools/perf/util/parse-events.c | 3 +++
1 files changed, 3 insertions(+), 0 deletions(-)
diff --git a/tools/perf/util/parse-events.c b/tools/perf/util/parse-events.c
index aed38e4..75c7b0f 100644
--- a/tools/perf/util/parse-events.c
+++ b/tools/perf/util/parse-events.c
@@ -690,6 +690,9 @@ static int get_event_modifier(struct event_modifier *mod, char *str,
eH = 0;
} else if (*str == 'p') {
precise++;
+ /* use of precise requires exclude_guest */
+ if (!exclude_GH)
+ eG = 1;
} else
break;
--
1.7.1
^ permalink raw reply related [flat|nested] 36+ messages in thread
* [PATCH 02/11] perf: Require exclude_guest to use PEBS - kernel side enforcement
2012-10-17 17:19 [GIT PULL 00/11] perf/urgent fixes Arnaldo Carvalho de Melo
2012-10-17 17:19 ` [PATCH 01/11] perf tool: Precise mode requires exclude_guest Arnaldo Carvalho de Melo
@ 2012-10-17 17:19 ` Arnaldo Carvalho de Melo
2012-10-17 17:19 ` [PATCH 03/11] perf tools: Fix segfault when using srcline sort key Arnaldo Carvalho de Melo
` (8 subsequent siblings)
10 siblings, 0 replies; 36+ messages in thread
From: Arnaldo Carvalho de Melo @ 2012-10-17 17:19 UTC (permalink / raw)
To: Ingo Molnar
Cc: linux-kernel, Peter Zijlstra, Avi Kivity, David Ahern,
Gleb Natapov, Robert Richter, Arnaldo Carvalho de Melo
From: Peter Zijlstra <peterz@infradead.org>
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.
This patch enforces exclude_guest kernel side.
Signed-off-by: Peter Zijlstra <peterz@infradead.org>
Cc: Avi Kivity <avi@redhat.com>
Cc: David Ahern <dsahern@gmail.com>
Cc: Gleb Natapov <gleb@redhat.com>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: Robert Richter <robert.richter@amd.com>
Link: http://lkml.kernel.org/r/1347569955-54626-3-git-send-email-dsahern@gmail.com
Signed-off-by: David Ahern <dsahern@gmail.com>
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
arch/x86/kernel/cpu/perf_event.c | 6 ++++++
1 files changed, 6 insertions(+), 0 deletions(-)
diff --git a/arch/x86/kernel/cpu/perf_event.c b/arch/x86/kernel/cpu/perf_event.c
index 915b876..3373f84 100644
--- a/arch/x86/kernel/cpu/perf_event.c
+++ b/arch/x86/kernel/cpu/perf_event.c
@@ -338,6 +338,9 @@ int x86_setup_perfctr(struct perf_event *event)
/* BTS is currently only allowed for user-mode. */
if (!attr->exclude_kernel)
return -EOPNOTSUPP;
+
+ if (!attr->exclude_guest)
+ return -EOPNOTSUPP;
}
hwc->config |= config;
@@ -380,6 +383,9 @@ int x86_pmu_hw_config(struct perf_event *event)
if (event->attr.precise_ip) {
int precise = 0;
+ if (!event->attr.exclude_guest)
+ return -EOPNOTSUPP;
+
/* Support for constant skid */
if (x86_pmu.pebs_active && !x86_pmu.pebs_broken) {
precise++;
--
1.7.1
^ permalink raw reply related [flat|nested] 36+ messages in thread
* [PATCH 03/11] perf tools: Fix segfault when using srcline sort key
2012-10-17 17:19 [GIT PULL 00/11] perf/urgent fixes Arnaldo Carvalho de Melo
2012-10-17 17:19 ` [PATCH 01/11] perf tool: Precise mode requires exclude_guest Arnaldo Carvalho de Melo
2012-10-17 17:19 ` [PATCH 02/11] perf: Require exclude_guest to use PEBS - kernel side enforcement Arnaldo Carvalho de Melo
@ 2012-10-17 17:19 ` Arnaldo Carvalho de Melo
2012-10-17 17:19 ` [PATCH 04/11] perf tools: Remove warnings on JIT samples for " Arnaldo Carvalho de Melo
` (7 subsequent siblings)
10 siblings, 0 replies; 36+ messages in thread
From: Arnaldo Carvalho de Melo @ 2012-10-17 17:19 UTC (permalink / raw)
To: Ingo Molnar
Cc: linux-kernel, Namhyung Kim, Namhyung Kim, Paul Mackerras,
Peter Zijlstra, Arnaldo Carvalho de Melo
From: Namhyung Kim <namhyung.kim@lge.com>
The srcline sort key is for grouping samples based on their source file
and line number. It use addr2line tool to get the information but it
requires dso name. It caused a segfault when a sample does not have the
name by dereferencing a NULL pointer. Fix it by using raw ip addresses
for those samples.
Signed-off-by: Namhyung Kim <namhyung@kernel.org>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Link: http://lkml.kernel.org/r/1350272383-7016-1-git-send-email-namhyung@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
tools/perf/util/sort.c | 3 +++
1 files changed, 3 insertions(+), 0 deletions(-)
diff --git a/tools/perf/util/sort.c b/tools/perf/util/sort.c
index b5b1b92..dd68f11 100644
--- a/tools/perf/util/sort.c
+++ b/tools/perf/util/sort.c
@@ -260,6 +260,9 @@ static int hist_entry__srcline_snprintf(struct hist_entry *self, char *bf,
if (path != NULL)
goto out_path;
+ if (!self->ms.map)
+ goto out_ip;
+
snprintf(cmd, sizeof(cmd), "addr2line -e %s %016" PRIx64,
self->ms.map->dso->long_name, self->ip);
fp = popen(cmd, "r");
--
1.7.1
^ permalink raw reply related [flat|nested] 36+ messages in thread
* [PATCH 04/11] perf tools: Remove warnings on JIT samples for srcline sort key
2012-10-17 17:19 [GIT PULL 00/11] perf/urgent fixes Arnaldo Carvalho de Melo
` (2 preceding siblings ...)
2012-10-17 17:19 ` [PATCH 03/11] perf tools: Fix segfault when using srcline sort key Arnaldo Carvalho de Melo
@ 2012-10-17 17:19 ` Arnaldo Carvalho de Melo
2012-10-17 17:19 ` [PATCH 05/11] perf hists browser: Fix off-by-two bug on the first column Arnaldo Carvalho de Melo
` (6 subsequent siblings)
10 siblings, 0 replies; 36+ messages in thread
From: Arnaldo Carvalho de Melo @ 2012-10-17 17:19 UTC (permalink / raw)
To: Ingo Molnar
Cc: linux-kernel, Namhyung Kim, Namhyung Kim, David Ahern,
Irina Tirdea, Paul Mackerras, Peter Zijlstra,
Arnaldo Carvalho de Melo
From: Namhyung Kim <namhyung.kim@lge.com>
When using the srcline sort key with perf report, I see many lines of
warning related to JIT samples like below:
addr2line: '/tmp/perf-1397.map': No such file
Since it's not a ELF binary and doesn't provide such information, just
use the raw ip address.
Signed-off-by: Namhyung Kim <namhyung@kernel.org>
Cc: David Ahern <dsahern@gmail.com>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: Irina Tirdea <irina.tirdea@intel.com>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Link: http://lkml.kernel.org/r/1350272383-7016-2-git-send-email-namhyung@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
tools/perf/util/sort.c | 3 +++
1 files changed, 3 insertions(+), 0 deletions(-)
diff --git a/tools/perf/util/sort.c b/tools/perf/util/sort.c
index dd68f11..cfd1c0f 100644
--- a/tools/perf/util/sort.c
+++ b/tools/perf/util/sort.c
@@ -263,6 +263,9 @@ static int hist_entry__srcline_snprintf(struct hist_entry *self, char *bf,
if (!self->ms.map)
goto out_ip;
+ if (!strncmp(self->ms.map->dso->long_name, "/tmp/perf-", 10))
+ goto out_ip;
+
snprintf(cmd, sizeof(cmd), "addr2line -e %s %016" PRIx64,
self->ms.map->dso->long_name, self->ip);
fp = popen(cmd, "r");
--
1.7.1
^ permalink raw reply related [flat|nested] 36+ messages in thread
* [PATCH 05/11] perf hists browser: Fix off-by-two bug on the first column
2012-10-17 17:19 [GIT PULL 00/11] perf/urgent fixes Arnaldo Carvalho de Melo
` (3 preceding siblings ...)
2012-10-17 17:19 ` [PATCH 04/11] perf tools: Remove warnings on JIT samples for " Arnaldo Carvalho de Melo
@ 2012-10-17 17:19 ` Arnaldo Carvalho de Melo
2012-10-17 17:19 ` [PATCH 06/11] lib tools traceevent: Add back pevent assignment in __pevent_parse_format() Arnaldo Carvalho de Melo
` (5 subsequent siblings)
10 siblings, 0 replies; 36+ messages in thread
From: Arnaldo Carvalho de Melo @ 2012-10-17 17:19 UTC (permalink / raw)
To: Ingo Molnar
Cc: linux-kernel, Namhyung Kim, Namhyung Kim, Jiri Olsa,
Paul Mackerras, Peter Zijlstra, Arnaldo Carvalho de Melo
From: Namhyung Kim <namhyung.kim@lge.com>
The commit 5395a04841fc ("perf hists: Separate overhead and baseline
columns") makes the "Overhead" column no more the first one. So it
resulted in the mis-aligned column in the normal (non-diff) output.
Signed-off-by: Namhyung Kim <namhyung@kernel.org>
Reported-by: Markus Trippelsdorf <markus@trippelsdorf.de>
Acked-by: Jiri Olsa <jolsa@redhat.com>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Link: http://lkml.kernel.org/r/None
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
tools/perf/ui/browsers/hists.c | 4 +++-
1 files changed, 3 insertions(+), 1 deletions(-)
diff --git a/tools/perf/ui/browsers/hists.c b/tools/perf/ui/browsers/hists.c
index 0568536..fe4430a 100644
--- a/tools/perf/ui/browsers/hists.c
+++ b/tools/perf/ui/browsers/hists.c
@@ -610,6 +610,7 @@ static int hist_browser__show_entry(struct hist_browser *browser,
char folded_sign = ' ';
bool current_entry = ui_browser__is_current_entry(&browser->b, row);
off_t row_offset = entry->row_offset;
+ bool first = true;
if (current_entry) {
browser->he_selection = entry;
@@ -633,10 +634,11 @@ static int hist_browser__show_entry(struct hist_browser *browser,
if (!perf_hpp__format[i].cond)
continue;
- if (i) {
+ if (!first) {
slsmg_printf(" ");
width -= 2;
}
+ first = false;
if (perf_hpp__format[i].color) {
hpp.ptr = &percent;
--
1.7.1
^ permalink raw reply related [flat|nested] 36+ messages in thread
* [PATCH 06/11] lib tools traceevent: Add back pevent assignment in __pevent_parse_format()
2012-10-17 17:19 [GIT PULL 00/11] perf/urgent fixes Arnaldo Carvalho de Melo
` (4 preceding siblings ...)
2012-10-17 17:19 ` [PATCH 05/11] perf hists browser: Fix off-by-two bug on the first column Arnaldo Carvalho de Melo
@ 2012-10-17 17:19 ` Arnaldo Carvalho de Melo
2012-10-17 17:19 ` [PATCH 07/11] tools lib traceevent: Fix missed freeing of subargs in free_arg() in filter Arnaldo Carvalho de Melo
` (4 subsequent siblings)
10 siblings, 0 replies; 36+ messages in thread
From: Arnaldo Carvalho de Melo @ 2012-10-17 17:19 UTC (permalink / raw)
To: Ingo Molnar
Cc: linux-kernel, Steven Rostedt, Namhyung Kim, Arnaldo Carvalho de Melo
From: Steven Rostedt <rostedt@goodmis.org>
Even though with the change of commit commit 2b29175 "tools lib
traceevent: Carve out events format parsing routine", allowed
__pevent_parse_format() to parse an event without the need of a pevent
handler, the event still needs to assign the pevent handed to it.
There's no problem with assigning it if the pevent is NULL, as the
event->pevent would be NULL without the assignment. But function parsing
handlers may be assigned to the pevent handler to help in parsing the
event. If there's no pevent then there would not be any function
handlers, but if the pevent isn't assigned first before parsing the
event, it wont honor the function handlers that were assigned.
Worse yet, the current code crashes if an event has a function that it
tries to parse. For example:
# perf record -e scsi:scsi_dispatch_cmd_timeout
Segmentation fault (core dumped)
This happens because the scsi_dispatch_cmd_timeout event format has the following:
scsi_trace_parse_cdb(p, __get_dynamic_array(cmnd), REC->cmd_len)
which hasn't been defined by the pevent code.
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
Reviewed-by: Namhyung Kim <namhyung@kernel.org>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: Namhyung Kim <namhyung@kernel.org>
Link: http://lkml.kernel.org/r/1349136831.22822.133.camel@gandalf.local.home
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
tools/lib/traceevent/event-parse.c | 9 ++++++---
1 files changed, 6 insertions(+), 3 deletions(-)
diff --git a/tools/lib/traceevent/event-parse.c b/tools/lib/traceevent/event-parse.c
index 47264b4..f2989c5 100644
--- a/tools/lib/traceevent/event-parse.c
+++ b/tools/lib/traceevent/event-parse.c
@@ -2602,6 +2602,9 @@ find_func_handler(struct pevent *pevent, char *func_name)
{
struct pevent_function_handler *func;
+ if (!pevent)
+ return NULL;
+
for (func = pevent->func_handlers; func; func = func->next) {
if (strcmp(func->name, func_name) == 0)
break;
@@ -4938,6 +4941,9 @@ enum pevent_errno __pevent_parse_format(struct event_format **eventp,
goto event_alloc_failed;
}
+ /* Add pevent to event so that it can be referenced */
+ event->pevent = pevent;
+
ret = event_read_format(event);
if (ret < 0) {
ret = PEVENT_ERRNO__READ_FORMAT_FAILED;
@@ -5041,9 +5047,6 @@ enum pevent_errno pevent_parse_event(struct pevent *pevent, const char *buf,
if (event == NULL)
return ret;
- /* Add pevent to event so that it can be referenced */
- event->pevent = pevent;
-
if (add_event(pevent, event)) {
ret = PEVENT_ERRNO__MEM_ALLOC_FAILED;
goto event_add_failed;
--
1.7.1
^ permalink raw reply related [flat|nested] 36+ messages in thread
* [PATCH 07/11] tools lib traceevent: Fix missed freeing of subargs in free_arg() in filter
2012-10-17 17:19 [GIT PULL 00/11] perf/urgent fixes Arnaldo Carvalho de Melo
` (5 preceding siblings ...)
2012-10-17 17:19 ` [PATCH 06/11] lib tools traceevent: Add back pevent assignment in __pevent_parse_format() Arnaldo Carvalho de Melo
@ 2012-10-17 17:19 ` Arnaldo Carvalho de Melo
2012-10-17 17:19 ` [PATCH 08/11] perf python: Initialize 'page_size' variable Arnaldo Carvalho de Melo
` (3 subsequent siblings)
10 siblings, 0 replies; 36+ messages in thread
From: Arnaldo Carvalho de Melo @ 2012-10-17 17:19 UTC (permalink / raw)
To: Ingo Molnar
Cc: linux-kernel, Steven Rostedt, Namhyung Kim, Arnaldo Carvalho de Melo
From: Steven Rostedt <rostedt@goodmis.org>
Some of args were missed in free_args(), as well as subargs.
That is args like FILTER_ARG_NUM have left and right pointers to other
args that also need to be freed.
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: Namhyung Kim <namhyung@kernel.org>
Link: http://lkml.kernel.org/r/1349137408.22822.135.camel@gandalf.local.home
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
tools/lib/traceevent/parse-filter.c | 15 +++++++++++++++
1 files changed, 15 insertions(+), 0 deletions(-)
diff --git a/tools/lib/traceevent/parse-filter.c b/tools/lib/traceevent/parse-filter.c
index ad17855..5ea4326 100644
--- a/tools/lib/traceevent/parse-filter.c
+++ b/tools/lib/traceevent/parse-filter.c
@@ -209,7 +209,16 @@ static void free_arg(struct filter_arg *arg)
switch (arg->type) {
case FILTER_ARG_NONE:
case FILTER_ARG_BOOLEAN:
+ break;
+
case FILTER_ARG_NUM:
+ free_arg(arg->num.left);
+ free_arg(arg->num.right);
+ break;
+
+ case FILTER_ARG_EXP:
+ free_arg(arg->exp.left);
+ free_arg(arg->exp.right);
break;
case FILTER_ARG_STR:
@@ -218,6 +227,12 @@ static void free_arg(struct filter_arg *arg)
free(arg->str.buffer);
break;
+ case FILTER_ARG_VALUE:
+ if (arg->value.type == FILTER_STRING ||
+ arg->value.type == FILTER_CHAR)
+ free(arg->value.str);
+ break;
+
case FILTER_ARG_OP:
free_arg(arg->op.left);
free_arg(arg->op.right);
--
1.7.1
^ permalink raw reply related [flat|nested] 36+ messages in thread
* [PATCH 08/11] perf python: Initialize 'page_size' variable
2012-10-17 17:19 [GIT PULL 00/11] perf/urgent fixes Arnaldo Carvalho de Melo
` (6 preceding siblings ...)
2012-10-17 17:19 ` [PATCH 07/11] tools lib traceevent: Fix missed freeing of subargs in free_arg() in filter Arnaldo Carvalho de Melo
@ 2012-10-17 17:19 ` Arnaldo Carvalho de Melo
2012-10-18 1:31 ` Namhyung Kim
2012-10-17 17:19 ` [PATCH 09/11] perf python: Link with libtraceevent Arnaldo Carvalho de Melo
` (2 subsequent siblings)
10 siblings, 1 reply; 36+ 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, David Ahern,
Frederic Weisbecker, Jiri Olsa, Mike Galbraith, Namhyung Kim,
Paul Mackerras, Peter Zijlstra, Stephane Eranian
From: Arnaldo Carvalho de Melo <acme@redhat.com>
The commit 0c1fe6b:
'perf tools: Have the page size value available for all tools'
Broke the python binding because the global variable 'page_size' is
initialized on the main() routine, that is not called when using
just the python binding, causing evlist.mmap() to fail because it
expects that variable to be initialized to the system's page size.
Fix it by initializing it on the binding init routine.
Cc: David Ahern <dsahern@gmail.com>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Mike Galbraith <efault@gmx.de>
Cc: Namhyung Kim <namhyung@gmail.com>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Stephane Eranian <eranian@google.com>
Link: http://lkml.kernel.org/n/tip-vrvp3azmbfzexnpmkhmvtzzc@git.kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
tools/perf/util/python.c | 2 ++
1 files changed, 2 insertions(+), 0 deletions(-)
diff --git a/tools/perf/util/python.c b/tools/perf/util/python.c
index 9181bf2..a2657fd 100644
--- a/tools/perf/util/python.c
+++ b/tools/perf/util/python.c
@@ -1015,6 +1015,8 @@ PyMODINIT_FUNC initperf(void)
pyrf_cpu_map__setup_types() < 0)
return;
+ page_size = sysconf(_SC_PAGE_SIZE);
+
Py_INCREF(&pyrf_evlist__type);
PyModule_AddObject(module, "evlist", (PyObject*)&pyrf_evlist__type);
--
1.7.1
^ permalink raw reply related [flat|nested] 36+ messages in thread
* Re: [PATCH 08/11] perf python: Initialize 'page_size' variable
2012-10-17 17:19 ` [PATCH 08/11] perf python: Initialize 'page_size' variable Arnaldo Carvalho de Melo
@ 2012-10-18 1:31 ` Namhyung Kim
2012-10-18 13:58 ` Arnaldo Carvalho de Melo
0 siblings, 1 reply; 36+ messages in thread
From: Namhyung Kim @ 2012-10-18 1:31 UTC (permalink / raw)
To: Arnaldo Carvalho de Melo
Cc: Ingo Molnar, linux-kernel, Arnaldo Carvalho de Melo, David Ahern,
Frederic Weisbecker, Jiri Olsa, Mike Galbraith, Paul Mackerras,
Peter Zijlstra, Stephane Eranian
Hi Arnaldo,
On Wed, 17 Oct 2012 14:19:44 -0300, Arnaldo Carvalho de Melo wrote:
> From: Arnaldo Carvalho de Melo <acme@redhat.com>
>
> The commit 0c1fe6b:
>
> 'perf tools: Have the page size value available for all tools'
Is that commit in your perf/urgent branch? I got this:
GEN python/perf.so
util/python.c: In function ‘initperf’:
util/python.c:1018:2: error: ‘page_size’ undeclared (first use in this function)
util/python.c:1018:2: note: each undeclared identifier is reported only once for each function it appears in
error: command 'gcc' failed with exit status 1
cp: cannot stat `python_ext_build/lib/perf.so': No such file or directory
make: *** [python/perf.so] Error 1
Adding '#include "util.h"' didn't work. But manually adding 'extern
unsigned int page_size;' did.
Thanks,
Namhyung
>
> Broke the python binding because the global variable 'page_size' is
> initialized on the main() routine, that is not called when using
> just the python binding, causing evlist.mmap() to fail because it
> expects that variable to be initialized to the system's page size.
>
> Fix it by initializing it on the binding init routine.
>
> Cc: David Ahern <dsahern@gmail.com>
> Cc: Frederic Weisbecker <fweisbec@gmail.com>
> Cc: Jiri Olsa <jolsa@redhat.com>
> Cc: Mike Galbraith <efault@gmx.de>
> Cc: Namhyung Kim <namhyung@gmail.com>
> Cc: Paul Mackerras <paulus@samba.org>
> Cc: Peter Zijlstra <peterz@infradead.org>
> Cc: Stephane Eranian <eranian@google.com>
> Link: http://lkml.kernel.org/n/tip-vrvp3azmbfzexnpmkhmvtzzc@git.kernel.org
> Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
> ---
> tools/perf/util/python.c | 2 ++
> 1 files changed, 2 insertions(+), 0 deletions(-)
>
> diff --git a/tools/perf/util/python.c b/tools/perf/util/python.c
> index 9181bf2..a2657fd 100644
> --- a/tools/perf/util/python.c
> +++ b/tools/perf/util/python.c
> @@ -1015,6 +1015,8 @@ PyMODINIT_FUNC initperf(void)
> pyrf_cpu_map__setup_types() < 0)
> return;
>
> + page_size = sysconf(_SC_PAGE_SIZE);
> +
> Py_INCREF(&pyrf_evlist__type);
> PyModule_AddObject(module, "evlist", (PyObject*)&pyrf_evlist__type);
^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: [PATCH 08/11] perf python: Initialize 'page_size' variable
2012-10-18 1:31 ` Namhyung Kim
@ 2012-10-18 13:58 ` Arnaldo Carvalho de Melo
0 siblings, 0 replies; 36+ messages in thread
From: Arnaldo Carvalho de Melo @ 2012-10-18 13:58 UTC (permalink / raw)
To: Namhyung Kim
Cc: Ingo Molnar, linux-kernel, David Ahern, Frederic Weisbecker,
Jiri Olsa, Mike Galbraith, Paul Mackerras, Peter Zijlstra,
Stephane Eranian
Em Thu, Oct 18, 2012 at 10:31:57AM +0900, Namhyung Kim escreveu:
> On Wed, 17 Oct 2012 14:19:44 -0300, Arnaldo Carvalho de Melo wrote:
> > From: Arnaldo Carvalho de Melo <acme@redhat.com>
> > The commit 0c1fe6b:
> > 'perf tools: Have the page size value available for all tools'
> Is that commit in your perf/urgent branch? I got this:
> GEN python/perf.so
Ouch, brown paper bag grade stuff detected, I reverted it now in my perf/urgent
branch.
Ingo, I'm on a conference here in Brazil, just pushed this revert to
perf/urgent, up to you if you want to pull from it or apply all the
csets in this branch except for the one reverted:
commit 356712f6e296fdae1edae51b96b485ed830bdc0c
Author: Arnaldo Carvalho de Melo <acme@redhat.com>
Date: Tue Oct 16 14:51:04 2012 -0300
perf python: Initialize 'page_size' variable
-----------------------
I'll keep it on my perf/core branch, where it is needed.
Thanks Namhyung!
- Arnaldo
> util/python.c: In function ‘initperf’:
> util/python.c:1018:2: error: ‘page_size’ undeclared (first use in this function)
> util/python.c:1018:2: note: each undeclared identifier is reported only once for each function it appears in
> error: command 'gcc' failed with exit status 1
> cp: cannot stat `python_ext_build/lib/perf.so': No such file or directory
> make: *** [python/perf.so] Error 1
>
> Adding '#include "util.h"' didn't work. But manually adding 'extern
> unsigned int page_size;' did.
>
> Thanks,
> Namhyung
>
>
> >
> > Broke the python binding because the global variable 'page_size' is
> > initialized on the main() routine, that is not called when using
> > just the python binding, causing evlist.mmap() to fail because it
> > expects that variable to be initialized to the system's page size.
> >
> > Fix it by initializing it on the binding init routine.
> >
> > Cc: David Ahern <dsahern@gmail.com>
> > Cc: Frederic Weisbecker <fweisbec@gmail.com>
> > Cc: Jiri Olsa <jolsa@redhat.com>
> > Cc: Mike Galbraith <efault@gmx.de>
> > Cc: Namhyung Kim <namhyung@gmail.com>
> > Cc: Paul Mackerras <paulus@samba.org>
> > Cc: Peter Zijlstra <peterz@infradead.org>
> > Cc: Stephane Eranian <eranian@google.com>
> > Link: http://lkml.kernel.org/n/tip-vrvp3azmbfzexnpmkhmvtzzc@git.kernel.org
> > Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
> > ---
> > tools/perf/util/python.c | 2 ++
> > 1 files changed, 2 insertions(+), 0 deletions(-)
> >
> > diff --git a/tools/perf/util/python.c b/tools/perf/util/python.c
> > index 9181bf2..a2657fd 100644
> > --- a/tools/perf/util/python.c
> > +++ b/tools/perf/util/python.c
> > @@ -1015,6 +1015,8 @@ PyMODINIT_FUNC initperf(void)
> > pyrf_cpu_map__setup_types() < 0)
> > return;
> >
> > + page_size = sysconf(_SC_PAGE_SIZE);
> > +
> > Py_INCREF(&pyrf_evlist__type);
> > PyModule_AddObject(module, "evlist", (PyObject*)&pyrf_evlist__type);
^ permalink raw reply [flat|nested] 36+ messages in thread
* [PATCH 09/11] perf python: Link with libtraceevent
2012-10-17 17:19 [GIT PULL 00/11] perf/urgent fixes Arnaldo Carvalho de Melo
` (7 preceding siblings ...)
2012-10-17 17:19 ` [PATCH 08/11] perf python: Initialize 'page_size' variable Arnaldo Carvalho de Melo
@ 2012-10-17 17:19 ` Arnaldo Carvalho de Melo
2012-10-18 1:38 ` Namhyung Kim
2012-10-17 17:19 ` [PATCH 10/11] perf tools: Fix build on sparc Arnaldo Carvalho de Melo
2012-10-17 17:19 ` [PATCH 11/11] perf hists browser: Add back callchain folding symbol Arnaldo Carvalho de Melo
10 siblings, 1 reply; 36+ 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, David Ahern,
Frederic Weisbecker, Jiri Olsa, Mike Galbraith, Namhyung Kim,
Paul Mackerras, Peter Zijlstra, Stephane Eranian
From: Arnaldo Carvalho de Melo <acme@redhat.com>
The evsel methods to read tracepoint fields uses libtraceevent
functions, becoming needed by the python binding as well.
Cc: David Ahern <dsahern@gmail.com>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Mike Galbraith <efault@gmx.de>
Cc: Namhyung Kim <namhyung@gmail.com>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Stephane Eranian <eranian@google.com>
Link: http://lkml.kernel.org/n/tip-j3o4v7jyvp9ke9n230l96a1m@git.kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
tools/perf/util/setup.py | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)
diff --git a/tools/perf/util/setup.py b/tools/perf/util/setup.py
index d0f9f29..09c3cea 100644
--- a/tools/perf/util/setup.py
+++ b/tools/perf/util/setup.py
@@ -31,6 +31,7 @@ perf = Extension('perf',
sources = ext_sources,
include_dirs = ['util/include'],
extra_compile_args = cflags,
+ extra_objects = [build_tmp + '/../../libtraceevent.a'],
)
setup(name='perf',
--
1.7.1
^ permalink raw reply related [flat|nested] 36+ messages in thread
* Re: [PATCH 09/11] perf python: Link with libtraceevent
2012-10-17 17:19 ` [PATCH 09/11] perf python: Link with libtraceevent Arnaldo Carvalho de Melo
@ 2012-10-18 1:38 ` Namhyung Kim
2012-10-18 14:00 ` Arnaldo Carvalho de Melo
0 siblings, 1 reply; 36+ messages in thread
From: Namhyung Kim @ 2012-10-18 1:38 UTC (permalink / raw)
To: Arnaldo Carvalho de Melo
Cc: Ingo Molnar, linux-kernel, Arnaldo Carvalho de Melo, David Ahern,
Frederic Weisbecker, Jiri Olsa, Mike Galbraith, Paul Mackerras,
Peter Zijlstra, Stephane Eranian
On Wed, 17 Oct 2012 14:19:45 -0300, Arnaldo Carvalho de Melo wrote:
> From: Arnaldo Carvalho de Melo <acme@redhat.com>
>
> The evsel methods to read tracepoint fields uses libtraceevent
> functions, becoming needed by the python binding as well.
I got a build error after adding 'extern unsigned int page_size' to
util/python.c - please see my previous reply.
namhyung@sejong:perf$ make
SUBDIR ../lib/traceevent/
LINK perf
GEN python/perf.so
gcc: error: python_ext_build/tmp//../../libtraceevent.a: No such file or directory
error: command 'gcc' failed with exit status 1
cp: cannot stat `python_ext_build/lib/perf.so': No such file or directory
make: *** [python/perf.so] Error 1
The libtraceevent.a will be in
python_ext_build/tmp/../../../lib/traceevent/libtraceevent.a if make was
invoked without the O.
Makefile contains following:
TRACE_EVENT_DIR = ../lib/traceevent/
ifneq ($(OUTPUT),)
TE_PATH=$(OUTPUT)
else
TE_PATH=$(TRACE_EVENT_DIR)
endif
LIBTRACEEVENT = $(TE_PATH)libtraceevent.a
TE_LIB := -L$(TE_PATH) -ltraceevent
Thanks,
Namhyung
>
> Cc: David Ahern <dsahern@gmail.com>
> Cc: Frederic Weisbecker <fweisbec@gmail.com>
> Cc: Jiri Olsa <jolsa@redhat.com>
> Cc: Mike Galbraith <efault@gmx.de>
> Cc: Namhyung Kim <namhyung@gmail.com>
> Cc: Paul Mackerras <paulus@samba.org>
> Cc: Peter Zijlstra <peterz@infradead.org>
> Cc: Stephane Eranian <eranian@google.com>
> Link: http://lkml.kernel.org/n/tip-j3o4v7jyvp9ke9n230l96a1m@git.kernel.org
> Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
> ---
> tools/perf/util/setup.py | 1 +
> 1 files changed, 1 insertions(+), 0 deletions(-)
>
> diff --git a/tools/perf/util/setup.py b/tools/perf/util/setup.py
> index d0f9f29..09c3cea 100644
> --- a/tools/perf/util/setup.py
> +++ b/tools/perf/util/setup.py
> @@ -31,6 +31,7 @@ perf = Extension('perf',
> sources = ext_sources,
> include_dirs = ['util/include'],
> extra_compile_args = cflags,
> + extra_objects = [build_tmp + '/../../libtraceevent.a'],
> )
>
> setup(name='perf',
^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: [PATCH 09/11] perf python: Link with libtraceevent
2012-10-18 1:38 ` Namhyung Kim
@ 2012-10-18 14:00 ` Arnaldo Carvalho de Melo
2012-10-18 14:38 ` Arnaldo Carvalho de Melo
0 siblings, 1 reply; 36+ messages in thread
From: Arnaldo Carvalho de Melo @ 2012-10-18 14:00 UTC (permalink / raw)
To: Namhyung Kim
Cc: Ingo Molnar, linux-kernel, David Ahern, Frederic Weisbecker,
Jiri Olsa, Mike Galbraith, Paul Mackerras, Peter Zijlstra,
Stephane Eranian
Em Thu, Oct 18, 2012 at 10:38:18AM +0900, Namhyung Kim escreveu:
> On Wed, 17 Oct 2012 14:19:45 -0300, Arnaldo Carvalho de Melo wrote:
> > From: Arnaldo Carvalho de Melo <acme@redhat.com>
> >
> > The evsel methods to read tracepoint fields uses libtraceevent
> > functions, becoming needed by the python binding as well.
>
> I got a build error after adding 'extern unsigned int page_size' to
> util/python.c - please see my previous reply.
>
> namhyung@sejong:perf$ make
> SUBDIR ../lib/traceevent/
> LINK perf
> GEN python/perf.so
> gcc: error: python_ext_build/tmp//../../libtraceevent.a: No such file or directory
> error: command 'gcc' failed with exit status 1
> cp: cannot stat `python_ext_build/lib/perf.so': No such file or directory
> make: *** [python/perf.so] Error 1
>
> The libtraceevent.a will be in
> python_ext_build/tmp/../../../lib/traceevent/libtraceevent.a if make was
> invoked without the O.
>
> Makefile contains following:
>
> TRACE_EVENT_DIR = ../lib/traceevent/
>
> ifneq ($(OUTPUT),)
> TE_PATH=$(OUTPUT)
> else
> TE_PATH=$(TRACE_EVENT_DIR)
> endif
>
> LIBTRACEEVENT = $(TE_PATH)libtraceevent.a
> TE_LIB := -L$(TE_PATH) -ltraceevent
I see, so we need to somehow propagate this TE_PATH variable to the setup.py file...
- Arnaldo
^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: [PATCH 09/11] perf python: Link with libtraceevent
2012-10-18 14:00 ` Arnaldo Carvalho de Melo
@ 2012-10-18 14:38 ` Arnaldo Carvalho de Melo
2012-10-18 15:40 ` Namhyung Kim
0 siblings, 1 reply; 36+ messages in thread
From: Arnaldo Carvalho de Melo @ 2012-10-18 14:38 UTC (permalink / raw)
To: Namhyung Kim
Cc: Ingo Molnar, linux-kernel, David Ahern, Frederic Weisbecker,
Jiri Olsa, Mike Galbraith, Paul Mackerras, Peter Zijlstra,
Stephane Eranian
[-- Attachment #1: Type: text/plain, Size: 1139 bytes --]
Em Thu, Oct 18, 2012 at 11:00:33AM -0300, Arnaldo Carvalho de Melo escreveu:
> Em Thu, Oct 18, 2012 at 10:38:18AM +0900, Namhyung Kim escreveu:
> > On Wed, 17 Oct 2012 14:19:45 -0300, Arnaldo Carvalho de Melo wrote:
> > I got a build error after adding 'extern unsigned int page_size' to
> > util/python.c - please see my previous reply.
> >
> > namhyung@sejong:perf$ make
> > SUBDIR ../lib/traceevent/
> > LINK perf
> > GEN python/perf.so
> > gcc: error: python_ext_build/tmp//../../libtraceevent.a: No such file or directory
> > error: command 'gcc' failed with exit status 1
> > cp: cannot stat `python_ext_build/lib/perf.so': No such file or directory
> > make: *** [python/perf.so] Error 1
> > TRACE_EVENT_DIR = ../lib/traceevent/
> > ifneq ($(OUTPUT),)
> > TE_PATH=$(OUTPUT)
> > else
> > TE_PATH=$(TRACE_EVENT_DIR)
> > endif
> >
> > LIBTRACEEVENT = $(TE_PATH)libtraceevent.a
>
> I see, so we need to somehow propagate this TE_PATH variable to the setup.py file...
Can you try with the attached patch? I tested it here and works with:
make -C tools/perf
and with O=
- Arnaldo
[-- Attachment #2: python-libtraceevent.patch --]
[-- Type: text/plain, Size: 1890 bytes --]
diff --git a/tools/perf/Makefile b/tools/perf/Makefile
index f9126f8..c1c6e11 100644
--- a/tools/perf/Makefile
+++ b/tools/perf/Makefile
@@ -184,9 +184,22 @@ SCRIPT_SH += perf-archive.sh
grep-libs = $(filter -l%,$(1))
strip-libs = $(filter-out -l%,$(1))
+TRACE_EVENT_DIR = ../lib/traceevent/
+
+ifneq ($(OUTPUT),)
+ TE_PATH=$(OUTPUT)
+else
+ TE_PATH=$(TRACE_EVENT_DIR)
+endif
+
+LIBTRACEEVENT = $(TE_PATH)libtraceevent.a
+TE_LIB := -L$(TE_PATH) -ltraceevent
+
PYTHON_EXT_SRCS := $(shell grep -v ^\# util/python-ext-sources)
PYTHON_EXT_DEPS := util/python-ext-sources util/setup.py
+export LIBTRACEEVENT
+
$(OUTPUT)python/perf.so: $(PYTHON_EXT_SRCS) $(PYTHON_EXT_DEPS)
$(QUIET_GEN)CFLAGS='$(BASIC_CFLAGS)' $(PYTHON_WORD) util/setup.py \
--quiet build_ext; \
@@ -198,17 +211,6 @@ $(OUTPUT)python/perf.so: $(PYTHON_EXT_SRCS) $(PYTHON_EXT_DEPS)
SCRIPTS = $(patsubst %.sh,%,$(SCRIPT_SH))
-TRACE_EVENT_DIR = ../lib/traceevent/
-
-ifneq ($(OUTPUT),)
- TE_PATH=$(OUTPUT)
-else
- TE_PATH=$(TRACE_EVENT_DIR)
-endif
-
-LIBTRACEEVENT = $(TE_PATH)libtraceevent.a
-TE_LIB := -L$(TE_PATH) -ltraceevent
-
#
# Single 'perf' binary right now:
#
diff --git a/tools/perf/util/setup.py b/tools/perf/util/setup.py
index 09c3cea..73d5102 100644
--- a/tools/perf/util/setup.py
+++ b/tools/perf/util/setup.py
@@ -23,6 +23,7 @@ cflags += getenv('CFLAGS', '').split()
build_lib = getenv('PYTHON_EXTBUILD_LIB')
build_tmp = getenv('PYTHON_EXTBUILD_TMP')
+libtraceevent = getenv('LIBTRACEEVENT')
ext_sources = [f.strip() for f in file('util/python-ext-sources')
if len(f.strip()) > 0 and f[0] != '#']
@@ -31,7 +32,7 @@ perf = Extension('perf',
sources = ext_sources,
include_dirs = ['util/include'],
extra_compile_args = cflags,
- extra_objects = [build_tmp + '/../../libtraceevent.a'],
+ extra_objects = [libtraceevent],
)
setup(name='perf',
^ permalink raw reply related [flat|nested] 36+ messages in thread
* Re: [PATCH 09/11] perf python: Link with libtraceevent
2012-10-18 14:38 ` Arnaldo Carvalho de Melo
@ 2012-10-18 15:40 ` Namhyung Kim
2012-10-20 0:35 ` Ingo Molnar
0 siblings, 1 reply; 36+ messages in thread
From: Namhyung Kim @ 2012-10-18 15:40 UTC (permalink / raw)
To: Arnaldo Carvalho de Melo
Cc: Ingo Molnar, linux-kernel, David Ahern, Frederic Weisbecker,
Jiri Olsa, Mike Galbraith, Paul Mackerras, Peter Zijlstra,
Stephane Eranian
2012-10-18 (목), 11:38 -0300, Arnaldo Carvalho de Melo:
> Em Thu, Oct 18, 2012 at 11:00:33AM -0300, Arnaldo Carvalho de Melo escreveu:
> > Em Thu, Oct 18, 2012 at 10:38:18AM +0900, Namhyung Kim escreveu:
> > > On Wed, 17 Oct 2012 14:19:45 -0300, Arnaldo Carvalho de Melo wrote:
> > > I got a build error after adding 'extern unsigned int page_size' to
> > > util/python.c - please see my previous reply.
> > >
> > > namhyung@sejong:perf$ make
> > > SUBDIR ../lib/traceevent/
> > > LINK perf
> > > GEN python/perf.so
> > > gcc: error: python_ext_build/tmp//../../libtraceevent.a: No such file or directory
> > > error: command 'gcc' failed with exit status 1
> > > cp: cannot stat `python_ext_build/lib/perf.so': No such file or directory
> > > make: *** [python/perf.so] Error 1
> > > TRACE_EVENT_DIR = ../lib/traceevent/
>
> > > ifneq ($(OUTPUT),)
> > > TE_PATH=$(OUTPUT)
> > > else
> > > TE_PATH=$(TRACE_EVENT_DIR)
> > > endif
> > >
> > > LIBTRACEEVENT = $(TE_PATH)libtraceevent.a
> >
> > I see, so we need to somehow propagate this TE_PATH variable to the setup.py file...
>
> Can you try with the attached patch? I tested it here and works with:
>
> make -C tools/perf
>
> and with O=
It works well for me too:
Tested-by: Namhyung Kim <namhyung@kernel.org>
Thanks,
Namhyung
^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: [PATCH 09/11] perf python: Link with libtraceevent
2012-10-18 15:40 ` Namhyung Kim
@ 2012-10-20 0:35 ` Ingo Molnar
2012-10-20 15:04 ` Arnaldo Carvalho de Melo
0 siblings, 1 reply; 36+ messages in thread
From: Ingo Molnar @ 2012-10-20 0:35 UTC (permalink / raw)
To: Namhyung Kim
Cc: Arnaldo Carvalho de Melo, linux-kernel, David Ahern,
Frederic Weisbecker, Jiri Olsa, Mike Galbraith, Paul Mackerras,
Peter Zijlstra, Stephane Eranian
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain; charset=unknown-8bit, Size: 1771 bytes --]
* Namhyung Kim <namhyung@kernel.org> wrote:
> 2012-10-18 (???), 11:38 -0300, Arnaldo Carvalho de Melo:
> > Em Thu, Oct 18, 2012 at 11:00:33AM -0300, Arnaldo Carvalho de Melo escreveu:
> > > Em Thu, Oct 18, 2012 at 10:38:18AM +0900, Namhyung Kim escreveu:
> > > > On Wed, 17 Oct 2012 14:19:45 -0300, Arnaldo Carvalho de Melo wrote:
> > > > I got a build error after adding 'extern unsigned int page_size' to
> > > > util/python.c - please see my previous reply.
> > > >
> > > > namhyung@sejong:perf$ make
> > > > SUBDIR ../lib/traceevent/
> > > > LINK perf
> > > > GEN python/perf.so
> > > > gcc: error: python_ext_build/tmp//../../libtraceevent.a: No such file or directory
> > > > error: command 'gcc' failed with exit status 1
> > > > cp: cannot stat `python_ext_build/lib/perf.so': No such file or directory
> > > > make: *** [python/perf.so] Error 1
> > > > TRACE_EVENT_DIR = ../lib/traceevent/
> >
> > > > ifneq ($(OUTPUT),)
> > > > TE_PATH=$(OUTPUT)
> > > > else
> > > > TE_PATH=$(TRACE_EVENT_DIR)
> > > > endif
> > > >
> > > > LIBTRACEEVENT = $(TE_PATH)libtraceevent.a
> > >
> > > I see, so we need to somehow propagate this TE_PATH variable to the setup.py file...
> >
> > Can you try with the attached patch? I tested it here and works with:
> >
> > make -C tools/perf
> >
> > and with O=
>
> It works well for me too:
>
> Tested-by: Namhyung Kim <namhyung@kernel.org>
Even with that I'm getting:
util/python.c: In function ‘initperf’:
util/python.c:1018:2: error: ‘page_size’ undeclared
(first use in this function)
util/python.c:1018:2: note: each undeclared identifier is
reported only once for each function it appears in
error: command 'gcc' failed with exit status 1
Thanks,
Ingo
^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: [PATCH 09/11] perf python: Link with libtraceevent
2012-10-20 0:35 ` Ingo Molnar
@ 2012-10-20 15:04 ` Arnaldo Carvalho de Melo
2012-10-21 13:33 ` Ingo Molnar
0 siblings, 1 reply; 36+ messages in thread
From: Arnaldo Carvalho de Melo @ 2012-10-20 15:04 UTC (permalink / raw)
To: Ingo Molnar
Cc: Namhyung Kim, linux-kernel, David Ahern, Frederic Weisbecker,
Jiri Olsa, Mike Galbraith, Paul Mackerras, Peter Zijlstra,
Stephane Eranian
Em Sat, Oct 20, 2012 at 02:35:57AM +0200, Ingo Molnar escreveu:
> Even with that I'm getting:
>
> util/python.c: In function ‘initperf’:
> util/python.c:1018:2: error: ‘page_size’ undeclared
> (first use in this function)
> util/python.c:1018:2: note: each undeclared identifier is
> reported only once for each function it appears in
> error: command 'gcc' failed with exit status 1
Yeah, there was another problem, a patch that makes sense only for
perf/core was added, I reverted it after Namhyung reported the same
problem:
commit 9cd938a4c3b908a3ff7ef65bdc432f1915361e87
Author: Arnaldo Carvalho de Melo <acme@redhat.com>
Date: Thu Oct 18 10:51:08 2012 -0300
Revert "perf python: Initialize 'page_size' variable"
The commit that added the page_size variable is only in the perf/core
branch, not needed for perf/urgent. Brown paper bag grade, sigh.
This reverts commit 356712f6e296fdae1edae51b96b485ed830bdc0c.
Reported-by: Namhyung Kim <namhyung@kernel.org>
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: [PATCH 09/11] perf python: Link with libtraceevent
2012-10-20 15:04 ` Arnaldo Carvalho de Melo
@ 2012-10-21 13:33 ` Ingo Molnar
0 siblings, 0 replies; 36+ messages in thread
From: Ingo Molnar @ 2012-10-21 13:33 UTC (permalink / raw)
To: Arnaldo Carvalho de Melo
Cc: Namhyung Kim, linux-kernel, David Ahern, Frederic Weisbecker,
Jiri Olsa, Mike Galbraith, Paul Mackerras, Peter Zijlstra,
Stephane Eranian
* Arnaldo Carvalho de Melo <acme@infradead.org> wrote:
> Em Sat, Oct 20, 2012 at 02:35:57AM +0200, Ingo Molnar escreveu:
> > Even with that I'm getting:
> >
> > util/python.c: In function ???initperf???:
> > util/python.c:1018:2: error: ???page_size??? undeclared
> > (first use in this function)
> > util/python.c:1018:2: note: each undeclared identifier is
> > reported only once for each function it appears in
> > error: command 'gcc' failed with exit status 1
>
> Yeah, there was another problem, a patch that makes sense only
> for perf/core was added, I reverted it after Namhyung reported
> the same problem:
Yeah.
So, you being on conference and me trying to not miss -rc2 with
a couple of high-profile perf fixes I ended up resolving this
bug in the merge commit, the almost-evil merge a448a03 and such.
That's now upstream - mind checking whether anything is still
amiss?
Thanks,
Ingo
^ permalink raw reply [flat|nested] 36+ messages in thread
* [PATCH 10/11] perf tools: Fix build on sparc.
2012-10-17 17:19 [GIT PULL 00/11] perf/urgent fixes Arnaldo Carvalho de Melo
` (8 preceding siblings ...)
2012-10-17 17:19 ` [PATCH 09/11] perf python: Link with libtraceevent Arnaldo Carvalho de Melo
@ 2012-10-17 17:19 ` Arnaldo Carvalho de Melo
2012-10-18 1:39 ` Namhyung Kim
2012-10-17 17:19 ` [PATCH 11/11] perf hists browser: Add back callchain folding symbol Arnaldo Carvalho de Melo
10 siblings, 1 reply; 36+ messages in thread
From: Arnaldo Carvalho de Melo @ 2012-10-17 17:19 UTC (permalink / raw)
To: Ingo Molnar
Cc: linux-kernel, David Miller, Ingo Molnar, Paul Mackerras,
Peter Zijlstra, Arnaldo Carvalho de Melo
From: David Miller <davem@davemloft.net>
More UAPI stuff.
Signed-off-by: David S. Miller <davem@davemloft.net>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Link: http://lkml.kernel.org/r/20121017.010656.383828471689899431.davem@davemloft.net
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
tools/perf/perf.h | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/tools/perf/perf.h b/tools/perf/perf.h
index 87f4ec6..8421c20 100644
--- a/tools/perf/perf.h
+++ b/tools/perf/perf.h
@@ -57,7 +57,7 @@ void get_term_dimensions(struct winsize *ws);
#endif
#ifdef __sparc__
-#include "../../arch/sparc/include/asm/unistd.h"
+#include "../../arch/sparc/include/uapi/asm/unistd.h"
#define rmb() asm volatile("":::"memory")
#define cpu_relax() asm volatile("":::"memory")
#define CPUINFO_PROC "cpu"
--
1.7.1
^ permalink raw reply related [flat|nested] 36+ messages in thread
* Re: [PATCH 10/11] perf tools: Fix build on sparc.
2012-10-17 17:19 ` [PATCH 10/11] perf tools: Fix build on sparc Arnaldo Carvalho de Melo
@ 2012-10-18 1:39 ` Namhyung Kim
2012-10-18 2:15 ` David Miller
0 siblings, 1 reply; 36+ messages in thread
From: Namhyung Kim @ 2012-10-18 1:39 UTC (permalink / raw)
To: Arnaldo Carvalho de Melo
Cc: Ingo Molnar, linux-kernel, David Miller, Ingo Molnar,
Paul Mackerras, Peter Zijlstra, Arnaldo Carvalho de Melo
On Wed, 17 Oct 2012 14:19:46 -0300, Arnaldo Carvalho de Melo wrote:
> From: David Miller <davem@davemloft.net>
>
> More UAPI stuff.
What about other architectures? Don't they have the same problem?
Thanks,
Namhyung
^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: [PATCH 10/11] perf tools: Fix build on sparc.
2012-10-18 1:39 ` Namhyung Kim
@ 2012-10-18 2:15 ` David Miller
0 siblings, 0 replies; 36+ messages in thread
From: David Miller @ 2012-10-18 2:15 UTC (permalink / raw)
To: namhyung; +Cc: acme, mingo, linux-kernel, mingo, paulus, a.p.zijlstra, acme
From: Namhyung Kim <namhyung@kernel.org>
Date: Thu, 18 Oct 2012 10:39:49 +0900
> On Wed, 17 Oct 2012 14:19:46 -0300, Arnaldo Carvalho de Melo wrote:
>> From: David Miller <davem@davemloft.net>
>>
>> More UAPI stuff.
>
> What about other architectures? Don't they have the same problem?
If they took in the per-architecture UAPI pull from David Howells,
then yes. But I don't think all of them have, and if that's true
then just blinding converting all of them is the wrong thing to do.
^ permalink raw reply [flat|nested] 36+ messages in thread
* [PATCH 11/11] perf hists browser: Add back callchain folding symbol
2012-10-17 17:19 [GIT PULL 00/11] perf/urgent fixes Arnaldo Carvalho de Melo
` (9 preceding siblings ...)
2012-10-17 17:19 ` [PATCH 10/11] perf tools: Fix build on sparc Arnaldo Carvalho de Melo
@ 2012-10-17 17:19 ` Arnaldo Carvalho de Melo
10 siblings, 0 replies; 36+ 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, David Ahern,
Frederic Weisbecker, Jiri Olsa, Mike Galbraith, Namhyung Kim,
Paul Mackerras, Peter Zijlstra, Stephane Eranian
From: Arnaldo Carvalho de Melo <acme@redhat.com>
The commit 5395a04841fc ("perf hists: Separate overhead and baseline
columns") makes the "Overhead" column no more the first one, this
caused the test that checks if it is time to show if a histogram
entry has callchains never hits.
Fix it by checking if the 'i' variable is equal to PERF_HPP__OVERHEAD
instead of 0.
Cc: David Ahern <dsahern@gmail.com>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Mike Galbraith <efault@gmx.de>
Cc: Namhyung Kim <namhyung@gmail.com>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Stephane Eranian <eranian@google.com>
Link: http://lkml.kernel.org/n/tip-w3lcbx0fx1fnh3l2cbq40q2e@git.kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
tools/perf/ui/browsers/hists.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/tools/perf/ui/browsers/hists.c b/tools/perf/ui/browsers/hists.c
index fe4430a..ef2f93c 100644
--- a/tools/perf/ui/browsers/hists.c
+++ b/tools/perf/ui/browsers/hists.c
@@ -647,7 +647,7 @@ static int hist_browser__show_entry(struct hist_browser *browser,
ui_browser__set_percent_color(&browser->b, percent, current_entry);
- if (i == 0 && symbol_conf.use_callchain) {
+ if (i == PERF_HPP__OVERHEAD && symbol_conf.use_callchain) {
slsmg_printf("%c ", folded_sign);
width -= 2;
}
--
1.7.1
^ permalink raw reply related [flat|nested] 36+ 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; 36+ 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] 36+ messages in thread
* Re: [GIT PULL 00/11] perf/urgent fixes
2016-08-09 16:01 [GIT PULL 00/11] perf/urgent fixes Arnaldo Carvalho de Melo
@ 2016-08-09 19:12 ` Ingo Molnar
0 siblings, 0 replies; 36+ 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] 36+ messages in thread
* [GIT PULL 00/11] perf/urgent fixes
@ 2016-08-15 21:46 Arnaldo Carvalho de Melo
0 siblings, 0 replies; 36+ 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] 36+ messages in thread
* [GIT PULL 00/11] perf/urgent fixes
@ 2017-06-06 19:26 Arnaldo Carvalho de Melo
2017-06-07 15:51 ` Ingo Molnar
0 siblings, 1 reply; 36+ 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] 36+ messages in thread
* Re: [GIT PULL 00/11] perf/urgent fixes
2017-06-06 19:26 Arnaldo Carvalho de Melo
@ 2017-06-07 15:51 ` Ingo Molnar
0 siblings, 0 replies; 36+ 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] 36+ messages in thread
* [GIT PULL 00/11] perf/urgent fixes
@ 2018-10-17 22:54 ` Arnaldo Carvalho de Melo
0 siblings, 0 replies; 36+ 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] 36+ messages in thread
* [GIT PULL 00/11] perf/urgent fixes
@ 2018-10-17 22:54 ` Arnaldo Carvalho de Melo
0 siblings, 0 replies; 36+ 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] 36+ messages in thread
* [GIT PULL 00/11] perf/urgent fixes
@ 2018-10-17 22:54 ` Arnaldo Carvalho de Melo
0 siblings, 0 replies; 36+ 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] 36+ 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; 36+ 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] 36+ messages in thread
* [GIT PULL 00/11] perf/urgent fixes
@ 2018-10-18 5:44 ` Ingo Molnar
0 siblings, 0 replies; 36+ 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] 36+ messages in thread
* Re: [GIT PULL 00/11] perf/urgent fixes
@ 2018-10-18 5:44 ` Ingo Molnar
0 siblings, 0 replies; 36+ 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] 36+ 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; 36+ 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] 36+ 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; 36+ 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] 36+ messages in thread
end of thread, other threads:[~2019-05-03 5:49 UTC | newest]
Thread overview: 36+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-10-17 17:19 [GIT PULL 00/11] perf/urgent fixes Arnaldo Carvalho de Melo
2012-10-17 17:19 ` [PATCH 01/11] perf tool: Precise mode requires exclude_guest Arnaldo Carvalho de Melo
2012-10-17 17:19 ` [PATCH 02/11] perf: Require exclude_guest to use PEBS - kernel side enforcement Arnaldo Carvalho de Melo
2012-10-17 17:19 ` [PATCH 03/11] perf tools: Fix segfault when using srcline sort key Arnaldo Carvalho de Melo
2012-10-17 17:19 ` [PATCH 04/11] perf tools: Remove warnings on JIT samples for " Arnaldo Carvalho de Melo
2012-10-17 17:19 ` [PATCH 05/11] perf hists browser: Fix off-by-two bug on the first column Arnaldo Carvalho de Melo
2012-10-17 17:19 ` [PATCH 06/11] lib tools traceevent: Add back pevent assignment in __pevent_parse_format() Arnaldo Carvalho de Melo
2012-10-17 17:19 ` [PATCH 07/11] tools lib traceevent: Fix missed freeing of subargs in free_arg() in filter Arnaldo Carvalho de Melo
2012-10-17 17:19 ` [PATCH 08/11] perf python: Initialize 'page_size' variable Arnaldo Carvalho de Melo
2012-10-18 1:31 ` Namhyung Kim
2012-10-18 13:58 ` Arnaldo Carvalho de Melo
2012-10-17 17:19 ` [PATCH 09/11] perf python: Link with libtraceevent Arnaldo Carvalho de Melo
2012-10-18 1:38 ` Namhyung Kim
2012-10-18 14:00 ` Arnaldo Carvalho de Melo
2012-10-18 14:38 ` Arnaldo Carvalho de Melo
2012-10-18 15:40 ` Namhyung Kim
2012-10-20 0:35 ` Ingo Molnar
2012-10-20 15:04 ` Arnaldo Carvalho de Melo
2012-10-21 13:33 ` Ingo Molnar
2012-10-17 17:19 ` [PATCH 10/11] perf tools: Fix build on sparc Arnaldo Carvalho de Melo
2012-10-18 1:39 ` Namhyung Kim
2012-10-18 2:15 ` David Miller
2012-10-17 17:19 ` [PATCH 11/11] perf hists browser: Add back callchain folding symbol Arnaldo Carvalho de Melo
2016-08-09 16:01 [GIT PULL 00/11] perf/urgent fixes Arnaldo Carvalho de Melo
2016-08-09 19:12 ` Ingo Molnar
2016-08-15 21:46 Arnaldo Carvalho de Melo
2017-06-06 19:26 Arnaldo Carvalho de Melo
2017-06-07 15:51 ` 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
2019-05-03 0:25 Arnaldo Carvalho de Melo
2019-05-03 5:49 ` Ingo Molnar
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.