All of lore.kernel.org
 help / color / mirror / Atom feed
* [GIT PULL 0/7] perf/core improvements and fixes
@ 2017-04-13 19:35 Arnaldo Carvalho de Melo
  2017-04-13 19:35 ` [PATCH 1/7] perf tools: Pass PYTHON config to feature detection Arnaldo Carvalho de Melo
                   ` (7 more replies)
  0 siblings, 8 replies; 10+ messages in thread
From: Arnaldo Carvalho de Melo @ 2017-04-13 19:35 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: linux-kernel, Arnaldo Carvalho de Melo, Adrian Hunter,
	Alexander Shishkin, Alexis Berlemont, Andi Kleen,
	David Carrillo-Cisneros, He Kuang, Jiri Olsa, Kim Phillips,
	Masami Hiramatsu, Mathieu Poirier, Paul Turner, Peter Zijlstra,
	Ravi Bangoria, Simon Que, Stephane Eranian, Wang Nan

Hi Ingo,

	Please consider pulling,

- Arnaldo

Test results at the end of this message, as usual.

Test results:

The first ones are container (docker) based builds of tools/perf with and
without libelf support, objtool where it is supported and samples/bpf/, ditto.
Where clang is available, it is also used to build perf with/without libelf.

For this specific pull request the samples/bpf/ was disabled, as 'make headers_install'
is failing with the following error, in this case in fedora:rawhide:

    INSTALL usr/include/uapi/ (0 file)
  /git/linux/scripts/Makefile.headersinst:62: *** Missing generated UAPI file ./arch/x86/include/generated/uapi/asm/unistd_32.h.  Stop.
  make[1]: *** [/git/linux/Makefile:1151: headers_install] Error 2
  make[1]: Leaving directory '/tmp/build/linux'
  make: *** [Makefile:152: sub-make] Error 2
  make: Leaving directory '/git/linux'

I'll investigate later, perf and objtool builds just fine, with clang and gcc.

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
   2 alpine:3.5: Ok
   3 alpine:edge: Ok
   4 android-ndk:r12b-arm: Ok
   5 archlinux:latest: Ok
   6 centos:5: Ok
   7 centos:6: Ok
   8 centos:7: Ok
   9 debian:7: Ok
  10 debian:8: Ok
  11 debian:9: Ok
  12 debian:experimental: Ok
  13 debian:experimental-x-arm64: Ok
  14 debian:experimental-x-mips: Ok
  15 debian:experimental-x-mips64: Ok
  16 debian:experimental-x-mipsel: Ok
  17 fedora:20: Ok
  18 fedora:21: Ok
  19 fedora:22: Ok
  20 fedora:23: Ok
  21 fedora:24: Ok
  22 fedora:24-x-ARC-uClibc: Ok
  23 fedora:25: Ok
  24 fedora:rawhide: Ok
  25 mageia:5: Ok
  26 opensuse:13.2: Ok
  27 opensuse:42.1: Ok
  28 opensuse:tumbleweed: Ok
  29 ubuntu:12.04.5: Ok
  30 ubuntu:14.04.4: Ok
  31 ubuntu:14.04.4-x-linaro-arm64: Ok
  32 ubuntu:15.10: Ok
  33 ubuntu:16.04: Ok
  34 ubuntu:16.04-x-arm: Ok
  35 ubuntu:16.04-x-arm64: Ok
  36 ubuntu:16.04-x-powerpc: Ok
  37 ubuntu:16.04-x-powerpc64: Ok
  38 ubuntu:16.04-x-s390: Ok
  39 ubuntu:16.10: Ok
  40 ubuntu:17.04: Ok
  # 

  # uname -a
  Linux jouet 4.11.0-rc6+ #7 SMP Tue Apr 11 11:53:14 -03 2017 x86_64 x86_64 x86_64 GNU/Linux
  # 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: Parse event definition strings             : Ok
   6: Simple expression parser                   : Ok
   7: PERF_RECORD_* events & perf_sample fields  : Ok
   8: Parse perf pmu format                      : Ok
   9: DSO data read                              : Ok
  10: DSO data cache                             : Ok
  11: DSO data reopen                            : Ok
  12: Roundtrip evsel->name                      : Ok
  13: Parse sched tracepoints fields             : Ok
  14: syscalls:sys_enter_openat event fields     : Ok
  15: Setup struct perf_event_attr               : Ok
  16: Match and link multiple hists              : Ok
  17: 'import perf' in python                    : Ok
  18: Breakpoint overflow signal handler         : Ok
  19: Breakpoint overflow sampling               : Ok
  20: Number of exit events of a simple workload : Ok
  21: Software clock events period values        : Ok
  22: Object code reading                        : Ok
  23: Sample parsing                             : Ok
  24: Use a dummy software event to keep tracking: Ok
  25: Parse with no sample_id_all bit set        : Ok
  26: Filter hist entries                        : Ok
  27: Lookup mmap thread                         : Ok
  28: Share thread mg                            : Ok
  29: Sort output of hist entries                : Ok
  30: Cumulate child hist entries                : Ok
  31: Track with sched_switch                    : Ok
  32: Filter fds with revents mask in a fdarray  : Ok
  33: Add fd to a fdarray, making it autogrow    : Ok
  34: kmod_path__parse                           : Ok
  35: Thread map                                 : Ok
  36: LLVM search and compile                    :
  36.1: Basic BPF llvm compile                    : Ok
  36.2: kbuild searching                          : Ok
  36.3: Compile source for BPF prologue generation: Ok
  36.4: Compile source for BPF relocation         : Ok
  37: Session topology                           : Ok
  38: BPF filter                                 :
  38.1: Basic BPF filtering                      : Ok
  38.2: BPF pinning                              : Ok
  38.3: BPF prologue generation                  : Ok
  38.4: BPF relocation checker                   : Ok
  39: Synthesize thread map                      : Ok
  40: Remove thread map                          : Ok
  41: Synthesize cpu map                         : Ok
  42: Synthesize stat config                     : Ok
  43: Synthesize stat                            : Ok
  44: Synthesize stat round                      : Ok
  45: Synthesize attr update                     : Ok
  46: Event times                                : Ok
  47: Read backward ring buffer                  : Ok
  48: Print cpu map                              : Ok
  49: Probe SDT events                           : Ok
  50: is_printable_array                         : Ok
  51: Print bitmap                               : Ok
  52: perf hooks                                 : Ok
  53: builtin clang support                      : Skip (not compiled in)
  54: unit_number__scnprintf                     : Ok
  55: x86 rdpmc                                  : Ok
  56: Convert perf time to TSC                   : Ok
  57: DWARF unwind                               : Ok
  58: x86 instruction decoder - new instructions : Ok
  59: Intel cqm nmi context read                 : Skip
  #

  $ perf stat make -C tools/perf build-test
  make: Entering directory '/home/acme/git/linux/tools/perf'
  - tarpkg: ./tests/perf-targz-src-pkg .
                  make_no_ui_O: make NO_NEWT=1 NO_SLANG=1 NO_GTK2=1
  make_no_libdw_dwarf_unwind_O: make NO_LIBDW_DWARF_UNWIND=1
         make_with_clangllvm_O: make LIBCLANGLLVM=1
            make_install_bin_O: make install-bin
             make_util_map_o_O: make util/map.o
               make_no_slang_O: make NO_SLANG=1
              make_no_libbpf_O: make NO_LIBBPF=1
                  make_debug_O: make DEBUG=1
                make_no_newt_O: make NO_NEWT=1
              make_clean_all_O: make clean all
           make_no_backtrace_O: make NO_BACKTRACE=1
            make_no_demangle_O: make NO_DEMANGLE=1
                   make_pure_O: make
         make_install_prefix_O: make install prefix=/tmp/krava
            make_no_auxtrace_O: make NO_AUXTRACE=1
             make_no_libperl_O: make NO_LIBPERL=1
                    make_doc_O: make doc
        make_with_babeltrace_O: make LIBBABELTRACE=1
                 make_static_O: make LDFLAGS=-static
              make_no_libelf_O: make NO_LIBELF=1
             make_no_libnuma_O: make NO_LIBNUMA=1
       make_util_pmu_bison_o_O: make util/pmu-bison.o
           make_no_libunwind_O: make NO_LIBUNWIND=1
             make_no_scripts_O: make NO_LIBPYTHON=1 NO_LIBPERL=1
                   make_tags_O: make tags
                   make_help_O: make help
                make_install_O: make install
           make_no_libpython_O: make NO_LIBPYTHON=1
           make_no_libbionic_O: make NO_LIBBIONIC=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_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_perf_o_O: make perf.o
  OK
  make: Leaving directory '/home/acme/git/linux/tools/perf'
  $

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [PATCH 1/7] perf tools: Pass PYTHON config to feature detection
  2017-04-13 19:35 [GIT PULL 0/7] perf/core improvements and fixes Arnaldo Carvalho de Melo
