* [GIT PULL 00/64] perf/core improvements and fixes
@ 2015-04-28 13:29 Arnaldo Carvalho de Melo
2015-04-28 13:29 ` [PATCH 05/64] tools build: No need to make libapi for perf explicitly Arnaldo Carvalho de Melo
` (2 more replies)
0 siblings, 3 replies; 4+ messages in thread
From: Arnaldo Carvalho de Melo @ 2015-04-28 13:29 UTC (permalink / raw
To: Ingo Molnar
Cc: linux-kernel, Arnaldo Carvalho de Melo, Adrian Hunter, Andi Kleen,
Andi Kleen, Borislav Petkov, Brian Norris, David Ahern,
David Howells, Don Zickus, Frederic Weisbecker, He Kuang,
Jeremie Galarneau, Jiri Olsa, linux-kbuild, Mark Rutland,
Masami Hiramatsu, Michal Marek, Namhyung Kim, Paul Mackerras,
Peter Zijlstra, Petr Holasek, Sam Ravnborg,
Sebastian Andrzej Siewior, Stephane Eranian, Steven Rostedt,
Taeung Song, Tom Zanussi, Wang Nan, Will Deacon, William Cohen,
Arnaldo Carvalho de Melo
Hi Ingo,
Please consider pulling, more to come soon,
- Arnaldo
The following changes since commit 5b24e8cf618f03b4f1275c229d0a1d464648f9e2:
Merge tag 'perf-core-for-mingo-2' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/urgent (2015-04-14 14:10:56 +0200)
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 83c4bb5d87922f336a77125e3698928b661ee57e:
perf bench numa: Show more stats of particular threads in verbose mode (2015-04-28 09:57:26 -0300)
----------------------------------------------------------------
perf/core improvements and fixes:
User visible:
- Add 'perf stat' metrics support for exclude_(host|guest|hv|idle) (Jiri Olsa)
- Fix 'perf stat' metrics calculation with event qualifiers (Andi Kleen)
- Improve event parsing error reporting (Jiri Olsa)
- Fix 'perf trace' --filter-pids OPTION description (Arnaldo Carvalho de Melo)
- Clarify that 'perf trace -e' is about syscalls, not perf events in general (Arnaldo Carvalho de Melo)
- Show error message when 'perf data' conversion failed (He Kuang)
- Remove all probe matches given pattern at once in 'perf probe --del' (Masami Hiramatsu)
- Make 'perf probe --funcs' option exclusive (Masami Hiramatsu)
- Document --children option (top, report) in more detail (Namhyung Kim)
- Show more stats of particular threads in verbose mode in 'perf bench numa' (Petr Holasek)
Infrastructure:
- AUX area tracing work needed for processing Intel PT data (Adrian Hunter)
- Add build tests for building perf from kernel source root and tools (Jiri Olsa)
- Enable 'perf data' stream flush within processing (Jiri Olsa)
- Add support for setting ordered_events queue size in 'perf data' (Jiri Olsa)
- Refactor the perf hists browser (top, report) to break down big function into
smaller ones, remove unused state (Namhyung Kim)
- Switch 'perf data' to libbabeltrace's multiple cpu stream files (Sebastian Andrzej Siewior)
- Fix duplicate field names and avoid reserved keywords in 'perf data' CTF support (Wang Nan)
- Fix signedness of value in 'perf data' (Wang Nan)
- Use getconf to determine number of online CPUs, making the build process to find the
right number of online CPUs on ARM (Will Deacon)
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
----------------------------------------------------------------
Adrian Hunter (20):
perf header: Add AUX area tracing feature
perf evlist: Add support for mmapping an AUX area buffer
perf tools: Add user events for AUX area tracing
perf auxtrace: Add support for AUX area recording
perf record: Add basic AUX area tracing support
perf record: Extend -m option for AUX area tracing mmap pages
perf tools: Add a user event for AUX area tracing errors
perf session: Add hooks to allow transparent decoding of AUX area tracing data
perf session: Add instruction tracing options
perf auxtrace: Add helpers for AUX area tracing errors
perf auxtrace: Add helpers for queuing AUX area tracing data
perf auxtrace: Add a heap for sorting AUX area tracing queues
perf auxtrace: Add processing for AUX area tracing events
perf auxtrace: Add a hashtable for caching
perf tools: Add member to struct dso for an instruction cache
perf script: Add Instruction Tracing support
perf inject: Re-pipe AUX area tracing events
perf inject: Add Instruction Tracing support
perf script: Add field option 'flags' to print sample flags
perf tools: Add aux_watermark member of struct perf_event_attr
Andi Kleen (1):
perf stat: Fix metrics calculation with event qualifiers
Arnaldo Carvalho de Melo (2):
perf trace: Fix --filter-pids OPTION description
perf trace: Clarify that -e is about syscalls, not perf events in general
He Kuang (1):
perf data: Show error message when conversion failed
Jiri Olsa (19):
tools lib traceevent: Add alias field to struct format_field
tools build: No need to make libapi for perf explicitly
tools build: Fix Makefile(s) to properly invoke tools build
perf tests: Add build tests for building perf from kernel source root and tools
perf data: Enable stream flush within processing
perf data: Add support for setting ordered_events queue size
perf tools: Add parse_events_error interface
perf tools: Add flex support for parse_events_error
perf tools: Always bail out when config_attr function fails
perf tools: Change parse_events_add_pmu interface
perf tools: Add location to pmu event terms
perf tools: Add term support for parse_events_error
perf tools: Add static terms support for parse_events_error
perf tools: Add tracepoint support for parse_events_error
perf tools: Add symbolic events support for parse_events_error
perf stat: Change metrics context calculation
perf stat: Add metrics support for exclude_hv
perf stat: Add metrics support for exclude_(host|guest)
perf stat: Add metrics support for exclude_idle
Masami Hiramatsu (2):
perf probe: Make --funcs option exclusive
perf probe: Remove all probes matches given pattern at once
Namhyung Kim (14):
perf hists: Get rid of position field from struct hist_entry
perf diff: Make hist_entry_diff fields union
perf tools: Document --children option in more detail
perf tools: Move TUI-specific fields into unnamed union
perf tools: Move init_have_children field to the unnamed union
perf hists browser: Fix possible memory leak
perf hists browser: Save hist_browser_timer pointer in hist_browser
perf hists browser: Save pstack in the hist_browser
perf hists browser: Save perf_session_env in the hist_browser
perf hists browser: Split popup menu actions
perf hists browser: Split popup menu actions - part 2
perf tools: Introduce pstack_peek()
perf hists browser: Simplify zooming code using pstack_peek()
perf tools: Move TUI-specific fields out of map_symbol
Petr Holasek (1):
perf bench numa: Show more stats of particular threads in verbose mode
Sebastian Andrzej Siewior (1):
perf data: Switch to multiple cpu stream files
Wang Nan (2):
perf data: Fix duplicate field names and avoid reserved keywords
perf data: Fix signedness of value
Will Deacon (1):
perf tools: Use getconf to determine number of online CPUs
Makefile | 5 +-
tools/Makefile | 20 +-
tools/lib/traceevent/event-parse.c | 6 +-
tools/lib/traceevent/event-parse.h | 1 +
.../callchain-overhead-calculation.txt | 108 ++
tools/perf/Documentation/perf-inject.txt | 26 +
tools/perf/Documentation/perf-probe.txt | 2 +
tools/perf/Documentation/perf-record.txt | 2 +
tools/perf/Documentation/perf-report.txt | 4 +
tools/perf/Documentation/perf-script.txt | 36 +-
tools/perf/Documentation/perf-top.txt | 3 +-
tools/perf/Documentation/perf-trace.txt | 2 +-
tools/perf/Makefile | 2 +-
tools/perf/bench/numa.c | 32 +-
tools/perf/builtin-inject.c | 134 ++-
tools/perf/builtin-probe.c | 2 +
tools/perf/builtin-record.c | 130 ++-
tools/perf/builtin-script.c | 45 +-
tools/perf/builtin-stat.c | 146 ++-
tools/perf/builtin-trace.c | 7 +-
tools/perf/perf.h | 2 +
tools/perf/tests/code-reading.c | 2 +-
tools/perf/tests/evsel-roundtrip-name.c | 4 +-
tools/perf/tests/hists_cumulate.c | 2 +-
tools/perf/tests/hists_filter.c | 4 +-
tools/perf/tests/hists_link.c | 4 +-
tools/perf/tests/hists_output.c | 2 +-
tools/perf/tests/keep-tracking.c | 4 +-
tools/perf/tests/make | 14 +-
tools/perf/tests/parse-events.c | 2 +-
tools/perf/tests/perf-time-to-tsc.c | 2 +-
tools/perf/tests/pmu.c | 3 +-
tools/perf/tests/switch-tracking.c | 8 +-
tools/perf/ui/browsers/hists.c | 611 ++++++-----
tools/perf/util/Build | 1 +
tools/perf/util/auxtrace.c | 1069 ++++++++++++++++++++
tools/perf/util/auxtrace.h | 426 ++++++++
tools/perf/util/callchain.h | 4 +
tools/perf/util/data-convert-bt.c | 410 +++++++-
tools/perf/util/dso.c | 2 +
tools/perf/util/dso.h | 3 +
tools/perf/util/event.c | 3 +
tools/perf/util/event.h | 46 +
tools/perf/util/evlist.c | 71 +-
tools/perf/util/evlist.h | 6 +
tools/perf/util/evsel.c | 1 +
tools/perf/util/header.c | 14 +
tools/perf/util/header.h | 1 +
tools/perf/util/hist.c | 2 +-
tools/perf/util/parse-events.c | 194 +++-
tools/perf/util/parse-events.h | 36 +-
tools/perf/util/parse-events.l | 41 +-
tools/perf/util/parse-events.y | 48 +-
tools/perf/util/pmu.c | 57 +-
tools/perf/util/pmu.h | 6 +-
tools/perf/util/probe-event.c | 26 +-
tools/perf/util/pstack.c | 7 +
tools/perf/util/pstack.h | 1 +
tools/perf/util/record.c | 15 +-
tools/perf/util/session.c | 152 ++-
tools/perf/util/session.h | 5 +
tools/perf/util/sort.h | 38 +-
tools/perf/util/symbol.h | 2 -
tools/perf/util/tool.h | 10 +-
64 files changed, 3563 insertions(+), 511 deletions(-)
create mode 100644 tools/perf/Documentation/callchain-overhead-calculation.txt
create mode 100644 tools/perf/util/auxtrace.c
create mode 100644 tools/perf/util/auxtrace.h
^ permalink raw reply [flat|nested] 4+ messages in thread
* [PATCH 05/64] tools build: No need to make libapi for perf explicitly
2015-04-28 13:29 [GIT PULL 00/64] perf/core improvements and fixes Arnaldo Carvalho de Melo
@ 2015-04-28 13:29 ` Arnaldo Carvalho de Melo
2015-04-28 13:29 ` [PATCH 06/64] tools build: Fix Makefile(s) to properly invoke tools build Arnaldo Carvalho de Melo
2015-04-28 13:29 ` [PATCH 07/64] perf tests: Add build tests for building perf from kernel source root and tools Arnaldo Carvalho de Melo
2 siblings, 0 replies; 4+ messages in thread
From: Arnaldo Carvalho de Melo @ 2015-04-28 13:29 UTC (permalink / raw
To: Ingo Molnar
Cc: linux-kernel, Jiri Olsa, Borislav Petkov, Brian Norris,
David Ahern, David Howells, Michal Marek, Namhyung Kim,
Paul Mackerras, Peter Zijlstra, Sam Ravnborg, linux-kbuild,
Arnaldo Carvalho de Melo
From: Jiri Olsa <jolsa@kernel.org>
The perf build handles its dependencies by itself.
Also renaming libapi libapikfs to libapi as it got
changed just recently.
Signed-off-by: Jiri Olsa <jolsa@kernel.org>
Cc: Borislav Petkov <bp@suse.de>
Cc: Brian Norris <computersforpeace@gmail.com>
Cc: David Ahern <dsahern@gmail.com>
Cc: David Howells <dhowells@redhat.com>
Cc: Michal Marek <mmarek@suse.cz>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Sam Ravnborg <sam@ravnborg.org>
Cc: linux-kbuild@vger.kernel.org
Link: http://lkml.kernel.org/r/1429389280-18720-2-git-send-email-jolsa@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
tools/Makefile | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/tools/Makefile b/tools/Makefile
index 9a617adc6675..01995cc8ac44 100644
--- a/tools/Makefile
+++ b/tools/Makefile
@@ -47,10 +47,10 @@ cgroup firewire hv guest usb virtio vm net: FORCE
liblockdep: FORCE
$(call descend,lib/lockdep)
-libapikfs: FORCE
+libapi: FORCE
$(call descend,lib/api)
-perf: libapikfs FORCE
+perf: FORCE
$(call descend,$@)
selftests: FORCE
@@ -97,10 +97,10 @@ cgroup_clean hv_clean firewire_clean lguest_clean usb_clean virtio_clean vm_clea
liblockdep_clean:
$(call descend,lib/lockdep,clean)
-libapikfs_clean:
+libapi_clean:
$(call descend,lib/api,clean)
-perf_clean: libapikfs_clean
+perf_clean:
$(call descend,$(@:_clean=),clean)
selftests_clean:
--
1.9.3
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [PATCH 06/64] tools build: Fix Makefile(s) to properly invoke tools build
2015-04-28 13:29 [GIT PULL 00/64] perf/core improvements and fixes Arnaldo Carvalho de Melo
2015-04-28 13:29 ` [PATCH 05/64] tools build: No need to make libapi for perf explicitly Arnaldo Carvalho de Melo
@ 2015-04-28 13:29 ` Arnaldo Carvalho de Melo
2015-04-28 13:29 ` [PATCH 07/64] perf tests: Add build tests for building perf from kernel source root and tools Arnaldo Carvalho de Melo
2 siblings, 0 replies; 4+ messages in thread
From: Arnaldo Carvalho de Melo @ 2015-04-28 13:29 UTC (permalink / raw
To: Ingo Molnar
Cc: linux-kernel, Jiri Olsa, Borislav Petkov, Brian Norris,
David Ahern, David Howells, Michal Marek, Namhyung Kim,
Paul Mackerras, Peter Zijlstra, Sam Ravnborg, linux-kbuild,
Arnaldo Carvalho de Melo
From: Jiri Olsa <jolsa@kernel.org>
Several fixes were needed to allow following builds:
$ make tools/tmon
$ make -C <kernelsrc> tools/perf
$ make -C <kernelsrc>/tools perf
- some of the tools (perf) use same make variables as in
kernel build, unsetting srctree and objtree
- using original $(O) for O variable
- perf build does not follow the descend function setup
invoking it via it's own make rule
I tried the rest of the tools/Makefile targets and they
seem to work now.
Reported-by: Brian Norris <computersforpeace@gmail.com>
Signed-off-by: Jiri Olsa <jolsa@kernel.org>
Cc: Borislav Petkov <bp@suse.de>
Cc: Brian Norris <computersforpeace@gmail.com>
Cc: David Ahern <dsahern@gmail.com>
Cc: David Howells <dhowells@redhat.com>
Cc: Michal Marek <mmarek@suse.cz>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Sam Ravnborg <sam@ravnborg.org>
Cc: linux-kbuild@vger.kernel.org
Link: http://lkml.kernel.org/r/1429389280-18720-3-git-send-email-jolsa@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
Makefile | 5 ++---
tools/Makefile | 12 +++++++++++-
2 files changed, 13 insertions(+), 4 deletions(-)
diff --git a/Makefile b/Makefile
index da36a3be7969..b1ca0607ed2e 100644
--- a/Makefile
+++ b/Makefile
@@ -214,7 +214,6 @@ VPATH := $(srctree)$(if $(KBUILD_EXTMOD),:$(KBUILD_EXTMOD))
export srctree objtree VPATH
-
# SUBARCH tells the usermode build what the underlying arch is. That is set
# first, and if a usermode build is happening, the "ARCH=um" on the command
# line overrides the setting of ARCH below. If a native build is happening,
@@ -1504,11 +1503,11 @@ image_name:
# Clear a bunch of variables before executing the submake
tools/: FORCE
$(Q)mkdir -p $(objtree)/tools
- $(Q)$(MAKE) LDFLAGS= MAKEFLAGS="$(filter --j% -j,$(MAKEFLAGS))" O=$(objtree) subdir=tools -C $(src)/tools/
+ $(Q)$(MAKE) LDFLAGS= MAKEFLAGS="$(filter --j% -j,$(MAKEFLAGS))" O=$(O) subdir=tools -C $(src)/tools/
tools/%: FORCE
$(Q)mkdir -p $(objtree)/tools
- $(Q)$(MAKE) LDFLAGS= MAKEFLAGS="$(filter --j% -j,$(MAKEFLAGS))" O=$(objtree) subdir=tools -C $(src)/tools/ $*
+ $(Q)$(MAKE) LDFLAGS= MAKEFLAGS="$(filter --j% -j,$(MAKEFLAGS))" O=$(O) subdir=tools -C $(src)/tools/ $*
# Single targets
# ---------------------------------------------------------------------------
diff --git a/tools/Makefile b/tools/Makefile
index 01995cc8ac44..b35102721cbb 100644
--- a/tools/Makefile
+++ b/tools/Makefile
@@ -1,3 +1,8 @@
+# Some of the tools (perf) use same make variables
+# as in kernel build.
+export srctree=
+export objtree=
+
include scripts/Makefile.include
help:
@@ -50,8 +55,13 @@ liblockdep: FORCE
libapi: FORCE
$(call descend,lib/api)
+# The perf build does not follow the descend function setup,
+# invoking it via it's own make rule.
+PERF_O = $(if $(O),$(O)/tools/perf,)
+
perf: FORCE
- $(call descend,$@)
+ $(Q)mkdir -p $(PERF_O) .
+ $(Q)$(MAKE) --no-print-directory -C perf O=$(PERF_O) subdir=
selftests: FORCE
$(call descend,testing/$@)
--
1.9.3
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [PATCH 07/64] perf tests: Add build tests for building perf from kernel source root and tools
2015-04-28 13:29 [GIT PULL 00/64] perf/core improvements and fixes Arnaldo Carvalho de Melo
2015-04-28 13:29 ` [PATCH 05/64] tools build: No need to make libapi for perf explicitly Arnaldo Carvalho de Melo
2015-04-28 13:29 ` [PATCH 06/64] tools build: Fix Makefile(s) to properly invoke tools build Arnaldo Carvalho de Melo
@ 2015-04-28 13:29 ` Arnaldo Carvalho de Melo
2 siblings, 0 replies; 4+ messages in thread
From: Arnaldo Carvalho de Melo @ 2015-04-28 13:29 UTC (permalink / raw
To: Ingo Molnar
Cc: linux-kernel, Jiri Olsa, Borislav Petkov, Brian Norris,
David Ahern, David Howells, Michal Marek, Namhyung Kim,
Paul Mackerras, Peter Zijlstra, Sam Ravnborg, linux-kbuild,
Arnaldo Carvalho de Melo
From: Jiri Olsa <jolsa@kernel.org>
Adding build tests for following make commands:
$ make -C <kernelsrc> tools/perf
$ make -C <kernelsrc>/tools perf
Signed-off-by: Jiri Olsa <jolsa@kernel.org>
Cc: Borislav Petkov <bp@suse.de>
Cc: Brian Norris <computersforpeace@gmail.com>
Cc: David Ahern <dsahern@gmail.com>
Cc: David Howells <dhowells@redhat.com>
Cc: Michal Marek <mmarek@suse.cz>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Sam Ravnborg <sam@ravnborg.org>
Cc: linux-kbuild@vger.kernel.org
Link: http://lkml.kernel.org/r/1429389280-18720-4-git-send-email-jolsa@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
tools/perf/tests/make | 14 +++++++++++++-
1 file changed, 13 insertions(+), 1 deletion(-)
diff --git a/tools/perf/tests/make b/tools/perf/tests/make
index bff85324f799..901ec9191359 100644
--- a/tools/perf/tests/make
+++ b/tools/perf/tests/make
@@ -223,7 +223,19 @@ tarpkg:
echo "- $@: $$cmd" && echo $$cmd > $@ && \
( eval $$cmd ) >> $@ 2>&1
-all: $(run) $(run_O) tarpkg
+make_kernelsrc:
+ @echo " - make -C <kernelsrc> tools/perf"
+ $(call clean); \
+ (make -C ../.. tools/perf) > $@ 2>&1 && \
+ test -x perf && rm -f $@ || (cat $@ ; false)
+
+make_kernelsrc_tools:
+ @echo " - make -C <kernelsrc>/tools perf"
+ $(call clean); \
+ (make -C ../../tools perf) > $@ 2>&1 && \
+ test -x perf && rm -f $@ || (cat $@ ; false)
+
+all: $(run) $(run_O) tarpkg make_kernelsrc make_kernelsrc_tools
@echo OK
out: $(run_O)
--
1.9.3
^ permalink raw reply related [flat|nested] 4+ messages in thread
end of thread, other threads:[~2015-04-28 13:31 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-04-28 13:29 [GIT PULL 00/64] perf/core improvements and fixes Arnaldo Carvalho de Melo
2015-04-28 13:29 ` [PATCH 05/64] tools build: No need to make libapi for perf explicitly Arnaldo Carvalho de Melo
2015-04-28 13:29 ` [PATCH 06/64] tools build: Fix Makefile(s) to properly invoke tools build Arnaldo Carvalho de Melo
2015-04-28 13:29 ` [PATCH 07/64] perf tests: Add build tests for building perf from kernel source root and tools Arnaldo Carvalho de Melo
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).