Linux-KBuild Archive mirror
 help / color / mirror / Atom feed
* [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).