@ 2017-04-13 19:35 ` Arnaldo Carvalho de Melo
  2017-04-13 19:35 ` [PATCH 2/7] perf stat: Fix bug in handling events in error state Arnaldo Carvalho de Melo
                   ` (6 subsequent siblings)
  7 siblings, 0 replies; 10+ messages in thread
From: Arnaldo Carvalho de Melo @ 2017-04-13 19:35 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: linux-kernel, David Carrillo-Cisneros, Alexander Shishkin,
	Andi Kleen, He Kuang, Masami Hiramatsu, Paul Turner,
	Peter Zijlstra, Simon Que, Stephane Eranian, Wang Nan,
	Arnaldo Carvalho de Melo

From: David Carrillo-Cisneros <davidcc@google.com>

( This is a rebased version of https://lkml.org/lkml/2017/2/7/662 )

Python's CC and link Makefile variables were not passed to feature
detection, causing feature detection to use system's Python rather than
PYTHON_CONFIG's one. This created a mismatch between the detected Python
support and the one actually used by perf when PYTHON_CONFIG is
specified.

Fix it by moving Python's variable initialization to before feature
detection and pass FLAGS_PYTHON_EMBED to Python's feature detection's
build target.

Signed-off-by: David Carrillo-Cisneros <davidcc@google.com>
Acked-by: Jiri Olsa <jolsa@kernel.org>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Andi Kleen <ak@linux.intel.com>
Cc: He Kuang <hekuang@huawei.com>
Cc: Masami Hiramatsu <mhiramat@kernel.org>
Cc: Paul Turner <pjt@google.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Simon Que <sque@chromium.org>
Cc: Stephane Eranian <eranian@google.com>
Cc: Wang Nan <wangnan0@huawei.com>
Link: http://lkml.kernel.org/r/20170412064919.92449-2-davidcc@google.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
 tools/build/feature/Makefile |  2 +-
 tools/perf/Makefile.config   | 31 ++++++++++++-------------------
 2 files changed, 13 insertions(+), 20 deletions(-)

diff --git a/tools/build/feature/Makefile b/tools/build/feature/Makefile
index 09c9626ea666..523e587fe05f 100644
--- a/tools/build/feature/Makefile
+++ b/tools/build/feature/Makefile
@@ -175,7 +175,7 @@ $(OUTPUT)test-libperl.bin:
 	$(BUILD) $(FLAGS_PERL_EMBED)
 
 $(OUTPUT)test-libpython.bin:
-	$(BUILD)
+	$(BUILD) $(FLAGS_PYTHON_EMBED)
 
 $(OUTPUT)test-libpython-version.bin:
 	$(BUILD)
diff --git a/tools/perf/Makefile.config b/tools/perf/Makefile.config
index 2b656de99495..cfd6015229a2 100644
--- a/tools/perf/Makefile.config
+++ b/tools/perf/Makefile.config
@@ -170,13 +170,20 @@ PYTHON2_CONFIG := \
 override PYTHON_CONFIG := \
   $(call get-executable-or-default,PYTHON_CONFIG,$(PYTHON2_CONFIG))
 
-PYTHON_CONFIG_SQ := $(call shell-sq,$(PYTHON_CONFIG))
+grep-libs  = $(filter -l%,$(1))
+strip-libs  = $(filter-out -l%,$(1))
 
-PYTHON_EMBED_LDOPTS := $(shell $(PYTHON_CONFIG_SQ) --ldflags 2>/dev/null)
-PYTHON_EMBED_CCOPTS := $(shell $(PYTHON_CONFIG_SQ) --cflags 2>/dev/null)
+PYTHON_CONFIG_SQ := $(call shell-sq,$(PYTHON_CONFIG))
 
-ifeq ($(CC), clang)
-  PYTHON_EMBED_CCOPTS := $(filter-out -specs=%,$(PYTHON_EMBED_CCOPTS))
+ifdef PYTHON_CONFIG
+  PYTHON_EMBED_LDOPTS := $(shell $(PYTHON_CONFIG_SQ) --ldflags 2>/dev/null)
+  PYTHON_EMBED_LDFLAGS := $(call strip-libs,$(PYTHON_EMBED_LDOPTS))
+  PYTHON_EMBED_LIBADD := $(call grep-libs,$(PYTHON_EMBED_LDOPTS)) -lutil
+  PYTHON_EMBED_CCOPTS := $(shell $(PYTHON_CONFIG_SQ) --cflags 2>/dev/null)
+  ifeq ($(CC), clang)
+    PYTHON_EMBED_CCOPTS := $(filter-out -specs=%,$(PYTHON_EMBED_CCOPTS))
+  endif
+  FLAGS_PYTHON_EMBED := $(PYTHON_EMBED_CCOPTS) $(PYTHON_EMBED_LDOPTS)
 endif
 
 FEATURE_CHECK_CFLAGS-libpython := $(PYTHON_EMBED_CCOPTS)
@@ -554,8 +561,6 @@ ifndef NO_GTK2
   endif
 endif
 
-grep-libs  = $(filter -l%,$(1))
-strip-libs = $(filter-out -l%,$(1))
 
 ifdef NO_LIBPERL
   CFLAGS += -DNO_LIBPERL
@@ -603,21 +608,9 @@ else
       $(call disable-python,No 'python-config' tool was found: disables Python support - please install python-devel/python-dev)
     else
 
-      PYTHON_CONFIG_SQ := $(call shell-sq,$(PYTHON_CONFIG))
-
-      PYTHON_EMBED_LDOPTS := $(shell $(PYTHON_CONFIG_SQ) --ldflags 2>/dev/null)
-      PYTHON_EMBED_LDFLAGS := $(call strip-libs,$(PYTHON_EMBED_LDOPTS))
-      PYTHON_EMBED_LIBADD := $(call grep-libs,$(PYTHON_EMBED_LDOPTS)) -lutil
-      PYTHON_EMBED_CCOPTS := $(shell $(PYTHON_CONFIG_SQ) --cflags 2>/dev/null)
-      ifeq ($(CC), clang)
-        PYTHON_EMBED_CCOPTS := $(filter-out -specs=%,$(PYTHON_EMBED_CCOPTS))
-      endif
-      FLAGS_PYTHON_EMBED := $(PYTHON_EMBED_CCOPTS) $(PYTHON_EMBED_LDOPTS)
-
       ifneq ($(feature-libpython), 1)
         $(call disable-python,No 'Python.h' (for Python 2.x support) was found: disables Python support - please install python-devel/python-dev)
       else
-
         ifneq ($(feature-libpython-version), 1)
           $(warning Python 3 is not yet supported; please set)
           $(warning PYTHON and/or PYTHON_CONFIG appropriately.)
-- 
2.9.3

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH 2/7] perf stat: Fix bug in handling events in error state
  2017-04-13 19:35 [GIT PULL 0/7] perf/core improvements and fixes Arnaldo Carvalho de Melo
  2017-04-13 19:35 ` [PATCH 1/7] perf tools: Pass PYTHON config to feature detection Arnaldo Carvalho de Melo
