* [GIT PULL 00/21] perf/core improvements and fixes
@ 2015-02-11 21:08 Arnaldo Carvalho de Melo
2015-02-11 21:09 ` [PATCH 06/21] perf symbols: Ignore mapping symbols on aarch64 Arnaldo Carvalho de Melo
` (2 more replies)
0 siblings, 3 replies; 8+ messages in thread
From: Arnaldo Carvalho de Melo @ 2015-02-11 21:08 UTC (permalink / raw)
To: linux-arm-kernel
Hi Ingo,
Please consider pulling,
- Arnaldo
The following changes since commit 2fde4f94e0a9531251e706fa57131b51b0df042e:
perf: Decouple unthrottling and rotating (2015-02-04 08:07:16 +0100)
are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux.git tags/perf-core-for-mingo
for you to fetch changes up to 39f5704399042fff5f0d5f6af32bbbc3e787a897:
perf tools: Define _GNU_SOURCE on pthread_attr_setaffinity_np feature check (2015-02-11 17:38:55 -0300)
----------------------------------------------------------------
perf/core improvement and fixes:
User visible:
- No need to explicitely enable evsels for workload started from perf, let it
be enabled via perf_event_attr.enable_on_exec, removing some events that take
place in the 'perf trace' before a workload is really started by it.
(Arnaldo Carvalho de Melo)
- Fix to handle optimized not-inlined functions in 'perf probe' (Masami Hiramatsu)
- Update 'perf probe' man page (Masami Hiramatsu)
Infrastructure:
Arnaldo Carvalho de Melo (4):
- Introduce {trace_seq_do,event_format_}_fprintf functions to allow
a default tracepoint field list printer to be used in tools that allows
redirecting output to a file. (Arnaldo Carvalho de Melo)
- The man page for pthread_attr_set_affinity_np states that _GNU_SOURCE
must be defined before pthread.h, do it to fix the build in some
systems (Josh Boyer)
- Cleanups in 'perf buildid-cache' (Masami Hiramatsu)
- Fix dso cache test case (Namhyung Kim)
- Do Not rely on dso__data_read_offset() to open DSO (Namhyung Kim)
- Make perf aware of tracefs (Steven Rostedt).
- Fix build by defining STT_GNU_IFUNC for glibc 2.9 and older (Vinson Lee)
- AArch64 symbol resolution fixes (Victor Kamensky)
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
----------------------------------------------------------------
Arnaldo Carvalho de Melo (4):
tools lib traceevent: Introduce trace_seq_do_fprintf function
perf tools: Introduce event_format__fprintf method
perf trace: No need to enable evsels for workload started from perf
perf evlist: Fix typo in comment
Josh Boyer (1):
perf tools: Define _GNU_SOURCE on pthread_attr_setaffinity_np feature check
Masami Hiramatsu (4):
perf probe: Fix to handle optimized not-inlined functions
perf probe: Update man page
perf buildid-cache: Remove unneeded debugdir parameters
perf buildid-cache: Consolidate .build-id cache path generators
Namhyung Kim (3):
perf test: Fix dso cache testcase
perf tests: Do not rely on dso__data_read_offset() to open dso
perf tools: Fix a dso open fail message
Steven Rostedt (Red Hat) (6):
perf tools: Do not check debugfs MAGIC for tracing files
tools lib fs: Add helper to find mounted file systems
tools lib api fs: Add tracefs mount helper functions
tools lib api debugfs: Add DEBUGFS_DEFAULT_PATH macro
tools lib api fs: Add {tracefs,debugfs}_configured() functions
perf tools: Make perf aware of tracefs
Victor Kamensky (2):
perf symbols: Ignore mapping symbols on aarch64
perf symbols: debuglink should take symfs option into account
Vinson Lee (1):
perf symbols: Define STT_GNU_IFUNC for glibc 2.9 and older.
tools/lib/api/Makefile | 4 ++
tools/lib/api/fs/debugfs.c | 69 +++++++---------------
tools/lib/api/fs/debugfs.h | 13 +----
tools/lib/api/fs/findfs.c | 63 ++++++++++++++++++++
tools/lib/api/fs/findfs.h | 23 ++++++++
tools/lib/api/fs/tracefs.c | 78 +++++++++++++++++++++++++
tools/lib/api/fs/tracefs.h | 21 +++++++
tools/lib/traceevent/event-parse.h | 2 +
tools/lib/traceevent/trace-seq.c | 13 +++--
tools/perf/Documentation/perf-probe.txt | 16 +++++-
tools/perf/builtin-buildid-cache.c | 37 ++++++------
tools/perf/builtin-trace.c | 4 +-
tools/perf/config/feature-checks/Makefile | 2 +-
tools/perf/tests/dso-data.c | 22 ++++---
tools/perf/tests/open-syscall-all-cpus.c | 7 ++-
tools/perf/tests/open-syscall.c | 7 ++-
tools/perf/tests/parse-events.c | 13 ++++-
tools/perf/util/build-id.c | 96 +++++++++++++++++++------------
tools/perf/util/build-id.h | 4 +-
tools/perf/util/cache.h | 1 +
tools/perf/util/dso.c | 8 +--
tools/perf/util/dwarf-aux.c | 15 +++++
tools/perf/util/dwarf-aux.h | 3 +
tools/perf/util/evlist.c | 3 +-
tools/perf/util/parse-events.c | 19 ------
tools/perf/util/parse-events.h | 2 +-
tools/perf/util/probe-event.c | 24 +++++---
tools/perf/util/probe-finder.c | 12 ++--
tools/perf/util/symbol-elf.c | 11 ++--
tools/perf/util/trace-event-parse.c | 12 +++-
tools/perf/util/trace-event.h | 3 +
tools/perf/util/util.c | 60 +++++++++++++++----
tools/perf/util/util.h | 1 +
33 files changed, 468 insertions(+), 200 deletions(-)
create mode 100644 tools/lib/api/fs/findfs.c
create mode 100644 tools/lib/api/fs/findfs.h
create mode 100644 tools/lib/api/fs/tracefs.c
create mode 100644 tools/lib/api/fs/tracefs.h
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH 06/21] perf symbols: Ignore mapping symbols on aarch64
2015-02-11 21:08 [GIT PULL 00/21] perf/core improvements and fixes Arnaldo Carvalho de Melo
@ 2015-02-11 21:09 ` Arnaldo Carvalho de Melo
2015-02-11 21:09 ` [PATCH 07/21] perf symbols: debuglink should take symfs option into account Arnaldo Carvalho de Melo
2015-03-05 4:30 ` [GIT PULL 00/21] perf/core improvements and fixes Victor Kamensky
2 siblings, 0 replies; 8+ messages in thread
From: Arnaldo Carvalho de Melo @ 2015-02-11 21:09 UTC (permalink / raw)
To: linux-arm-kernel
From: Victor Kamensky <victor.kamensky@linaro.org>
Aarch64 ELF files use mapping symbols with special names $x, $d
to identify regions of Aarch64 code (see Aarch64 ELF ABI - "ARM
IHI 0056B", section "4.5.4 Mapping symbols").
The patch filters out these symbols at load time, similar to
"696b97a perf symbols: Ignore mapping symbols on ARM" changes
done for ARM before V8.
Also added handling of mapping symbols that has format
"$d.<any>" and similar for both cases.
Note we are not making difference between EM_ARM and
EM_AARCH64 mapping symbols instead code handles superset
of both.
Signed-off-by: Victor Kamensky <victor.kamensky@linaro.org>
Acked-by: Namhyung Kim <namhyung@kernel.org>
Acked-by: Will Deacon <will.deacon@arm.com>
Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: Anton Blanchard <anton@samba.org>
Cc: Avi Kivity <avi@cloudius-systems.com>
Cc: Dave Martin <Dave.Martin@arm.com>
Cc: David Ahern <dsahern@gmail.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: linux-arm-kernel at lists.infradead.org
Cc: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Russell King <linux@arm.linux.org.uk>
Link: http://lkml.kernel.org/r/1422340442-4673-2-git-send-email-victor.kamensky at linaro.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
tools/perf/util/symbol-elf.c | 7 +++----
1 file changed, 3 insertions(+), 4 deletions(-)
diff --git a/tools/perf/util/symbol-elf.c b/tools/perf/util/symbol-elf.c
index b24f9d8727a8..225eb73ee78b 100644
--- a/tools/perf/util/symbol-elf.c
+++ b/tools/perf/util/symbol-elf.c
@@ -859,10 +859,9 @@ int dso__load_sym(struct dso *dso, struct map *map,
/* Reject ARM ELF "mapping symbols": these aren't unique and
* don't identify functions, so will confuse the profile
* output: */
- if (ehdr.e_machine == EM_ARM) {
- if (!strcmp(elf_name, "$a") ||
- !strcmp(elf_name, "$d") ||
- !strcmp(elf_name, "$t"))
+ if (ehdr.e_machine == EM_ARM || ehdr.e_machine == EM_AARCH64) {
+ if (elf_name[0] == '$' && strchr("adtx", elf_name[1])
+ && (elf_name[2] == '\0' || elf_name[2] == '.'))
continue;
}
--
1.9.3
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH 07/21] perf symbols: debuglink should take symfs option into account
2015-02-11 21:08 [GIT PULL 00/21] perf/core improvements and fixes Arnaldo Carvalho de Melo
2015-02-11 21:09 ` [PATCH 06/21] perf symbols: Ignore mapping symbols on aarch64 Arnaldo Carvalho de Melo
@ 2015-02-11 21:09 ` Arnaldo Carvalho de Melo
2015-03-05 4:30 ` [GIT PULL 00/21] perf/core improvements and fixes Victor Kamensky
2 siblings, 0 replies; 8+ messages in thread
From: Arnaldo Carvalho de Melo @ 2015-02-11 21:09 UTC (permalink / raw)
To: linux-arm-kernel
From: Victor Kamensky <victor.kamensky@linaro.org>
Currently code that tries to read corresponding debug symbol file from
.gnu_debuglink section (DSO_BINARY_TYPE__DEBUGLINK) does not take in
account symfs option, so filename__read_debuglink function cannot open
ELF file, if symfs option is used.
Fix is to add proper handling of symfs as it is done in other places:
use __symbol__join_symfs function to get real file name of target ELF
file.
Signed-off-by: Victor Kamensky <victor.kamensky@linaro.org>
Tested-by: David Ahern <dsahern@gmail.com>
Acked-by: David Ahern <dsahern@gmail.com>
Acked-by: Namhyung Kim <namhyung@kernel.org>
Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: Anton Blanchard <anton@samba.org>
Cc: Avi Kivity <avi@cloudius-systems.com>
Cc: Dave Martin <Dave.Martin@arm.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Russell King <linux@arm.linux.org.uk>
Cc: Waiman Long <Waiman.Long@hp.com>
Cc: Will Deacon <will.deacon@arm.com>
Cc: linux-arm-kernel at lists.infradead.org
Link: http://lkml.kernel.org/r/1422340442-4673-3-git-send-email-victor.kamensky at linaro.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
tools/perf/util/dso.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/tools/perf/util/dso.c b/tools/perf/util/dso.c
index a8b3f18db1a5..814554d1b857 100644
--- a/tools/perf/util/dso.c
+++ b/tools/perf/util/dso.c
@@ -45,13 +45,13 @@ int dso__read_binary_type_filename(const struct dso *dso,
case DSO_BINARY_TYPE__DEBUGLINK: {
char *debuglink;
- strncpy(filename, dso->long_name, size);
- debuglink = filename + dso->long_name_len;
+ len = __symbol__join_symfs(filename, size, dso->long_name);
+ debuglink = filename + len;
while (debuglink != filename && *debuglink != '/')
debuglink--;
if (*debuglink == '/')
debuglink++;
- ret = filename__read_debuglink(dso->long_name, debuglink,
+ ret = filename__read_debuglink(filename, debuglink,
size - (debuglink - filename));
}
break;
--
1.9.3
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [GIT PULL 00/21] perf/core improvements and fixes
2015-02-11 21:08 [GIT PULL 00/21] perf/core improvements and fixes Arnaldo Carvalho de Melo
2015-02-11 21:09 ` [PATCH 06/21] perf symbols: Ignore mapping symbols on aarch64 Arnaldo Carvalho de Melo
2015-02-11 21:09 ` [PATCH 07/21] perf symbols: debuglink should take symfs option into account Arnaldo Carvalho de Melo
@ 2015-03-05 4:30 ` Victor Kamensky
2015-03-05 6:37 ` Ingo Molnar
2 siblings, 1 reply; 8+ messages in thread
From: Victor Kamensky @ 2015-03-05 4:30 UTC (permalink / raw)
To: linux-arm-kernel
Hi Arnaldo, Ingo,
What happened with this pull request? I already
see in v4.0-rc2 changes additions to one requested
by this pull request, but I don't see this series itself.
For example e370a3d57664cd5e39c0b95d157ebc841b568409
"perf symbols: Define EM_AARCH64 for older OSes" by David
is already in v4.0-rc2 and it is supposed to be addition to
"perf symbols: Ignore mapping symbols on aarch64" that is part
of this pull request but it did not make into v4.0-rcX yet. Looks
quite strange.
Thanks,
Victor
On 11 February 2015 at 13:08, Arnaldo Carvalho de Melo <acme@kernel.org> wrote:
> Hi Ingo,
>
> Please consider pulling,
>
> - Arnaldo
>
> The following changes since commit 2fde4f94e0a9531251e706fa57131b51b0df042e:
>
> perf: Decouple unthrottling and rotating (2015-02-04 08:07:16 +0100)
>
> are available in the git repository at:
>
> git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux.git tags/perf-core-for-mingo
>
> for you to fetch changes up to 39f5704399042fff5f0d5f6af32bbbc3e787a897:
>
> perf tools: Define _GNU_SOURCE on pthread_attr_setaffinity_np feature check (2015-02-11 17:38:55 -0300)
>
> ----------------------------------------------------------------
> perf/core improvement and fixes:
>
> User visible:
>
> - No need to explicitely enable evsels for workload started from perf, let it
> be enabled via perf_event_attr.enable_on_exec, removing some events that take
> place in the 'perf trace' before a workload is really started by it.
> (Arnaldo Carvalho de Melo)
>
> - Fix to handle optimized not-inlined functions in 'perf probe' (Masami Hiramatsu)
>
> - Update 'perf probe' man page (Masami Hiramatsu)
>
> Infrastructure:
>
> Arnaldo Carvalho de Melo (4):
> - Introduce {trace_seq_do,event_format_}_fprintf functions to allow
> a default tracepoint field list printer to be used in tools that allows
> redirecting output to a file. (Arnaldo Carvalho de Melo)
>
> - The man page for pthread_attr_set_affinity_np states that _GNU_SOURCE
> must be defined before pthread.h, do it to fix the build in some
> systems (Josh Boyer)
>
> - Cleanups in 'perf buildid-cache' (Masami Hiramatsu)
>
> - Fix dso cache test case (Namhyung Kim)
>
> - Do Not rely on dso__data_read_offset() to open DSO (Namhyung Kim)
>
> - Make perf aware of tracefs (Steven Rostedt).
>
> - Fix build by defining STT_GNU_IFUNC for glibc 2.9 and older (Vinson Lee)
>
> - AArch64 symbol resolution fixes (Victor Kamensky)
>
> Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
>
> ----------------------------------------------------------------
> Arnaldo Carvalho de Melo (4):
> tools lib traceevent: Introduce trace_seq_do_fprintf function
> perf tools: Introduce event_format__fprintf method
> perf trace: No need to enable evsels for workload started from perf
> perf evlist: Fix typo in comment
>
> Josh Boyer (1):
> perf tools: Define _GNU_SOURCE on pthread_attr_setaffinity_np feature check
>
> Masami Hiramatsu (4):
> perf probe: Fix to handle optimized not-inlined functions
> perf probe: Update man page
> perf buildid-cache: Remove unneeded debugdir parameters
> perf buildid-cache: Consolidate .build-id cache path generators
>
> Namhyung Kim (3):
> perf test: Fix dso cache testcase
> perf tests: Do not rely on dso__data_read_offset() to open dso
> perf tools: Fix a dso open fail message
>
> Steven Rostedt (Red Hat) (6):
> perf tools: Do not check debugfs MAGIC for tracing files
> tools lib fs: Add helper to find mounted file systems
> tools lib api fs: Add tracefs mount helper functions
> tools lib api debugfs: Add DEBUGFS_DEFAULT_PATH macro
> tools lib api fs: Add {tracefs,debugfs}_configured() functions
> perf tools: Make perf aware of tracefs
>
> Victor Kamensky (2):
> perf symbols: Ignore mapping symbols on aarch64
> perf symbols: debuglink should take symfs option into account
>
> Vinson Lee (1):
> perf symbols: Define STT_GNU_IFUNC for glibc 2.9 and older.
>
> tools/lib/api/Makefile | 4 ++
> tools/lib/api/fs/debugfs.c | 69 +++++++---------------
> tools/lib/api/fs/debugfs.h | 13 +----
> tools/lib/api/fs/findfs.c | 63 ++++++++++++++++++++
> tools/lib/api/fs/findfs.h | 23 ++++++++
> tools/lib/api/fs/tracefs.c | 78 +++++++++++++++++++++++++
> tools/lib/api/fs/tracefs.h | 21 +++++++
> tools/lib/traceevent/event-parse.h | 2 +
> tools/lib/traceevent/trace-seq.c | 13 +++--
> tools/perf/Documentation/perf-probe.txt | 16 +++++-
> tools/perf/builtin-buildid-cache.c | 37 ++++++------
> tools/perf/builtin-trace.c | 4 +-
> tools/perf/config/feature-checks/Makefile | 2 +-
> tools/perf/tests/dso-data.c | 22 ++++---
> tools/perf/tests/open-syscall-all-cpus.c | 7 ++-
> tools/perf/tests/open-syscall.c | 7 ++-
> tools/perf/tests/parse-events.c | 13 ++++-
> tools/perf/util/build-id.c | 96 +++++++++++++++++++------------
> tools/perf/util/build-id.h | 4 +-
> tools/perf/util/cache.h | 1 +
> tools/perf/util/dso.c | 8 +--
> tools/perf/util/dwarf-aux.c | 15 +++++
> tools/perf/util/dwarf-aux.h | 3 +
> tools/perf/util/evlist.c | 3 +-
> tools/perf/util/parse-events.c | 19 ------
> tools/perf/util/parse-events.h | 2 +-
> tools/perf/util/probe-event.c | 24 +++++---
> tools/perf/util/probe-finder.c | 12 ++--
> tools/perf/util/symbol-elf.c | 11 ++--
> tools/perf/util/trace-event-parse.c | 12 +++-
> tools/perf/util/trace-event.h | 3 +
> tools/perf/util/util.c | 60 +++++++++++++++----
> tools/perf/util/util.h | 1 +
> 33 files changed, 468 insertions(+), 200 deletions(-)
> create mode 100644 tools/lib/api/fs/findfs.c
> create mode 100644 tools/lib/api/fs/findfs.h
> create mode 100644 tools/lib/api/fs/tracefs.c
> create mode 100644 tools/lib/api/fs/tracefs.h
^ permalink raw reply [flat|nested] 8+ messages in thread
* [GIT PULL 00/21] perf/core improvements and fixes
2015-03-05 4:30 ` [GIT PULL 00/21] perf/core improvements and fixes Victor Kamensky
@ 2015-03-05 6:37 ` Ingo Molnar
2015-03-05 6:49 ` Victor Kamensky
0 siblings, 1 reply; 8+ messages in thread
From: Ingo Molnar @ 2015-03-05 6:37 UTC (permalink / raw)
To: linux-arm-kernel
* Victor Kamensky <victor.kamensky@linaro.org> wrote:
> Hi Arnaldo, Ingo,
>
> What happened with this pull request? [...]
This pull request was for v4.1, and I merged it in:
commit 8a26ce4e544659256349551283414df504889a59
Merge: acba3c7e4652 726f3234dd12
Author: Ingo Molnar <mingo@kernel.org>
Date: Wed Feb 18 19:14:54 2015 +0100
Merge tag 'perf-core-for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core
Pull perf/core improvements and fixes from Arnaldo Carvalho de Melo:
User visible changes:
> [...] I already see in v4.0-rc2 changes additions to one requested
> by this pull request, but I don't see this series itself.
>
> For example e370a3d57664cd5e39c0b95d157ebc841b568409
> "perf symbols: Define EM_AARCH64 for older OSes" by David
> is already in v4.0-rc2 and it is supposed to be addition to
> "perf symbols: Ignore mapping symbols on aarch64" that is part
> of this pull request but it did not make into v4.0-rcX yet. Looks
> quite strange.
If some commits of the v4.1 queue are needed in v4.0 as well then they
should be cherry-picked back into the urgent queue.
But maybe e370a3d57 was merged prematurely - in that case it appears
to be harmless and v4.1 will sort it out.
Arnaldo?
Thanks,
Ingo
^ permalink raw reply [flat|nested] 8+ messages in thread
* [GIT PULL 00/21] perf/core improvements and fixes
2015-03-05 6:37 ` Ingo Molnar
@ 2015-03-05 6:49 ` Victor Kamensky
0 siblings, 0 replies; 8+ messages in thread
From: Victor Kamensky @ 2015-03-05 6:49 UTC (permalink / raw)
To: linux-arm-kernel
On 4 March 2015 at 22:37, Ingo Molnar <mingo@kernel.org> wrote:
>
> * Victor Kamensky <victor.kamensky@linaro.org> wrote:
>
>> Hi Arnaldo, Ingo,
>>
>> What happened with this pull request? [...]
>
> This pull request was for v4.1, and I merged it in:
Ok, I got it. Sorry I missed that before.
> commit 8a26ce4e544659256349551283414df504889a59
> Merge: acba3c7e4652 726f3234dd12
> Author: Ingo Molnar <mingo@kernel.org>
> Date: Wed Feb 18 19:14:54 2015 +0100
>
> Merge tag 'perf-core-for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core
>
> Pull perf/core improvements and fixes from Arnaldo Carvalho de Melo:
>
> User visible changes:
>
>> [...] I already see in v4.0-rc2 changes additions to one requested
>> by this pull request, but I don't see this series itself.
>>
>> For example e370a3d57664cd5e39c0b95d157ebc841b568409
>> "perf symbols: Define EM_AARCH64 for older OSes" by David
>> is already in v4.0-rc2 and it is supposed to be addition to
>> "perf symbols: Ignore mapping symbols on aarch64" that is part
>> of this pull request but it did not make into v4.0-rcX yet. Looks
>> quite strange.
>
> If some commits of the v4.1 queue are needed in v4.0 as well then they
> should be cherry-picked back into the urgent queue.
>
> But maybe e370a3d57 was merged prematurely - in that case it appears
> to be harmless and v4.1 will sort it out.
Yes, this merge is harmless. Indeed it should be OK with v4.1.
Thanks for explanation.
- Victor
> Arnaldo?
>
> Thanks,
>
> Ingo
^ permalink raw reply [flat|nested] 8+ messages in thread
* [GIT PULL 00/21] perf/core improvements and fixes
@ 2018-08-01 21:36 Arnaldo Carvalho de Melo
2018-08-02 8:03 ` Ingo Molnar
0 siblings, 1 reply; 8+ messages in thread
From: Arnaldo Carvalho de Melo @ 2018-08-01 21:36 UTC (permalink / raw)
To: linux-arm-kernel
Hi Ingo,
Please consider pulling, contains a recently merged
tip/perf/urgent,
- Arnaldo
Test results at the end of this message, as usual.
The following changes since commit c2586cfbb905939b79b49a9121fb0a59a5668fd6:
Merge remote-tracking branch 'tip/perf/urgent' into perf/core (2018-07-31 09:55:45 -0300)
are available in the Git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux.git tags/perf-core-for-mingo-4.19-20180801
for you to fetch changes up to b912885ab75c7c8aa841c615108afd755d0b97f8:
perf trace: Do not require --no-syscalls to suppress strace like output (2018-08-01 16:20:28 -0300)
----------------------------------------------------------------
perf/core improvements and fixes:
perf trace: (Arnaldo Carvalho de Melo)
- Do not require --no-syscalls to suppress strace like output, i.e.
# perf trace -e sched:*switch
will show just sched:sched_switch events, not strace-like formatted
syscall events, use --syscalls to get the previous behaviour.
If instead:
# perf trace
is used, i.e. no events specified, then --syscalls is implied and
system wide strace like formatting will be applied to all syscalls.
The behaviour when just a syscall subset is used with '-e' is unchanged:
# perf trace -e *sleep,sched:*switch
will work as before: just the 'nanosleep' syscall will be strace-like
formatted plus the sched:sched_switch tracepoint event, system wide.
- Allow string table generators to use a default header dir, allowing
use of them without parameters to see the table it generates on
stdout, e.g.:
$ tools/perf/trace/beauty/kvm_ioctl.sh
static const char *kvm_ioctl_cmds[] = {
[0x00] = "GET_API_VERSION",
[0x01] = "CREATE_VM",
[0x02] = "GET_MSR_INDEX_LIST",
[0x03] = "CHECK_EXTENSION",
<BIG SNIP>
[0xe0] = "CREATE_DEVICE",
[0xe1] = "SET_DEVICE_ATTR",
[0xe2] = "GET_DEVICE_ATTR",
[0xe3] = "HAS_DEVICE_ATTR",
};
$
See 'ls tools/perf/trace/beauty/*.sh' to see the available string
table generators.
- Add a generator for IPPROTO_ socket's protocol constants.
perf record: (Kan Liang)
- Fix error out while applying initial delay and using LBR, due to
the use of a PERF_TYPE_SOFTWARE/PERF_COUNT_SW_DUMMY event to track
PERF_RECORD_MMAP events while waiting for the initial delay. Such
events fail when configured asking PERF_SAMPLE_BRANCH_STACK in
perf_event_attr.sample_type.
perf c2c: (Jiri Olsa)
- Fix report crash for empty browser, when processing a perf.data file
without events of interest, either because not asked for in
'perf record' or because the workload didn't triggered such events.
perf list: (Michael Petlan)
- Align metric group description format with PMU event description.
perf tests: (Sandipan Das)
- Fix indexing when invoking subtests, which caused BPF tests to
get results for the next test in the list, with the last one
reporting a failure.
eBPF:
- Fix installation directory for header files included from eBPF proggies,
avoiding clashing with relative paths used to build other software projects
such as glibc. (Thomas Richter)
- Show better message when failing to load an object. (Arnaldo Carvalho de Melo)
General: (Christophe Leroy)
- Allow overriding MAX_NR_CPUS at compile time, to make the tooling
usable in systems with less memory, in time this has to be changed
to properly allocate based on _NPROCESSORS_ONLN.
Architecture specific:
- Update arm64's ThunderX2 implementation defined pmu core events (Ganapatrao Kulkarni)
- Fix complex event name parsing in 'perf test' for PowerPC, where the 'umask' event
modifier isn't present. (Sandipan Das)
CoreSight ARM hardware tracing: (Leo Yan)
- Fix start tracing packet handling.
- Support dummy address value for CS_ETM_TRACE_ON packet.
- Generate branch sample when receiving a CS_ETM_TRACE_ON packet.
- Generate branch sample for CS_ETM_TRACE_ON packet.
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
----------------------------------------------------------------
Arnaldo Carvalho de Melo (9):
perf trace beauty: Default header_dir to cwd to work without parms
tools include uapi: Grab a copy of linux/in.h
perf beauty: Add a generator for IPPROTO_ socket's protocol constants
perf trace beauty: Do not print NULL strarray entries
perf trace beauty: Add beautifiers for 'socket''s 'protocol' arg
perf trace: Beautify the AF_INET & AF_INET6 'socket' syscall 'protocol' args
perf bpf: Show better message when failing to load an object
perf bpf: Include uapi/linux/bpf.h from the 'perf trace' script's bpf.h
perf trace: Do not require --no-syscalls to suppress strace like output
Christophe Leroy (1):
perf tools: Allow overriding MAX_NR_CPUS at compile time
Ganapatrao Kulkarni (1):
perf vendor events arm64: Update ThunderX2 implementation defined pmu core events
Jiri Olsa (1):
perf c2c report: Fix crash for empty browser
Kan Liang (1):
perf evlist: Fix error out while applying initial delay and LBR
Leo Yan (4):
perf cs-etm: Fix start tracing packet handling
perf cs-etm: Support dummy address value for CS_ETM_TRACE_ON packet
perf cs-etm: Generate branch sample when receiving a CS_ETM_TRACE_ON packet
perf cs-etm: Generate branch sample for CS_ETM_TRACE_ON packet
Michael Petlan (1):
perf list: Unify metric group description format with PMU event description
Sandipan Das (2):
perf tests: Fix complex event name parsing
perf tests: Fix indexing when invoking subtests
Thomas Richter (1):
perf build: Fix installation directory for eBPF
tools/include/uapi/linux/in.h | 301 +++++++++++++++++++++
tools/perf/Makefile.config | 4 +-
tools/perf/Makefile.perf | 10 +
tools/perf/builtin-c2c.c | 3 +
tools/perf/builtin-trace.c | 19 +-
tools/perf/check-headers.sh | 1 +
tools/perf/include/bpf/bpf.h | 3 +
tools/perf/perf.h | 2 +
.../arch/arm64/cavium/thunderx2/core-imp-def.json | 87 +++++-
tools/perf/tests/builtin-test.c | 4 +-
tools/perf/tests/parse-events.c | 2 +-
tools/perf/trace/beauty/Build | 1 +
tools/perf/trace/beauty/beauty.h | 3 +
tools/perf/trace/beauty/drm_ioctl.sh | 9 +-
tools/perf/trace/beauty/kcmp_type.sh | 2 +-
tools/perf/trace/beauty/kvm_ioctl.sh | 4 +-
tools/perf/trace/beauty/madvise_behavior.sh | 2 +-
tools/perf/trace/beauty/perf_ioctl.sh | 2 +-
.../perf/trace/beauty/pkey_alloc_access_rights.sh | 2 +-
tools/perf/trace/beauty/sndrv_ctl_ioctl.sh | 4 +-
tools/perf/trace/beauty/sndrv_pcm_ioctl.sh | 4 +-
tools/perf/trace/beauty/socket.c | 28 ++
tools/perf/trace/beauty/socket_ipproto.sh | 11 +
tools/perf/trace/beauty/vhost_virtio_ioctl.sh | 6 +-
tools/perf/util/bpf-loader.c | 4 +-
tools/perf/util/cs-etm-decoder/cs-etm-decoder.h | 1 +
tools/perf/util/cs-etm.c | 68 ++++-
tools/perf/util/evsel.c | 14 +
tools/perf/util/metricgroup.c | 4 +-
29 files changed, 556 insertions(+), 49 deletions(-)
create mode 100644 tools/include/uapi/linux/in.h
create mode 100644 tools/perf/trace/beauty/socket.c
create mode 100755 tools/perf/trace/beauty/socket_ipproto.sh
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.
# 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:edge : Ok gcc (Alpine 6.4.0) 6.4.0
6 amazonlinux:1 : Ok gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-28)
7 amazonlinux:2 : Ok gcc (GCC) 7.3.1 20180303 (Red Hat 7.3.1-5)
8 android-ndk:r12b-arm : Ok arm-linux-androideabi-gcc (GCC) 4.9.x 20150123 (prerelease)
9 android-ndk:r15c-arm : Ok arm-linux-androideabi-gcc (GCC) 4.9.x 20150123 (prerelease)
10 centos:5 : Ok gcc (GCC) 4.1.2 20080704 (Red Hat 4.1.2-55)
11 centos:6 : Ok gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-18)
12 centos:7 : Ok gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-28)
13 debian:7 : Ok gcc (Debian 4.7.2-5) 4.7.2
14 debian:8 : Ok gcc (Debian 4.9.2-10+deb8u1) 4.9.2
15 debian:9 : Ok gcc (Debian 6.3.0-18+deb9u1) 6.3.0 20170516
16 debian:experimental : Ok gcc (Debian 8.2.0-1) 8.2.0
17 debian:experimental-x-arm64 : Ok aarch64-linux-gnu-gcc (Debian 8.1.0-12) 8.1.0
18 debian:experimental-x-mips : Ok mips-linux-gnu-gcc (Debian 8.1.0-12) 8.1.0
19 debian:experimental-x-mips64 : Ok mips64-linux-gnuabi64-gcc (Debian 7.3.0-18) 7.3.0
20 debian:experimental-x-mipsel : Ok mipsel-linux-gnu-gcc (Debian 8.1.0-12) 8.1.0
21 fedora:20 : Ok gcc (GCC) 4.8.3 20140911 (Red Hat 4.8.3-7)
22 fedora:21 : Ok gcc (GCC) 4.9.2 20150212 (Red Hat 4.9.2-6)
23 fedora:22 : Ok gcc (GCC) 5.3.1 20160406 (Red Hat 5.3.1-6)
24 fedora:23 : Ok gcc (GCC) 5.3.1 20160406 (Red Hat 5.3.1-6)
25 fedora:24 : Ok gcc (GCC) 6.3.1 20161221 (Red Hat 6.3.1-1)
26 fedora:24-x-ARC-uClibc : Ok arc-linux-gcc (ARCompact ISA Linux uClibc toolchain 2017.09-rc2) 7.1.1 20170710
27 fedora:25 : Ok gcc (GCC) 6.4.1 20170727 (Red Hat 6.4.1-1)
28 fedora:26 : Ok gcc (GCC) 7.3.1 20180130 (Red Hat 7.3.1-2)
29 fedora:27 : Ok gcc (GCC) 7.3.1 20180303 (Red Hat 7.3.1-5)
30 fedora:28 : Ok gcc (GCC) 8.1.1 20180502 (Red Hat 8.1.1-1)
31 fedora:rawhide : Ok gcc (GCC) 8.0.1 20180324 (Red Hat 8.0.1-0.20)
32 gentoo-stage3-amd64:latest : Ok gcc (Gentoo 7.3.0-r3 p1.4) 7.3.0
33 mageia:5 : Ok gcc (GCC) 4.9.2
34 mageia:6 : Ok gcc (Mageia 5.5.0-1.mga6) 5.5.0
35 opensuse:42.1 : Ok gcc (SUSE Linux) 4.8.5
36 opensuse:42.2 : Ok gcc (SUSE Linux) 4.8.5
37 opensuse:42.3 : Ok gcc (SUSE Linux) 4.8.5
38 opensuse:tumbleweed : Ok gcc (SUSE Linux) 7.3.1 20180323 [gcc-7-branch revision 258812]
39 oraclelinux:6 : Ok gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-23.0.1)
40 oraclelinux:7 : Ok gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-28.0.1)
41 ubuntu:12.04.5 : Ok gcc (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3
42 ubuntu:14.04.4 : Ok gcc (Ubuntu 4.8.4-2ubuntu1~14.04.3) 4.8.4
43 ubuntu:14.04.4-x-linaro-arm64 : Ok aarch64-linux-gnu-gcc (Linaro GCC 5.5-2017.10) 5.5.0
44 ubuntu:16.04 : Ok gcc (Ubuntu 5.4.0-6ubuntu1~16.04.10) 5.4.0 20160609
45 ubuntu:16.04-x-arm : Ok arm-linux-gnueabihf-gcc (Ubuntu/Linaro 5.4.0-6ubuntu1~16.04.9) 5.4.0 20160609
46 ubuntu:16.04-x-arm64 : Ok aarch64-linux-gnu-gcc (Ubuntu/Linaro 5.4.0-6ubuntu1~16.04.9) 5.4.0 20160609
47 ubuntu:16.04-x-powerpc : Ok powerpc-linux-gnu-gcc (Ubuntu 5.4.0-6ubuntu1~16.04.9) 5.4.0 20160609
48 ubuntu:16.04-x-powerpc64 : Ok powerpc64-linux-gnu-gcc (Ubuntu/IBM 5.4.0-6ubuntu1~16.04.9) 5.4.0 20160609
49 ubuntu:16.04-x-powerpc64el : Ok powerpc64le-linux-gnu-gcc (Ubuntu/IBM 5.4.0-6ubuntu1~16.04.9) 5.4.0 20160609
50 ubuntu:16.04-x-s390 : Ok s390x-linux-gnu-gcc (Ubuntu 5.4.0-6ubuntu1~16.04.9) 5.4.0 20160609
51 ubuntu:16.10 : Ok gcc (Ubuntu 6.2.0-5ubuntu12) 6.2.0 20161005
52 ubuntu:17.04 : Ok gcc (Ubuntu 6.3.0-12ubuntu2) 6.3.0 20170406
53 ubuntu:17.10 : Ok gcc (Ubuntu 7.2.0-8ubuntu3.2) 7.2.0
54 ubuntu:18.04 : Ok gcc (Ubuntu 7.3.0-16ubuntu3) 7.3.0
55 ubuntu:18.10 : Ok gcc (Ubuntu 8.2.0-1ubuntu2) 8.2.0
#
# uname -a
# Linux seventh 4.17.9-100.fc27.x86_64 #1 SMP Mon Jul 23 22:35:38 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
# git log --oneline -1
b912885ab75c (HEAD -> perf/core) perf trace: Do not require --no-syscalls to suppress strace like output
# perf version --build-options
perf version 4.18.rc7.g822c262
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: probe libc's inet_pton & backtrace it with ping : Ok
63: Check open filename arg using perf trace + vfs_getname: Ok
64: Use vfs_getname probe to get syscall args filenames : Ok
65: 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_libunwind_O: make NO_LIBUNWIND=1
make_no_newt_O: make NO_NEWT=1
make_install_bin_O: make install-bin
make_install_prefix_O: make install prefix=/tmp/krava
make_doc_O: make doc
make_perf_o_O: make perf.o
make_util_map_o_O: make util/map.o
make_no_libbionic_O: make NO_LIBBIONIC=1
make_no_demangle_O: make NO_DEMANGLE=1
make_no_libpython_O: make NO_LIBPYTHON=1
make_no_scripts_O: make NO_LIBPYTHON=1 NO_LIBPERL=1
make_help_O: make help
make_no_slang_O: make NO_SLANG=1
make_no_libperl_O: make NO_LIBPERL=1
make_with_babeltrace_O: make LIBBABELTRACE=1
make_static_O: make LDFLAGS=-static
make_pure_O: make
make_tags_O: make tags
make_no_ui_O: make NO_NEWT=1 NO_SLANG=1 NO_GTK2=1
make_no_libelf_O: make NO_LIBELF=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_install_O: make install
make_with_clangllvm_O: make LIBCLANGLLVM=1
make_install_prefix_slash_O: make install prefix=/tmp/krava/
make_no_libaudit_O: make NO_LIBAUDIT=1
make_no_gtk2_O: make NO_GTK2=1
make_no_libnuma_O: make NO_LIBNUMA=1
make_no_libdw_dwarf_unwind_O: make NO_LIBDW_DWARF_UNWIND=1
make_no_auxtrace_O: make NO_AUXTRACE=1
make_no_libbpf_O: make NO_LIBBPF=1
make_clean_all_O: make clean all
make_no_backtrace_O: make NO_BACKTRACE=1
make_util_pmu_bison_o_O: make util/pmu-bison.o
make_debug_O: make DEBUG=1
make_cscope_O: make cscope
OK
make: Leaving directory '/home/acme/git/perf/tools/perf'
$
^ permalink raw reply [flat|nested] 8+ messages in thread
* [GIT PULL 00/21] perf/core improvements and fixes
2018-08-01 21:36 Arnaldo Carvalho de Melo
@ 2018-08-02 8:03 ` Ingo Molnar
0 siblings, 0 replies; 8+ messages in thread
From: Ingo Molnar @ 2018-08-02 8:03 UTC (permalink / raw)
To: linux-arm-kernel
* Arnaldo Carvalho de Melo <acme@kernel.org> wrote:
> Hi Ingo,
>
> Please consider pulling, contains a recently merged
> tip/perf/urgent,
>
> - Arnaldo
>
> Test results at the end of this message, as usual.
>
> The following changes since commit c2586cfbb905939b79b49a9121fb0a59a5668fd6:
>
> Merge remote-tracking branch 'tip/perf/urgent' into perf/core (2018-07-31 09:55:45 -0300)
>
> are available in the Git repository at:
>
> git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux.git tags/perf-core-for-mingo-4.19-20180801
>
> for you to fetch changes up to b912885ab75c7c8aa841c615108afd755d0b97f8:
>
> perf trace: Do not require --no-syscalls to suppress strace like output (2018-08-01 16:20:28 -0300)
>
> ----------------------------------------------------------------
> perf/core improvements and fixes:
>
> perf trace: (Arnaldo Carvalho de Melo)
>
> - Do not require --no-syscalls to suppress strace like output, i.e.
>
> # perf trace -e sched:*switch
>
> will show just sched:sched_switch events, not strace-like formatted
> syscall events, use --syscalls to get the previous behaviour.
>
> If instead:
>
> # perf trace
>
> is used, i.e. no events specified, then --syscalls is implied and
> system wide strace like formatting will be applied to all syscalls.
>
> The behaviour when just a syscall subset is used with '-e' is unchanged:
>
> # perf trace -e *sleep,sched:*switch
>
> will work as before: just the 'nanosleep' syscall will be strace-like
> formatted plus the sched:sched_switch tracepoint event, system wide.
>
> - Allow string table generators to use a default header dir, allowing
> use of them without parameters to see the table it generates on
> stdout, e.g.:
>
> $ tools/perf/trace/beauty/kvm_ioctl.sh
> static const char *kvm_ioctl_cmds[] = {
> [0x00] = "GET_API_VERSION",
> [0x01] = "CREATE_VM",
> [0x02] = "GET_MSR_INDEX_LIST",
> [0x03] = "CHECK_EXTENSION",
> <BIG SNIP>
> [0xe0] = "CREATE_DEVICE",
> [0xe1] = "SET_DEVICE_ATTR",
> [0xe2] = "GET_DEVICE_ATTR",
> [0xe3] = "HAS_DEVICE_ATTR",
> };
> $
>
> See 'ls tools/perf/trace/beauty/*.sh' to see the available string
> table generators.
>
> - Add a generator for IPPROTO_ socket's protocol constants.
>
> perf record: (Kan Liang)
>
> - Fix error out while applying initial delay and using LBR, due to
> the use of a PERF_TYPE_SOFTWARE/PERF_COUNT_SW_DUMMY event to track
> PERF_RECORD_MMAP events while waiting for the initial delay. Such
> events fail when configured asking PERF_SAMPLE_BRANCH_STACK in
> perf_event_attr.sample_type.
>
> perf c2c: (Jiri Olsa)
>
> - Fix report crash for empty browser, when processing a perf.data file
> without events of interest, either because not asked for in
> 'perf record' or because the workload didn't triggered such events.
>
> perf list: (Michael Petlan)
>
> - Align metric group description format with PMU event description.
>
> perf tests: (Sandipan Das)
>
> - Fix indexing when invoking subtests, which caused BPF tests to
> get results for the next test in the list, with the last one
> reporting a failure.
>
> eBPF:
>
> - Fix installation directory for header files included from eBPF proggies,
> avoiding clashing with relative paths used to build other software projects
> such as glibc. (Thomas Richter)
>
> - Show better message when failing to load an object. (Arnaldo Carvalho de Melo)
>
> General: (Christophe Leroy)
>
> - Allow overriding MAX_NR_CPUS at compile time, to make the tooling
> usable in systems with less memory, in time this has to be changed
> to properly allocate based on _NPROCESSORS_ONLN.
>
> Architecture specific:
>
> - Update arm64's ThunderX2 implementation defined pmu core events (Ganapatrao Kulkarni)
>
> - Fix complex event name parsing in 'perf test' for PowerPC, where the 'umask' event
> modifier isn't present. (Sandipan Das)
>
> CoreSight ARM hardware tracing: (Leo Yan)
>
> - Fix start tracing packet handling.
>
> - Support dummy address value for CS_ETM_TRACE_ON packet.
>
> - Generate branch sample when receiving a CS_ETM_TRACE_ON packet.
>
> - Generate branch sample for CS_ETM_TRACE_ON packet.
>
> Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
>
> ----------------------------------------------------------------
> Arnaldo Carvalho de Melo (9):
> perf trace beauty: Default header_dir to cwd to work without parms
> tools include uapi: Grab a copy of linux/in.h
> perf beauty: Add a generator for IPPROTO_ socket's protocol constants
> perf trace beauty: Do not print NULL strarray entries
> perf trace beauty: Add beautifiers for 'socket''s 'protocol' arg
> perf trace: Beautify the AF_INET & AF_INET6 'socket' syscall 'protocol' args
> perf bpf: Show better message when failing to load an object
> perf bpf: Include uapi/linux/bpf.h from the 'perf trace' script's bpf.h
> perf trace: Do not require --no-syscalls to suppress strace like output
>
> Christophe Leroy (1):
> perf tools: Allow overriding MAX_NR_CPUS at compile time
>
> Ganapatrao Kulkarni (1):
> perf vendor events arm64: Update ThunderX2 implementation defined pmu core events
>
> Jiri Olsa (1):
> perf c2c report: Fix crash for empty browser
>
> Kan Liang (1):
> perf evlist: Fix error out while applying initial delay and LBR
>
> Leo Yan (4):
> perf cs-etm: Fix start tracing packet handling
> perf cs-etm: Support dummy address value for CS_ETM_TRACE_ON packet
> perf cs-etm: Generate branch sample when receiving a CS_ETM_TRACE_ON packet
> perf cs-etm: Generate branch sample for CS_ETM_TRACE_ON packet
>
> Michael Petlan (1):
> perf list: Unify metric group description format with PMU event description
>
> Sandipan Das (2):
> perf tests: Fix complex event name parsing
> perf tests: Fix indexing when invoking subtests
>
> Thomas Richter (1):
> perf build: Fix installation directory for eBPF
>
> tools/include/uapi/linux/in.h | 301 +++++++++++++++++++++
> tools/perf/Makefile.config | 4 +-
> tools/perf/Makefile.perf | 10 +
> tools/perf/builtin-c2c.c | 3 +
> tools/perf/builtin-trace.c | 19 +-
> tools/perf/check-headers.sh | 1 +
> tools/perf/include/bpf/bpf.h | 3 +
> tools/perf/perf.h | 2 +
> .../arch/arm64/cavium/thunderx2/core-imp-def.json | 87 +++++-
> tools/perf/tests/builtin-test.c | 4 +-
> tools/perf/tests/parse-events.c | 2 +-
> tools/perf/trace/beauty/Build | 1 +
> tools/perf/trace/beauty/beauty.h | 3 +
> tools/perf/trace/beauty/drm_ioctl.sh | 9 +-
> tools/perf/trace/beauty/kcmp_type.sh | 2 +-
> tools/perf/trace/beauty/kvm_ioctl.sh | 4 +-
> tools/perf/trace/beauty/madvise_behavior.sh | 2 +-
> tools/perf/trace/beauty/perf_ioctl.sh | 2 +-
> .../perf/trace/beauty/pkey_alloc_access_rights.sh | 2 +-
> tools/perf/trace/beauty/sndrv_ctl_ioctl.sh | 4 +-
> tools/perf/trace/beauty/sndrv_pcm_ioctl.sh | 4 +-
> tools/perf/trace/beauty/socket.c | 28 ++
> tools/perf/trace/beauty/socket_ipproto.sh | 11 +
> tools/perf/trace/beauty/vhost_virtio_ioctl.sh | 6 +-
> tools/perf/util/bpf-loader.c | 4 +-
> tools/perf/util/cs-etm-decoder/cs-etm-decoder.h | 1 +
> tools/perf/util/cs-etm.c | 68 ++++-
> tools/perf/util/evsel.c | 14 +
> tools/perf/util/metricgroup.c | 4 +-
> 29 files changed, 556 insertions(+), 49 deletions(-)
> create mode 100644 tools/include/uapi/linux/in.h
> create mode 100644 tools/perf/trace/beauty/socket.c
> create mode 100755 tools/perf/trace/beauty/socket_ipproto.sh
Pulled, thanks a lot Arnaldo!
Ingo
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2018-08-02 8:03 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-02-11 21:08 [GIT PULL 00/21] perf/core improvements and fixes Arnaldo Carvalho de Melo
2015-02-11 21:09 ` [PATCH 06/21] perf symbols: Ignore mapping symbols on aarch64 Arnaldo Carvalho de Melo
2015-02-11 21:09 ` [PATCH 07/21] perf symbols: debuglink should take symfs option into account Arnaldo Carvalho de Melo
2015-03-05 4:30 ` [GIT PULL 00/21] perf/core improvements and fixes Victor Kamensky
2015-03-05 6:37 ` Ingo Molnar
2015-03-05 6:49 ` Victor Kamensky
-- strict thread matches above, loose matches on Subject: below --
2018-08-01 21:36 Arnaldo Carvalho de Melo
2018-08-02 8:03 ` Ingo Molnar
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).