@ 2017-04-13 19:35 ` Arnaldo Carvalho de Melo
  2017-04-13 19:35 ` [PATCH 3/7] perf trace: Add usage of --no-syscalls in man page Arnaldo Carvalho de Melo
                   ` (5 subsequent siblings)
  7 siblings, 0 replies; 10+ messages in thread
From: Arnaldo Carvalho de Melo @ 2017-04-13 19:35 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: linux-kernel, Stephane Eranian, Adrian Hunter,
	Alexander Shishkin, Andi Kleen, Mathieu Poirier, Paul Turner,
	Peter Zijlstra, Wang Nan, Arnaldo Carvalho de Melo

From: Stephane Eranian <eranian@google.com>

(This is a patch has been sitting in the Intel CQM/CMT driver series for
 a while, despite not depend on it. Sending it now independently since
 the series is being discarded.)

When an event is in error state, read() returns 0 instead of sizeof()
buffer. In certain modes, such as interval printing, ignoring the 0
return value may cause bogus count deltas to be computed and thus
invalid results printed.

This patch fixes this problem by modifying read_counters() to mark the
event as not scaled (scaled = -1) to force the printout routine to show
<NOT COUNTED>.

Signed-off-by: Stephane Eranian <eranian@google.com>
Reviewed-by: David Carrillo-Cisneros <davidcc@google.com>
Acked-by: Jiri Olsa <jolsa@redhat.com>
Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Andi Kleen <ak@linux.intel.com>
Cc: Mathieu Poirier <mathieu.poirier@linaro.org>
Cc: Paul Turner <pjt@google.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Wang Nan <wangnan0@huawei.com>
Link: http://lkml.kernel.org/r/20170412182301.44406-1-davidcc@google.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
 tools/perf/builtin-stat.c | 12 +++++++++---
 tools/perf/util/evsel.c   |  4 ++--
 2 files changed, 11 insertions(+), 5 deletions(-)

diff --git a/tools/perf/builtin-stat.c b/tools/perf/builtin-stat.c
index 868e086a6b59..610225b6326e 100644
--- a/tools/perf/builtin-stat.c
+++ b/tools/perf/builtin-stat.c
@@ -312,8 +312,12 @@ static int read_counter(struct perf_evsel *counter)
 			struct perf_counts_values *count;
 
 			count = perf_counts(counter->counts, cpu, thread);
-			if (perf_evsel__read(counter, cpu, thread, count))
+			if (perf_evsel__read(counter, cpu, thread, count)) {
+				counter->counts->scaled = -1;
+				perf_counts(counter->counts, cpu, thread)->ena = 0;
+				perf_counts(counter->counts, cpu, thread)->run = 0;
 				return -1;
+			}
 
 			if (STAT_RECORD) {
 				if (perf_evsel__write_stat_event(counter, cpu, thread, count)) {
@@ -338,12 +342,14 @@ static int read_counter(struct perf_evsel *counter)
 static void read_counters(void)
 {
 	struct perf_evsel *counter;
+	int ret;
 
 	evlist__for_each_entry(evsel_list, counter) {
-		if (read_counter(counter))
+		ret = read_counter(counter);
+		if (ret)
 			pr_debug("failed to read counter %s\n", counter->name);
 
-		if (perf_stat_process_counter(&stat_config, counter))
+		if (ret == 0 && perf_stat_process_counter(&stat_config, counter))
 			pr_warning("failed to process counter %s\n", counter->name);
 	}
 }
diff --git a/tools/perf/util/evsel.c b/tools/perf/util/evsel.c
index 8f5d86bd3501..3779b9f3f134 100644
--- a/tools/perf/util/evsel.c
+++ b/tools/perf/util/evsel.c
@@ -1239,7 +1239,7 @@ int perf_evsel__read(struct perf_evsel *evsel, int cpu, int thread,
 	if (FD(evsel, cpu, thread) < 0)
 		return -EINVAL;
 
-	if (readn(FD(evsel, cpu, thread), count, sizeof(*count)) < 0)
+	if (readn(FD(evsel, cpu, thread), count, sizeof(*count)) <= 0)
 		return -errno;
 
 	return 0;
@@ -1257,7 +1257,7 @@ int __perf_evsel__read_on_cpu(struct perf_evsel *evsel,
 	if (evsel->counts == NULL && perf_evsel__alloc_counts(evsel, cpu + 1, thread + 1) < 0)
 		return -ENOMEM;
 
-	if (readn(FD(evsel, cpu, thread), &count, nv * sizeof(u64)) < 0)
+	if (readn(FD(evsel, cpu, thread), &count, nv * sizeof(u64)) <= 0)
 		return -errno;
 
 	perf_evsel__compute_deltas(evsel, cpu, thread, &count);
-- 
2.9.3

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH 3/7] perf trace: Add usage of --no-syscalls in man page
  2017-04-13 19:35 [GIT PULL 0/7] perf/core improvements and fixes Arnaldo Carvalho de Melo
  2017-04-13 19:35 ` [PATCH 1/7] perf tools: Pass PYTHON config to feature detection Arnaldo Carvalho de Melo
  2017-04-13 19:35 ` [PATCH 2/7] perf stat: Fix bug in handling events in error state Arnaldo Carvalho de Melo
@ 2017-04-13 19:35 ` Arnaldo Carvalho de Melo
  2017-04-13 19:35 ` [PATCH 4/7] perf tools: Disable JVMTI if no ELF support available Arnaldo Carvalho de Melo
                   ` (4 subsequent siblings)
  7 siblings, 0 replies; 10+ messages in thread
From: Arnaldo Carvalho de Melo @ 2017-04-13 19:35 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: linux-kernel, Ravi Bangoria, Alexander Shishkin,
	Alexis Berlemont, Peter Zijlstra, Arnaldo Carvalho de Melo

From: Ravi Bangoria <ravi.bangoria@linux.vnet.ibm.com>

perf trace supports --no-syscalls option but it's not listed in the man
page. (Though, I see an example using --no-syscalls in EXAMPLES
section.)

Committer note:

The --no-syscalls option tells 'perf trace' not to automagically ask for
raw_syscalls:sys_{enter,exit} to then format it in a strace like way.

This become more used as 'perf trace' got support for arbitrary events,
such as tracepoints, so more and more we use:

  # perf trace --no-syscalls -e nmi:*
     0.000 nmi:nmi_handler:perf_event_nmi_handler() delta_ns: 36649 handled: 1)
     0.019 nmi:nmi_handler:nmi_cpu_backtrace_handler() delta_ns: 2907 handled: 0)
     0.676 nmi:nmi_handler:perf_event_nmi_handler() delta_ns: 9401 handled: 1)
     0.680 nmi:nmi_handler:nmi_cpu_backtrace_handler() delta_ns: 288 handled: 0)
     0.701 nmi:nmi_handler:perf_event_nmi_handler() delta_ns: 4977 handled: 1)
     0.703 nmi:nmi_handler:nmi_cpu_backtrace_handler() delta_ns: 67 handled: 0)
     0.736 nmi:nmi_handler:perf_event_nmi_handler() delta_ns: 8549 handled: 1)
  ^C#

Signed-off-by: Ravi Bangoria <ravi.bangoria@linux.vnet.ibm.com>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Alexis Berlemont <alexis.berlemont@gmail.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Link: http://lkml.kernel.org/r/1492063332-5745-1-git-send-email-ravi.bangoria@linux.vnet.ibm.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
 tools/perf/Documentation/perf-trace.txt | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/tools/perf/Documentation/perf-trace.txt b/tools/perf/Documentation/perf-trace.txt
index afd728672b6f..c1e3288a2dfb 100644
--- a/tools/perf/Documentation/perf-trace.txt
+++ b/tools/perf/Documentation/perf-trace.txt
@@ -123,7 +123,8 @@ the thread executes on the designated CPUs. Default is to monitor all CPUs.
 	major or all pagefaults. Default value is maj.
 
 --syscalls::
-	Trace system calls. This options is enabled by default.
+	Trace system calls. This options is enabled by default, disable with
+	--no-syscalls.
 
 --call-graph [mode,type,min[,limit],order[,key][,branch]]::
         Setup and enable call-graph (stack chain/backtrace) recording.
-- 
2.9.3

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH 4/7] perf tools: Disable JVMTI if no ELF support available
  2017-04-13 19:35 [GIT PULL 0/7] perf/core improvements and fixes Arnaldo Carvalho de Melo
                   ` (2 preceding siblings ...)
  2017-04-13 19:35 ` [PATCH 3/7] perf trace: Add usage of --no-syscalls in man page Arnaldo Carvalho de Melo
@ 2017-04-13 19:35 ` Arnaldo Carvalho de Melo
  2017-04-13 19:35 ` [PATCH 5/7] tools build: Fix feature detection redefinion of build flags Arnaldo Carvalho de Melo
                   ` (3 subsequent siblings)
  7 siblings, 0 replies; 10+ messages in thread
From: Arnaldo Carvalho de Melo @ 2017-04-13 19:35 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: linux-kernel, David Carrillo-Cisneros, Alexander Shishkin,
	Andi Kleen, He Kuang, Masami Hiramatsu, Paul Turner,
	Peter Zijlstra, Simon Que, Stephane Eranian, Wang Nan,
	Arnaldo Carvalho de Melo

From: David Carrillo-Cisneros <davidcc@google.com>

The build of JVMTI depends on LIBELF (-lelf). Make Makefile.conf
check this dependendancy and notify user when not present.

v2: Comma nitpicking.

Signed-off-by: David Carrillo-Cisneros <davidcc@google.com>
Tested-by: Kim Phillips <kim.phillips@arm.com>
Acked-by: Jiri Olsa <jolsa@kernel.org>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Andi Kleen <ak@linux.intel.com>
Cc: He Kuang <hekuang@huawei.com>
Cc: Masami Hiramatsu <mhiramat@kernel.org>
Cc: Paul Turner <pjt@google.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Simon Que <sque@chromium.org>
Cc: Stephane Eranian <eranian@google.com>
Cc: Wang Nan <wangnan0@huawei.com>
Link: http://lkml.kernel.org/r/20170412170745.26620-1-davidcc@google.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
 tools/perf/Makefile.config | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/tools/perf/Makefile.config b/tools/perf/Makefile.config
index cfd6015229a2..8354d04b392f 100644
--- a/tools/perf/Makefile.config
+++ b/tools/perf/Makefile.config
@@ -274,6 +274,7 @@ ifdef NO_LIBELF
   NO_LIBUNWIND := 1
   NO_LIBDW_DWARF_UNWIND := 1
   NO_LIBBPF := 1
+  NO_JVMTI := 1
 else
   ifeq ($(feature-libelf), 0)
     ifeq ($(feature-glibc), 1)
@@ -283,7 +284,7 @@ else
       LIBC_SUPPORT := 1
     endif
     ifeq ($(LIBC_SUPPORT),1)
-      msg := $(warning No libelf found, disables 'probe' tool and BPF support in 'perf record', please install libelf-dev, libelf-devel or elfutils-libelf-devel);
+      msg := $(warning No libelf found. Disables 'probe' tool, jvmti and BPF support in 'perf record'. Please install libelf-dev, libelf-devel or elfutils-libelf-devel);
 
       NO_LIBELF := 1
       NO_DWARF := 1
@@ -291,6 +292,7 @@ else
       NO_LIBUNWIND := 1
       NO_LIBDW_DWARF_UNWIND := 1
       NO_LIBBPF := 1
+      NO_JVMTI := 1
     else
       ifneq ($(filter s% -static%,$(LDFLAGS),),)
         msg := $(error No static glibc found, please install glibc-static);
-- 
2.9.3

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH 5/7] tools build: Fix feature detection redefinion of build flags
  2017-04-13 19:35 [GIT PULL 0/7] perf/core improvements and fixes Arnaldo Carvalho de Melo
                   ` (3 preceding siblings ...)
  2017-04-13 19:35 ` [PATCH 4/7] perf tools: Disable JVMTI if no ELF support available Arnaldo Carvalho de Melo
@ 2017-04-13 19:35 ` Arnaldo Carvalho de Melo
  2017-04-13 19:35 ` [PATCH 6/7] perf util: Hint missing file when tool tips fail to load Arnaldo Carvalho de Melo
                   ` (2 subsequent siblings)
  7 siblings, 0 replies; 10+ messages in thread
From: Arnaldo Carvalho de Melo @ 2017-04-13 19:35 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: linux-kernel, David Carrillo-Cisneros, Alexander Shishkin,
	Andi Kleen, He Kuang, Jiri Olsa, Masami Hiramatsu, Paul Turner,
	Peter Zijlstra, Simon Que, Stephane Eranian, Wang Nan,
	Arnaldo Carvalho de Melo

From: David Carrillo-Cisneros <davidcc@google.com>

This change is a follow up of https://lkml.org/lkml/2017/2/2/16

The patch above avoided redefining CC, CXX and PKG_CONFIG in feature
detection. The patch was not merged due to a unsolved concern with the
-MD flag.

Later, commit c8c188679ccf ("tools build: Use the same CC for feature
detection and actual build") did the change for CC and CXX but not
PKG_CONFIG.

This patch makes PKG_CONFIG consistent with CC and CXX and moves the -MD
to CFLAGS, as suggested by Jiri in the thread above.

Signed-off-by: David Carrillo-Cisneros <davidcc@google.com>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Andi Kleen <ak@linux.intel.com>
Cc: He Kuang <hekuang@huawei.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Masami Hiramatsu <mhiramat@kernel.org>
Cc: Paul Turner <pjt@google.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Simon Que <sque@chromium.org>
Cc: Stephane Eranian <eranian@google.com>
Cc: Wang Nan <wangnan0@huawei.com>
Link: http://lkml.kernel.org/r/20170412064919.92449-3-davidcc@google.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
 tools/build/feature/Makefile | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/tools/build/feature/Makefile b/tools/build/feature/Makefile
index 523e587fe05f..e35e4e5ad192 100644
--- a/tools/build/feature/Makefile
+++ b/tools/build/feature/Makefile
@@ -53,17 +53,17 @@ FILES=                                          \
 
 FILES := $(addprefix $(OUTPUT),$(FILES))
 
-CC ?= $(CROSS_COMPILE)gcc -MD
-CXX ?= $(CROSS_COMPILE)g++ -MD
-PKG_CONFIG := $(CROSS_COMPILE)pkg-config
+CC ?= $(CROSS_COMPILE)gcc
+CXX ?= $(CROSS_COMPILE)g++
+PKG_CONFIG ?= $(CROSS_COMPILE)pkg-config
 LLVM_CONFIG ?= llvm-config
 
 all: $(FILES)
 
-__BUILD = $(CC) $(CFLAGS) -Wall -Werror -o $@ $(patsubst %.bin,%.c,$(@F)) $(LDFLAGS)
+__BUILD = $(CC) $(CFLAGS) -MD -Wall -Werror -o $@ $(patsubst %.bin,%.c,$(@F)) $(LDFLAGS)
   BUILD = $(__BUILD) > $(@:.bin=.make.output) 2>&1
 
-__BUILDXX = $(CXX) $(CXXFLAGS) -Wall -Werror -o $@ $(patsubst %.bin,%.cpp,$(@F)) $(LDFLAGS)
+__BUILDXX = $(CXX) $(CXXFLAGS) -MD -Wall -Werror -o $@ $(patsubst %.bin,%.cpp,$(@F)) $(LDFLAGS)
   BUILDXX = $(__BUILDXX) > $(@:.bin=.make.output) 2>&1
 
 ###############################
-- 
2.9.3

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH 6/7] perf util: Hint missing file when tool tips fail to load
  2017-04-13 19:35 [GIT PULL 0/7] perf/core improvements and fixes Arnaldo Carvalho de Melo
                   ` (4 preceding siblings ...)
  2017-04-13 19:35 ` [PATCH 5/7] tools build: Fix feature detection redefinion of build flags Arnaldo Carvalho de Melo
@ 2017-04-13 19:35 ` Arnaldo Carvalho de Melo
  2017-04-13 19:35 ` [PATCH 7/7] Revert "perf tools: Fix include of linux/mman.h" Arnaldo Carvalho de Melo
  2017-04-14 16:07 ` [GIT PULL 0/7] perf/core improvements and fixes Arnaldo Carvalho de Melo
  7 siblings, 0 replies; 10+ messages in thread
From: Arnaldo Carvalho de Melo @ 2017-04-13 19:35 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: linux-kernel, David Carrillo-Cisneros, Alexander Shishkin,
	Andi Kleen, He Kuang, Masami Hiramatsu, Paul Turner,
	Peter Zijlstra, Simon Que, Stephane Eranian, Wang Nan,
	Arnaldo Carvalho de Melo

From: David Carrillo-Cisneros <davidcc@google.com>

Besides memory allocation failure, tips.txt may fail to load because the
file is not found (a more likely cause).

Communicate that to the user in tips failure warning.

Signed-off-by: David Carrillo-Cisneros <davidcc@google.com>
Acked-by: Jiri Olsa <jolsa@kernel.org>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Andi Kleen <ak@linux.intel.com>
Cc: He Kuang <hekuang@huawei.com>
Cc: Masami Hiramatsu <mhiramat@kernel.org>
Cc: Paul Turner <pjt@google.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Simon Que <sque@chromium.org>
Cc: Stephane Eranian <eranian@google.com>
Cc: Wang Nan <wangnan0@huawei.com>
Link: http://lkml.kernel.org/r/20170412064919.92449-5-davidcc@google.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
 tools/perf/util/util.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/tools/perf/util/util.c b/tools/perf/util/util.c
index d8b45cea54d0..6097d87429e2 100644
--- a/tools/perf/util/util.c
+++ b/tools/perf/util/util.c
@@ -696,7 +696,8 @@ const char *perf_tip(const char *dirpath)
 
 	tips = strlist__new("tips.txt", &conf);
 	if (tips == NULL)
-		return errno == ENOENT ? NULL : "Tip: get more memory! ;-p";
+		return errno == ENOENT ? NULL :
+			"Tip: check path of tips.txt or get more memory! ;-p";
 
 	if (strlist__nr_entries(tips) == 0)
 		goto out;
-- 
2.9.3

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH 7/7] Revert "perf tools: Fix include of linux/mman.h"
  2017-04-13 19:35 [GIT PULL 0/7] perf/core improvements and fixes Arnaldo Carvalho de Melo
                   ` (5 preceding siblings ...)
  2017-04-13 19:35 ` [PATCH 6/7] perf util: Hint missing file when tool tips fail to load Arnaldo Carvalho de Melo
@ 2017-04-13 19:35 ` Arnaldo Carvalho de Melo
  2017-04-14 16:07 ` [GIT PULL 0/7] perf/core improvements and fixes Arnaldo Carvalho de Melo
  7 siblings, 0 replies; 10+ messages in thread
From: Arnaldo Carvalho de Melo @ 2017-04-13 19:35 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: linux-kernel, David Carrillo-Cisneros, Alexander Shishkin,
	Andi Kleen, He Kuang, Masami Hiramatsu, Paul Turner,
	Peter Zijlstra, Simon Que, Stephane Eranian, Wang Nan,
	Arnaldo Carvalho de Melo

From: David Carrillo-Cisneros <davidcc@google.com>

In https://lkml.org/lkml/2017/2/2/16 I reported a build error that I
believed was caused by wrong uapi includes. The synthom was fixed by
Arnaldo in:

 commit 2f7db5557994 ("perf tools: Fix include of linux/mman.h")

but I was wrong attributing the problem to the uapi include.

The root cause was that I was using ARCH=x86_64, hence using the wrong
uapi include path. This explains why no one else ran into this build
problem.

Signed-off-by: David Carrillo-Cisneros <davidcc@google.com>
Acked-by: Jiri Olsa <jolsa@kernel.org>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Andi Kleen <ak@linux.intel.com>
Cc: He Kuang <hekuang@huawei.com>
Cc: Masami Hiramatsu <mhiramat@kernel.org>
Cc: Paul Turner <pjt@google.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Simon Que <sque@chromium.org>
Cc: Stephane Eranian <eranian@google.com>
Cc: Wang Nan <wangnan0@huawei.com>
Link: http://lkml.kernel.org/r/20170412064919.92449-8-davidcc@google.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
 tools/perf/util/event.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/perf/util/event.c b/tools/perf/util/event.c
index 8255a26ac255..4d7e65fa9d86 100644
--- a/tools/perf/util/event.c
+++ b/tools/perf/util/event.c
@@ -1,5 +1,5 @@
 #include <linux/types.h>
-#include <linux/mman.h> /* To get things like MAP_HUGETLB even on older libc headers */
+#include <uapi/linux/mman.h> /* To get things like MAP_HUGETLB even on older libc headers */
 #include <api/fs/fs.h>
 #include "event.h"
 #include "debug.h"
-- 
2.9.3

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* Re: [GIT PULL 0/7] perf/core improvements and fixes
  2017-04-13 19:35 [GIT PULL 0/7] perf/core improvements and fixes Arnaldo Carvalho de Melo
                   ` (6 preceding siblings ...)
  2017-04-13 19:35 ` [PATCH 7/7] Revert "perf tools: Fix include of linux/mman.h" Arnaldo Carvalho de Melo
@ 2017-04-14 16:07 ` Arnaldo Carvalho de Melo
  2017-04-17  8:15   ` Ingo Molnar
  7 siblings, 1 reply; 10+ messages in thread
From: Arnaldo Carvalho de Melo @ 2017-04-14 16:07 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: linux-kernel, Adrian Hunter, Alexander Shishkin,
	Alexis Berlemont, Andi Kleen, David Carrillo-Cisneros, He Kuang,
	Jiri Olsa, Kim Phillips, Masami Hiramatsu, Mathieu Poirier,
	Paul Turner, Peter Zijlstra, Ravi Bangoria, Simon Que,
	Stephane Eranian, Wang Nan

Em Thu, Apr 13, 2017 at 04:35:29PM -0300, Arnaldo Carvalho de Melo escreveu:
> Hi Ingo,
> 
> 	Please consider pulling,
> 
> - Arnaldo
> 
> Test results at the end of this message, as usual.

Ooops, here is the missing output from 'git-request-pull':

The following changes since commit a8d11cd0714f51877587f5ec891013ca46e163ac:

  kprobes/x86: Consolidate insn decoder users for copying code (2017-04-12 09:23:47 +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-4.12-20170413

for you to fetch changes up to 16eb81365b70266c17d1141ef9b32c3110b22d17:

  Revert "perf tools: Fix include of linux/mman.h" (2017-04-13 11:54:46 -0300)

----------------------------------------------------------------
perf/core improvements and fixes:

User visible:

- Fix bug 'perf stat' in handling events in error state (Stephane Eranian)

Documentation:

- Add usage of --no-syscalls in 'perf trace' man page (Ravi Bangoria)

Infrastructure:

- Pass PYTHON config to feature detection (David Carrillo-Cisneros)

- Disable JVMTI if no ELF support available (David Carrillo-Cisneros)

- Fix feature detection redefinion of build flags (David Carrillo-Cisneros)

- Hint missing file when tool tips fail to load (David Carrillo-Cisneros)

Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>

----------------------------------------------------------------
David Carrillo-Cisneros (5):
      perf tools: Pass PYTHON config to feature detection
      perf tools: Disable JVMTI if no ELF support available
      tools build: Fix feature detection redefinion of build flags
      perf util: Hint missing file when tool tips fail to load
      Revert "perf tools: Fix include of linux/mman.h"

Ravi Bangoria (1):
      perf trace: Add usage of --no-syscalls in man page

Stephane Eranian (1):
      perf stat: Fix bug in handling events in error state

 tools/build/feature/Makefile            | 12 +++++------
 tools/perf/Documentation/perf-trace.txt |  3 ++-
 tools/perf/Makefile.config              | 35 ++++++++++++++-------------------
 tools/perf/builtin-stat.c               | 12 ++++++++---
 tools/perf/util/event.c                 |  2 +-
 tools/perf/util/evsel.c                 |  4 ++--
 tools/perf/util/util.c                  |  3 ++-
 7 files changed, 37 insertions(+), 34 deletions(-)
 
> Test results:
> 
> The first ones are container (docker) based builds of tools/perf with and
> without libelf support, objtool where it is supported and samples/bpf/, ditto.
> Where clang is available, it is also used to build perf with/without libelf.
> 
> For this specific pull request the samples/bpf/ was disabled, as 'make headers_install'
> is failing with the following error, in this case in fedora:rawhide:
> 
>     INSTALL usr/include/uapi/ (0 file)
>   /git/linux/scripts/Makefile.headersinst:62: *** Missing generated UAPI file ./arch/x86/include/generated/uapi/asm/unistd_32.h.  Stop.
>   make[1]: *** [/git/linux/Makefile:1151: headers_install] Error 2
>   make[1]: Leaving directory '/tmp/build/linux'
>   make: *** [Makefile:152: sub-make] Error 2
>   make: Leaving directory '/git/linux'
> 
> I'll investigate later, perf and objtool builds just fine, with clang and gcc.
> 
> 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
>    2 alpine:3.5: Ok
>    3 alpine:edge: Ok
>    4 android-ndk:r12b-arm: Ok
>    5 archlinux:latest: Ok
>    6 centos:5: Ok
>    7 centos:6: Ok
>    8 centos:7: Ok
>    9 debian:7: Ok
>   10 debian:8: Ok
>   11 debian:9: Ok
>   12 debian:experimental: Ok
>   13 debian:experimental-x-arm64: Ok
>   14 debian:experimental-x-mips: Ok
>   15 debian:experimental-x-mips64: Ok
>   16 debian:experimental-x-mipsel: Ok
>   17 fedora:20: Ok
>   18 fedora:21: Ok
>   19 fedora:22: Ok
>   20 fedora:23: Ok
>   21 fedora:24: Ok
>   22 fedora:24-x-ARC-uClibc: Ok
>   23 fedora:25: Ok
>   24 fedora:rawhide: Ok
>   25 mageia:5: Ok
>   26 opensuse:13.2: Ok
>   27 opensuse:42.1: Ok
>   28 opensuse:tumbleweed: Ok
>   29 ubuntu:12.04.5: Ok
>   30 ubuntu:14.04.4: Ok
>   31 ubuntu:14.04.4-x-linaro-arm64: Ok
>   32 ubuntu:15.10: Ok
>   33 ubuntu:16.04: Ok
>   34 ubuntu:16.04-x-arm: Ok
>   35 ubuntu:16.04-x-arm64: Ok
>   36 ubuntu:16.04-x-powerpc: Ok
>   37 ubuntu:16.04-x-powerpc64: Ok
>   38 ubuntu:16.04-x-s390: Ok
>   39 ubuntu:16.10: Ok
>   40 ubuntu:17.04: Ok
>   # 
> 
>   # uname -a
>   Linux jouet 4.11.0-rc6+ #7 SMP Tue Apr 11 11:53:14 -03 2017 x86_64 x86_64 x86_64 GNU/Linux
>   # 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: Parse event definition strings             : Ok
>    6: Simple expression parser                   : Ok
>    7: PERF_RECORD_* events & perf_sample fields  : Ok
>    8: Parse perf pmu format                      : Ok
>    9: DSO data read                              : Ok
>   10: DSO data cache                             : Ok
>   11: DSO data reopen                            : Ok
>   12: Roundtrip evsel->name                      : Ok
>   13: Parse sched tracepoints fields             : Ok
>   14: syscalls:sys_enter_openat event fields     : Ok
>   15: Setup struct perf_event_attr               : Ok
>   16: Match and link multiple hists              : Ok
>   17: 'import perf' in python                    : Ok
>   18: Breakpoint overflow signal handler         : Ok
>   19: Breakpoint overflow sampling               : Ok
>   20: Number of exit events of a simple workload : Ok
>   21: Software clock events period values        : Ok
>   22: Object code reading                        : Ok
>   23: Sample parsing                             : Ok
>   24: Use a dummy software event to keep tracking: Ok
>   25: Parse with no sample_id_all bit set        : Ok
>   26: Filter hist entries                        : Ok
>   27: Lookup mmap thread                         : Ok
>   28: Share thread mg                            : Ok
>   29: Sort output of hist entries                : Ok
>   30: Cumulate child hist entries                : Ok
>   31: Track with sched_switch                    : Ok
>   32: Filter fds with revents mask in a fdarray  : Ok
>   33: Add fd to a fdarray, making it autogrow    : Ok
>   34: kmod_path__parse                           : Ok
>   35: Thread map                                 : Ok
>   36: LLVM search and compile                    :
>   36.1: Basic BPF llvm compile                    : Ok
>   36.2: kbuild searching                          : Ok
>   36.3: Compile source for BPF prologue generation: Ok
>   36.4: Compile source for BPF relocation         : Ok
>   37: Session topology                           : Ok
>   38: BPF filter                                 :
>   38.1: Basic BPF filtering                      : Ok
>   38.2: BPF pinning                              : Ok
>   38.3: BPF prologue generation                  : Ok
>   38.4: BPF relocation checker                   : Ok
>   39: Synthesize thread map                      : Ok
>   40: Remove thread map                          : Ok
>   41: Synthesize cpu map                         : Ok
>   42: Synthesize stat config                     : Ok
>   43: Synthesize stat                            : Ok
>   44: Synthesize stat round                      : Ok
>   45: Synthesize attr update                     : Ok
>   46: Event times                                : Ok
>   47: Read backward ring buffer                  : Ok
>   48: Print cpu map                              : Ok
>   49: Probe SDT events                           : Ok
>   50: is_printable_array                         : Ok
>   51: Print bitmap                               : Ok
>   52: perf hooks                                 : Ok
>   53: builtin clang support                      : Skip (not compiled in)
>   54: unit_number__scnprintf                     : Ok
>   55: x86 rdpmc                                  : Ok
>   56: Convert perf time to TSC                   : Ok
>   57: DWARF unwind                               : Ok
>   58: x86 instruction decoder - new instructions : Ok
>   59: Intel cqm nmi context read                 : Skip
>   #
> 
>   $ perf stat make -C tools/perf build-test
>   make: Entering directory '/home/acme/git/linux/tools/perf'
>   - tarpkg: ./tests/perf-targz-src-pkg .
>                   make_no_ui_O: make NO_NEWT=1 NO_SLANG=1 NO_GTK2=1
>   make_no_libdw_dwarf_unwind_O: make NO_LIBDW_DWARF_UNWIND=1
>          make_with_clangllvm_O: make LIBCLANGLLVM=1
>             make_install_bin_O: make install-bin
>              make_util_map_o_O: make util/map.o
>                make_no_slang_O: make NO_SLANG=1
>               make_no_libbpf_O: make NO_LIBBPF=1
>                   make_debug_O: make DEBUG=1
>                 make_no_newt_O: make NO_NEWT=1
>               make_clean_all_O: make clean all
>            make_no_backtrace_O: make NO_BACKTRACE=1
>             make_no_demangle_O: make NO_DEMANGLE=1
>                    make_pure_O: make
>          make_install_prefix_O: make install prefix=/tmp/krava
>             make_no_auxtrace_O: make NO_AUXTRACE=1
>              make_no_libperl_O: make NO_LIBPERL=1
>                     make_doc_O: make doc
>         make_with_babeltrace_O: make LIBBABELTRACE=1
>                  make_static_O: make LDFLAGS=-static
>               make_no_libelf_O: make NO_LIBELF=1
>              make_no_libnuma_O: make NO_LIBNUMA=1
>        make_util_pmu_bison_o_O: make util/pmu-bison.o
>            make_no_libunwind_O: make NO_LIBUNWIND=1
>              make_no_scripts_O: make NO_LIBPYTHON=1 NO_LIBPERL=1
>                    make_tags_O: make tags
>                    make_help_O: make help
>                 make_install_O: make install
>            make_no_libpython_O: make NO_LIBPYTHON=1
>            make_no_libbionic_O: make NO_LIBBIONIC=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_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_perf_o_O: make perf.o
>   OK
>   make: Leaving directory '/home/acme/git/linux/tools/perf'
>   $

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [GIT PULL 0/7] perf/core improvements and fixes
  2017-04-14 16:07 ` [GIT PULL 0/7] perf/core improvements and fixes Arnaldo Carvalho de Melo
@ 2017-04-17  8:15   ` Ingo Molnar
  0 siblings, 0 replies; 10+ messages in thread
From: Ingo Molnar @ 2017-04-17  8:15 UTC (permalink / raw)
  To: Arnaldo Carvalho de Melo
  Cc: linux-kernel, Adrian Hunter, Alexander Shishkin,
	Alexis Berlemont, Andi Kleen, David Carrillo-Cisneros, He Kuang,
	Jiri Olsa, Kim Phillips, Masami Hiramatsu, Mathieu Poirier,
	Paul Turner, Peter Zijlstra, Ravi Bangoria, Simon Que,
	Stephane Eranian, Wang Nan


* Arnaldo Carvalho de Melo <acme@kernel.org> wrote:

> Em Thu, Apr 13, 2017 at 04:35:29PM -0300, Arnaldo Carvalho de Melo escreveu:
> > Hi Ingo,
> > 
> > 	Please consider pulling,
> > 
> > - Arnaldo
> > 
> > Test results at the end of this message, as usual.
> 
> Ooops, here is the missing output from 'git-request-pull':
> 
> The following changes since commit a8d11cd0714f51877587f5ec891013ca46e163ac:
> 
>   kprobes/x86: Consolidate insn decoder users for copying code (2017-04-12 09:23:47 +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-4.12-20170413
> 
> for you to fetch changes up to 16eb81365b70266c17d1141ef9b32c3110b22d17:
> 
>   Revert "perf tools: Fix include of linux/mman.h" (2017-04-13 11:54:46 -0300)
> 
> ----------------------------------------------------------------
> perf/core improvements and fixes:
> 
> User visible:
> 
> - Fix bug 'perf stat' in handling events in error state (Stephane Eranian)
> 
> Documentation:
> 
> - Add usage of --no-syscalls in 'perf trace' man page (Ravi Bangoria)
> 
> Infrastructure:
> 
> - Pass PYTHON config to feature detection (David Carrillo-Cisneros)
> 
> - Disable JVMTI if no ELF support available (David Carrillo-Cisneros)
> 
> - Fix feature detection redefinion of build flags (David Carrillo-Cisneros)
> 
> - Hint missing file when tool tips fail to load (David Carrillo-Cisneros)
> 
> Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
> 
> ----------------------------------------------------------------
> David Carrillo-Cisneros (5):
>       perf tools: Pass PYTHON config to feature detection
>       perf tools: Disable JVMTI if no ELF support available
>       tools build: Fix feature detection redefinion of build flags
>       perf util: Hint missing file when tool tips fail to load
>       Revert "perf tools: Fix include of linux/mman.h"
> 
> Ravi Bangoria (1):
>       perf trace: Add usage of --no-syscalls in man page
> 
> Stephane Eranian (1):
>       perf stat: Fix bug in handling events in error state
> 
>  tools/build/feature/Makefile            | 12 +++++------
>  tools/perf/Documentation/perf-trace.txt |  3 ++-
>  tools/perf/Makefile.config              | 35 ++++++++++++++-------------------
>  tools/perf/builtin-stat.c               | 12 ++++++++---
>  tools/perf/util/event.c                 |  2 +-
>  tools/perf/util/evsel.c                 |  4 ++--
>  tools/perf/util/util.c                  |  3 ++-
>  7 files changed, 37 insertions(+), 34 deletions(-)

Pulled, thanks a lot Arnaldo!

	Ingo

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2017-04-17  8:15 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-04-13 19:35 [GIT PULL 0/7] perf/core improvements and fixes Arnaldo Carvalho de Melo
2017-04-13 19:35 ` [PATCH 1/7] perf tools: Pass PYTHON config to feature detection Arnaldo Carvalho de Melo
2017-04-13 19:35 ` [PATCH 2/7] perf stat: Fix bug in handling events in error state Arnaldo Carvalho de Melo
2017-04-13 19:35 ` [PATCH 3/7] perf trace: Add usage of --no-syscalls in man page Arnaldo Carvalho de Melo
2017-04-13 19:35 ` [PATCH 4/7] perf tools: Disable JVMTI if no ELF support available Arnaldo Carvalho de Melo
2017-04-13 19:35 ` [PATCH 5/7] tools build: Fix feature detection redefinion of build flags Arnaldo Carvalho de Melo
2017-04-13 19:35 ` [PATCH 6/7] perf util: Hint missing file when tool tips fail to load Arnaldo Carvalho de Melo
2017-04-13 19:35 ` [PATCH 7/7] Revert "perf tools: Fix include of linux/mman.h" Arnaldo Carvalho de Melo
2017-04-14 16:07 ` [GIT PULL 0/7] perf/core improvements and fixes Arnaldo Carvalho de Melo
2017-04-17  8:15   ` 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.