stable.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [GIT PULL 00/13] perf/core improvements and fixes
@ 2016-10-06 16:11 Arnaldo Carvalho de Melo
  2016-10-06 16:11 ` [PATCH 02/13] perf intel-pt: Fix estimated timestamps for cycle-accurate mode Arnaldo Carvalho de Melo
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Arnaldo Carvalho de Melo @ 2016-10-06 16:11 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: linux-kernel, Linux Weekly News, Arnaldo Carvalho de Melo,
	Adrian Hunter, Alexander Shishkin, Alexei Starovoitov, Andi Kleen,
	Balbir Singh, Daniel Borkmann, David Ahern, David S . Miller,
	Donghyun Kim, He Kuang, Jiri Olsa, Masami Hiramatsu, Nambong Ha,
	Namhyung Kim, Naveen N . Rao, Peter Zijlstra, pi3orama,
	Ravi Bangoria, Seonyoung Kim, stable, Steven Rostedt,
	Sukadev Bhattiprolu, Taeung Song, Thomas Gleixner, Tony Luck,
	Wang Nan, Zefan Li, Arnaldo Carvalho de Melo

Hi Ingo,

	Please consider pulling,

- Arnaldo

Build and test stats at the end of the message.

The following changes since commit 8657355f5b5f657407efc12a2223e8a3a6d658de:

  Merge tag 'perf-core-for-mingo-20161003' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/urgent (2016-10-04 10:04: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-20161005

for you to fetch changes up to 87095f7ddeff3038a0cf8e6574922f9c11688619:

  tools build: Add feature detection for g++ (2016-10-05 19:59:35 -0300)

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

- Intel PT timestamp fixes (Adrian Hunter)

- Fix Intel JSON fixed counter conversions (Andi Kleen)

- Sync memcpy, cpufeatures and bpf headers with the kernel (Arnaldo Carvalho de Melo)

- Add some more tool tips (Donghyun Kim, Kim SeonYoung, Nambong Ha)

- Fix libtraceevent's kbuffer_read_at_offset() handling of offsets before or
  equal the first event (Namhyung Kim)

- Fix uretprobe probe placement on ppc64le (Ravi Bangoria)

- Support building C++ source files and add feature detection for g++,
  prep work for supporting a builtin clang/llvm, to remove the need for having
  that toolchain installed to automagically build BPF scriptlets that then
  gets uploaded to the kernel via sys_bpf() (Wang Nan)

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

----------------------------------------------------------------
Adrian Hunter (2):
      perf intel-pt: Fix estimated timestamps for cycle-accurate mode
      perf intel-pt: Fix MTC timestamp calculation for large MTC periods

Andi Kleen (1):
      perf jevents: Fix Intel JSON fixed counter conversions

Arnaldo Carvalho de Melo (3):
      perf bench mem: Sync memcpy assembly sources with the kernel
      tools: Synchronize tools/arch/x86/include/asm/cpufeatures.h
      tools: Synchronize tools/include/uapi/linux/bpf.h

Donghyun Kim (1):
      perf report/top: Add a tip about system-wide collection from all CPUs

Kim SeonYoung (1):
      perf report/top: Add a tip about source line numbers with overhead

Nambong Ha (1):
      perf top/report: Add tips about a list option

Namhyung Kim (1):
      tools lib traceevent: Fix kbuffer_read_at_offset()

Ravi Bangoria (1):
      perf uretprobe ppc64le: Fix probe location

Wang Nan (2):
      tools build: Support compiling C++ source file
      tools build: Add feature detection for g++

 tools/arch/x86/include/asm/cpufeatures.h           |  1 -
 tools/arch/x86/lib/memcpy_64.S                     |  6 ++--
 tools/build/Build.include                          |  1 +
 tools/build/Makefile.build                         |  7 ++++
 tools/build/Makefile.feature                       |  2 +-
 tools/build/feature/Makefile                       | 10 +++++-
 tools/build/feature/test-cxx.cpp                   | 15 +++++++++
 tools/include/uapi/linux/bpf.h                     |  4 +--
 tools/lib/traceevent/kbuffer-parse.c               |  1 +
 tools/perf/Documentation/tips.txt                  |  4 +++
 tools/perf/arch/powerpc/util/sym-handling.c        |  3 +-
 tools/perf/pmu-events/jevents.c                    |  2 ++
 .../perf/util/intel-pt-decoder/intel-pt-decoder.c  | 38 ++++++++++++++++++++++
 13 files changed, 85 insertions(+), 9 deletions(-)
 create mode 100644 tools/build/feature/test-cxx.cpp

  [root@jouet ~]# time dm
   1 alpine:3.4: Ok
   2 android-ndk:r12b-arm: Ok
   3 archlinux:latest: Ok
   4 centos:5: Ok
   5 centos:6: Ok
   6 centos:7: Ok
   7 debian:7: Ok
   8 debian:8: Ok
   9 debian:experimental: Ok
  10 fedora:20: Ok
  11 fedora:21: Ok
  12 fedora:22: Ok
  13 fedora:23: Ok
  14 fedora:24: Ok
  15 fedora:24-x-ARC-uClibc: Ok
  16 fedora:rawhide: Ok
  17 mageia:5: Ok
  18 opensuse:13.2: Ok
  19 opensuse:42.1: Ok
  20 opensuse:tumbleweed: Ok
  21 ubuntu:12.04.5: Ok
  22 ubuntu:14.04: Ok
  23 ubuntu:14.04.4: Ok
  24 ubuntu:15.10: Ok
  25 ubuntu:16.04: Ok
  26 ubuntu:16.04-x-arm: Ok
  27 ubuntu:16.04-x-arm64: Ok
  28 ubuntu:16.04-x-powerpc: Ok
  29 ubuntu:16.04-x-powerpc64: Ok
  30 ubuntu:16.04-x-powerpc64el: Ok
  31 ubuntu:16.04-x-s390: Ok
  32 ubuntu:16.10: Ok

  real    44m58.202s
  user    0m2.864s
  sys     0m1.975s
  [root@jouet ~]#

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

  [root@jouet ~]# 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 events tests                                       : Ok
   6: Validate PERF_RECORD_* events & perf_sample fields       : Ok
   7: Test perf pmu format parsing                             : Ok
   8: Test dso data read                                       : Ok
   9: Test dso data cache                                      : Ok
  10: Test dso data reopen                                     : Ok
  11: roundtrip evsel->name check                              : Ok
  12: Check parsing of sched tracepoints fields                : Ok
  13: Generate and check syscalls:sys_enter_openat event fields: Ok
  14: struct perf_event_attr setup                             : Ok
  15: Test matching and linking multiple hists                 : Ok
  16: Try 'import perf' in python, checking link problems      : Ok
  17: Test breakpoint overflow signal handler                  : Ok
  18: Test breakpoint overflow sampling                        : Ok
  19: Test number of exit event of a simple workload           : Ok
  20: Test software clock events have valid period values      : Ok
  21: Test object code reading                                 : Ok
  22: Test sample parsing                                      : Ok
  23: Test using a dummy software event to keep tracking       : Ok
  24: Test parsing with no sample_id_all bit set               : Ok
  25: Test filtering hist entries                              : Ok
  26: Test mmap thread lookup                                  : Ok
  27: Test thread mg sharing                                   : Ok
  28: Test output sorting of hist entries                      : Ok
  29: Test cumulation of child hist entries                    : Ok
  30: Test tracking with sched_switch                          : Ok
  31: Filter fds with revents mask in a fdarray                : Ok
  32: Add fd to a fdarray, making it autogrow                  : Ok
  33: Test kmod_path__parse function                           : Ok
  34: Test thread map                                          : Ok
  35: Test LLVM searching and compiling                        :
  35.1: Basic BPF llvm compiling test                          : Ok
  35.2: Test kbuild searching                                  : Ok
  35.3: Compile source for BPF prologue generation test        : Ok
  35.4: Compile source for BPF relocation test                 : Ok
  36: Test topology in session                                 : Ok
  37: Test BPF filter                                          :
  37.1: Test basic BPF filtering                               : Ok
  37.2: Test BPF prologue generation                           : Ok
  37.3: Test BPF relocation checker                            : Ok
  38: Test thread map synthesize                               : Ok
  39: Test cpu map synthesize                                  : Ok
  40: Test stat config synthesize                              : Ok
  41: Test stat synthesize                                     : Ok
  42: Test stat round synthesize                               : Ok
  43: Test attr update synthesize                              : Ok
  44: Test events times                                        : Ok
  45: Test backward reading from ring buffer                   : Ok
  46: Test cpu map print                                       : Ok
  47: Test SDT event probing                                   : Ok
  48: Test is_printable_array function                         : Ok
  49: Test bitmap print                                        : Ok
  50: x86 rdpmc test                                           : Ok
  51: Test converting perf time to TSC                         : Ok
  52: Test dwarf unwind                                        : Ok
  53: Test x86 instruction decoder - new instructions          : Ok
  54: Test intel cqm nmi context read                          : Skip
  [root@jouet ~]# 

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

* [PATCH 02/13] perf intel-pt: Fix estimated timestamps for cycle-accurate mode
  2016-10-06 16:11 [GIT PULL 00/13] perf/core improvements and fixes Arnaldo Carvalho de Melo
@ 2016-10-06 16:11 ` Arnaldo Carvalho de Melo
  2016-10-06 16:11 ` [PATCH 03/13] perf intel-pt: Fix MTC timestamp calculation for large MTC periods Arnaldo Carvalho de Melo
  2016-10-06 22:38 ` [GIT PULL 00/13] perf/core improvements and fixes Ingo Molnar
  2 siblings, 0 replies; 4+ messages in thread
From: Arnaldo Carvalho de Melo @ 2016-10-06 16:11 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: linux-kernel, Linux Weekly News, Adrian Hunter, Jiri Olsa, stable,
	#, v4.3+, Arnaldo Carvalho de Melo

From: Adrian Hunter <adrian.hunter@intel.com>

In cycle-accurate mode, timestamps can be calculated from CYC packets.
The decoder also estimates timestamps based on the number of
instructions since the last timestamp. For that to work in
cycle-accurate mode, the instruction count needs to be reset to zero
when a timestamp is calculated from a CYC packet, but that wasn't
happening, so fix it.

Signed-off-by: Adrian Hunter <adrian.hunter@intel.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: stable@vger.kernel.org # v4.3+
Link: http://lkml.kernel.org/r/1475062896-22274-1-git-send-email-adrian.hunter@intel.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/tools/perf/util/intel-pt-decoder/intel-pt-decoder.c b/tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
index 7591a0c37473..3d1d446f037f 100644
--- a/tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
+++ b/tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
@@ -1353,6 +1353,8 @@ static void intel_pt_calc_cyc_timestamp(struct intel_pt_decoder *decoder)
 			     timestamp, decoder->timestamp);
 	else
 		decoder->timestamp = timestamp;
+
+	decoder->timestamp_insn_cnt = 0;
 }
 
 /* Walk PSB+ packets when already in sync. */
-- 
2.7.4


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

* [PATCH 03/13] perf intel-pt: Fix MTC timestamp calculation for large MTC periods
  2016-10-06 16:11 [GIT PULL 00/13] perf/core improvements and fixes Arnaldo Carvalho de Melo
  2016-10-06 16:11 ` [PATCH 02/13] perf intel-pt: Fix estimated timestamps for cycle-accurate mode Arnaldo Carvalho de Melo
@ 2016-10-06 16:11 ` Arnaldo Carvalho de Melo
  2016-10-06 22:38 ` [GIT PULL 00/13] perf/core improvements and fixes Ingo Molnar
  2 siblings, 0 replies; 4+ messages in thread
From: Arnaldo Carvalho de Melo @ 2016-10-06 16:11 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: linux-kernel, Linux Weekly News, Adrian Hunter, Jiri Olsa, stable,
	#, v4.3+, Arnaldo Carvalho de Melo

From: Adrian Hunter <adrian.hunter@intel.com>

The MTC packet provides a 8-bit slice of CTC which is related to TSC by
the TMA packet, however the TMA packet only provides the lower 16 bits
of CTC.  If mtc_shift > 8 then some of the MTC bits are not in the CTC
provided by the TMA packet. Fix-up the last_mtc calculated from the TMA
packet by copying the missing bits from the current MTC assuming the
least difference between the two, and that the current MTC comes after
last_mtc.

Signed-off-by: Adrian Hunter <adrian.hunter@intel.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: stable@vger.kernel.org # v4.3+
Link: http://lkml.kernel.org/r/1475062896-22274-2-git-send-email-adrian.hunter@intel.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
 .../perf/util/intel-pt-decoder/intel-pt-decoder.c  | 36 ++++++++++++++++++++++
 1 file changed, 36 insertions(+)

diff --git a/tools/perf/util/intel-pt-decoder/intel-pt-decoder.c b/tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
index 3d1d446f037f..16c06d3ae577 100644
--- a/tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
+++ b/tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
@@ -90,6 +90,7 @@ struct intel_pt_decoder {
 	bool pge;
 	bool have_tma;
 	bool have_cyc;
+	bool fixup_last_mtc;
 	uint64_t pos;
 	uint64_t last_ip;
 	uint64_t ip;
@@ -586,10 +587,31 @@ struct intel_pt_calc_cyc_to_tsc_info {
 	uint64_t        tsc_timestamp;
 	uint64_t        timestamp;
 	bool            have_tma;
+	bool            fixup_last_mtc;
 	bool            from_mtc;
 	double          cbr_cyc_to_tsc;
 };
 
+/*
+ * MTC provides a 8-bit slice of CTC but the TMA packet only provides the lower
+ * 16 bits of CTC. If mtc_shift > 8 then some of the MTC bits are not in the CTC
+ * provided by the TMA packet. Fix-up the last_mtc calculated from the TMA
+ * packet by copying the missing bits from the current MTC assuming the least
+ * difference between the two, and that the current MTC comes after last_mtc.
+ */
+static void intel_pt_fixup_last_mtc(uint32_t mtc, int mtc_shift,
+				    uint32_t *last_mtc)
+{
+	uint32_t first_missing_bit = 1U << (16 - mtc_shift);
+	uint32_t mask = ~(first_missing_bit - 1);
+
+	*last_mtc |= mtc & mask;
+	if (*last_mtc >= mtc) {
+		*last_mtc -= first_missing_bit;
+		*last_mtc &= 0xff;
+	}
+}
+
 static int intel_pt_calc_cyc_cb(struct intel_pt_pkt_info *pkt_info)
 {
 	struct intel_pt_decoder *decoder = pkt_info->decoder;
@@ -619,6 +641,11 @@ static int intel_pt_calc_cyc_cb(struct intel_pt_pkt_info *pkt_info)
 			return 0;
 
 		mtc = pkt_info->packet.payload;
+		if (decoder->mtc_shift > 8 && data->fixup_last_mtc) {
+			data->fixup_last_mtc = false;
+			intel_pt_fixup_last_mtc(mtc, decoder->mtc_shift,
+						&data->last_mtc);
+		}
 		if (mtc > data->last_mtc)
 			mtc_delta = mtc - data->last_mtc;
 		else
@@ -687,6 +714,7 @@ static int intel_pt_calc_cyc_cb(struct intel_pt_pkt_info *pkt_info)
 
 		data->ctc_delta = 0;
 		data->have_tma = true;
+		data->fixup_last_mtc = true;
 
 		return 0;
 
@@ -753,6 +781,7 @@ static void intel_pt_calc_cyc_to_tsc(struct intel_pt_decoder *decoder,
 		.tsc_timestamp  = decoder->tsc_timestamp,
 		.timestamp      = decoder->timestamp,
 		.have_tma       = decoder->have_tma,
+		.fixup_last_mtc = decoder->fixup_last_mtc,
 		.from_mtc       = from_mtc,
 		.cbr_cyc_to_tsc = 0,
 	};
@@ -1271,6 +1300,7 @@ static void intel_pt_calc_tma(struct intel_pt_decoder *decoder)
 	}
 	decoder->ctc_delta = 0;
 	decoder->have_tma = true;
+	decoder->fixup_last_mtc = true;
 	intel_pt_log("CTC timestamp " x64_fmt " last MTC %#x  CTC rem %#x\n",
 		     decoder->ctc_timestamp, decoder->last_mtc, ctc_rem);
 }
@@ -1285,6 +1315,12 @@ static void intel_pt_calc_mtc_timestamp(struct intel_pt_decoder *decoder)
 
 	mtc = decoder->packet.payload;
 
+	if (decoder->mtc_shift > 8 && decoder->fixup_last_mtc) {
+		decoder->fixup_last_mtc = false;
+		intel_pt_fixup_last_mtc(mtc, decoder->mtc_shift,
+					&decoder->last_mtc);
+	}
+
 	if (mtc > decoder->last_mtc)
 		mtc_delta = mtc - decoder->last_mtc;
 	else
-- 
2.7.4


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

* Re: [GIT PULL 00/13] perf/core improvements and fixes
  2016-10-06 16:11 [GIT PULL 00/13] perf/core improvements and fixes Arnaldo Carvalho de Melo
  2016-10-06 16:11 ` [PATCH 02/13] perf intel-pt: Fix estimated timestamps for cycle-accurate mode Arnaldo Carvalho de Melo
  2016-10-06 16:11 ` [PATCH 03/13] perf intel-pt: Fix MTC timestamp calculation for large MTC periods Arnaldo Carvalho de Melo
@ 2016-10-06 22:38 ` Ingo Molnar
  2 siblings, 0 replies; 4+ messages in thread
From: Ingo Molnar @ 2016-10-06 22:38 UTC (permalink / raw)
  To: Arnaldo Carvalho de Melo
  Cc: linux-kernel, Linux Weekly News, Adrian Hunter,
	Alexander Shishkin, Alexei Starovoitov, Andi Kleen, Balbir Singh,
	Daniel Borkmann, David Ahern, David S . Miller, Donghyun Kim,
	He Kuang, Jiri Olsa, Masami Hiramatsu, Nambong Ha, Namhyung Kim,
	Naveen N . Rao, Peter Zijlstra, pi3orama, Ravi Bangoria,
	Seonyoung Kim, stable, Steven Rostedt, Sukadev Bhattiprolu,
	Taeung Song, Thomas Gleixner, Tony Luck, Wang Nan, Zefan Li,
	Arnaldo Carvalho de Melo


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

> Hi Ingo,
> 
> 	Please consider pulling,
> 
> - Arnaldo
> 
> Build and test stats at the end of the message.
> 
> The following changes since commit 8657355f5b5f657407efc12a2223e8a3a6d658de:
> 
>   Merge tag 'perf-core-for-mingo-20161003' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/urgent (2016-10-04 10:04: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-20161005
> 
> for you to fetch changes up to 87095f7ddeff3038a0cf8e6574922f9c11688619:
> 
>   tools build: Add feature detection for g++ (2016-10-05 19:59:35 -0300)
> 
> ----------------------------------------------------------------
> perf/core improvements and fixes:
> 
> - Intel PT timestamp fixes (Adrian Hunter)
> 
> - Fix Intel JSON fixed counter conversions (Andi Kleen)
> 
> - Sync memcpy, cpufeatures and bpf headers with the kernel (Arnaldo Carvalho de Melo)
> 
> - Add some more tool tips (Donghyun Kim, Kim SeonYoung, Nambong Ha)
> 
> - Fix libtraceevent's kbuffer_read_at_offset() handling of offsets before or
>   equal the first event (Namhyung Kim)
> 
> - Fix uretprobe probe placement on ppc64le (Ravi Bangoria)
> 
> - Support building C++ source files and add feature detection for g++,
>   prep work for supporting a builtin clang/llvm, to remove the need for having
>   that toolchain installed to automagically build BPF scriptlets that then
>   gets uploaded to the kernel via sys_bpf() (Wang Nan)
> 
> Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
> 
> ----------------------------------------------------------------
> Adrian Hunter (2):
>       perf intel-pt: Fix estimated timestamps for cycle-accurate mode
>       perf intel-pt: Fix MTC timestamp calculation for large MTC periods
> 
> Andi Kleen (1):
>       perf jevents: Fix Intel JSON fixed counter conversions
> 
> Arnaldo Carvalho de Melo (3):
>       perf bench mem: Sync memcpy assembly sources with the kernel
>       tools: Synchronize tools/arch/x86/include/asm/cpufeatures.h
>       tools: Synchronize tools/include/uapi/linux/bpf.h
> 
> Donghyun Kim (1):
>       perf report/top: Add a tip about system-wide collection from all CPUs
> 
> Kim SeonYoung (1):
>       perf report/top: Add a tip about source line numbers with overhead
> 
> Nambong Ha (1):
>       perf top/report: Add tips about a list option
> 
> Namhyung Kim (1):
>       tools lib traceevent: Fix kbuffer_read_at_offset()
> 
> Ravi Bangoria (1):
>       perf uretprobe ppc64le: Fix probe location
> 
> Wang Nan (2):
>       tools build: Support compiling C++ source file
>       tools build: Add feature detection for g++
> 
>  tools/arch/x86/include/asm/cpufeatures.h           |  1 -
>  tools/arch/x86/lib/memcpy_64.S                     |  6 ++--
>  tools/build/Build.include                          |  1 +
>  tools/build/Makefile.build                         |  7 ++++
>  tools/build/Makefile.feature                       |  2 +-
>  tools/build/feature/Makefile                       | 10 +++++-
>  tools/build/feature/test-cxx.cpp                   | 15 +++++++++
>  tools/include/uapi/linux/bpf.h                     |  4 +--
>  tools/lib/traceevent/kbuffer-parse.c               |  1 +
>  tools/perf/Documentation/tips.txt                  |  4 +++
>  tools/perf/arch/powerpc/util/sym-handling.c        |  3 +-
>  tools/perf/pmu-events/jevents.c                    |  2 ++
>  .../perf/util/intel-pt-decoder/intel-pt-decoder.c  | 38 ++++++++++++++++++++++
>  13 files changed, 85 insertions(+), 9 deletions(-)
>  create mode 100644 tools/build/feature/test-cxx.cpp
> 
>   [root@jouet ~]# time dm
>    1 alpine:3.4: Ok
>    2 android-ndk:r12b-arm: Ok
>    3 archlinux:latest: Ok
>    4 centos:5: Ok
>    5 centos:6: Ok
>    6 centos:7: Ok
>    7 debian:7: Ok
>    8 debian:8: Ok
>    9 debian:experimental: Ok
>   10 fedora:20: Ok
>   11 fedora:21: Ok
>   12 fedora:22: Ok
>   13 fedora:23: Ok
>   14 fedora:24: Ok
>   15 fedora:24-x-ARC-uClibc: Ok
>   16 fedora:rawhide: Ok
>   17 mageia:5: Ok
>   18 opensuse:13.2: Ok
>   19 opensuse:42.1: Ok
>   20 opensuse:tumbleweed: Ok
>   21 ubuntu:12.04.5: Ok
>   22 ubuntu:14.04: Ok
>   23 ubuntu:14.04.4: Ok
>   24 ubuntu:15.10: Ok
>   25 ubuntu:16.04: Ok
>   26 ubuntu:16.04-x-arm: Ok
>   27 ubuntu:16.04-x-arm64: Ok
>   28 ubuntu:16.04-x-powerpc: Ok
>   29 ubuntu:16.04-x-powerpc64: Ok
>   30 ubuntu:16.04-x-powerpc64el: Ok
>   31 ubuntu:16.04-x-s390: Ok
>   32 ubuntu:16.10: Ok
> 
>   real    44m58.202s
>   user    0m2.864s
>   sys     0m1.975s
>   [root@jouet ~]#
> 
>   [acme@jouet linux]$ make -C tools/perf build-test
>   make: Entering directory '/home/acme/git/linux/tools/perf'
>                         tarpkg: ./tests/perf-targz-src-pkg .
>                  make_static_O: make LDFLAGS=-static
>   make_no_libdw_dwarf_unwind_O: make NO_LIBDW_DWARF_UNWIND=1
>    make_install_prefix_slash_O: make install prefix=/tmp/krava/
>                   make_no_ui_O: make NO_NEWT=1 NO_SLANG=1 NO_GTK2=1
>                    make_help_O: make help
>            make_no_libpython_O: make NO_LIBPYTHON=1
>                 make_install_O: make install
>          make_install_prefix_O: make install prefix=/tmp/krava
>              make_no_scripts_O: make NO_LIBPYTHON=1 NO_LIBPERL=1
>              make_no_libperl_O: make NO_LIBPERL=1
>                   make_debug_O: make DEBUG=1
>                  make_perf_o_O: make perf.o
>               make_clean_all_O: make clean all
>        make_util_pmu_bison_o_O: make util/pmu-bison.o
>                 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
>             make_no_demangle_O: make NO_DEMANGLE=1
>            make_no_libunwind_O: make NO_LIBUNWIND=1
>         make_with_babeltrace_O: make LIBBABELTRACE=1
>              make_no_libnuma_O: make NO_LIBNUMA=1
>               make_no_libbpf_O: make NO_LIBBPF=1
>             make_install_bin_O: make install-bin
>              make_util_map_o_O: make util/map.o
>               make_no_libelf_O: make NO_LIBELF=1
>                 make_no_newt_O: make NO_NEWT=1
>             make_no_auxtrace_O: make NO_AUXTRACE=1
>                 make_no_gtk2_O: make NO_GTK2=1
>                make_no_slang_O: make NO_SLANG=1
>                     make_doc_O: make doc
>                    make_pure_O: make
>            make_no_libbionic_O: make NO_LIBBIONIC=1
>             make_no_libaudit_O: make NO_LIBAUDIT=1
>                    make_tags_O: make tags
>            make_no_backtrace_O: make NO_BACKTRACE=1
>   OK
> 
>   [root@jouet ~]# 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 events tests                                       : Ok
>    6: Validate PERF_RECORD_* events & perf_sample fields       : Ok
>    7: Test perf pmu format parsing                             : Ok
>    8: Test dso data read                                       : Ok
>    9: Test dso data cache                                      : Ok
>   10: Test dso data reopen                                     : Ok
>   11: roundtrip evsel->name check                              : Ok
>   12: Check parsing of sched tracepoints fields                : Ok
>   13: Generate and check syscalls:sys_enter_openat event fields: Ok
>   14: struct perf_event_attr setup                             : Ok
>   15: Test matching and linking multiple hists                 : Ok
>   16: Try 'import perf' in python, checking link problems      : Ok
>   17: Test breakpoint overflow signal handler                  : Ok
>   18: Test breakpoint overflow sampling                        : Ok
>   19: Test number of exit event of a simple workload           : Ok
>   20: Test software clock events have valid period values      : Ok
>   21: Test object code reading                                 : Ok
>   22: Test sample parsing                                      : Ok
>   23: Test using a dummy software event to keep tracking       : Ok
>   24: Test parsing with no sample_id_all bit set               : Ok
>   25: Test filtering hist entries                              : Ok
>   26: Test mmap thread lookup                                  : Ok
>   27: Test thread mg sharing                                   : Ok
>   28: Test output sorting of hist entries                      : Ok
>   29: Test cumulation of child hist entries                    : Ok
>   30: Test tracking with sched_switch                          : Ok
>   31: Filter fds with revents mask in a fdarray                : Ok
>   32: Add fd to a fdarray, making it autogrow                  : Ok
>   33: Test kmod_path__parse function                           : Ok
>   34: Test thread map                                          : Ok
>   35: Test LLVM searching and compiling                        :
>   35.1: Basic BPF llvm compiling test                          : Ok
>   35.2: Test kbuild searching                                  : Ok
>   35.3: Compile source for BPF prologue generation test        : Ok
>   35.4: Compile source for BPF relocation test                 : Ok
>   36: Test topology in session                                 : Ok
>   37: Test BPF filter                                          :
>   37.1: Test basic BPF filtering                               : Ok
>   37.2: Test BPF prologue generation                           : Ok
>   37.3: Test BPF relocation checker                            : Ok
>   38: Test thread map synthesize                               : Ok
>   39: Test cpu map synthesize                                  : Ok
>   40: Test stat config synthesize                              : Ok
>   41: Test stat synthesize                                     : Ok
>   42: Test stat round synthesize                               : Ok
>   43: Test attr update synthesize                              : Ok
>   44: Test events times                                        : Ok
>   45: Test backward reading from ring buffer                   : Ok
>   46: Test cpu map print                                       : Ok
>   47: Test SDT event probing                                   : Ok
>   48: Test is_printable_array function                         : Ok
>   49: Test bitmap print                                        : Ok
>   50: x86 rdpmc test                                           : Ok
>   51: Test converting perf time to TSC                         : Ok
>   52: Test dwarf unwind                                        : Ok
>   53: Test x86 instruction decoder - new instructions          : Ok
>   54: Test intel cqm nmi context read                          : Skip
>   [root@jouet ~]# 

Pulled, thanks a lot Arnaldo!

	Ingo

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

end of thread, other threads:[~2016-10-06 22:38 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-10-06 16:11 [GIT PULL 00/13] perf/core improvements and fixes Arnaldo Carvalho de Melo
2016-10-06 16:11 ` [PATCH 02/13] perf intel-pt: Fix estimated timestamps for cycle-accurate mode Arnaldo Carvalho de Melo
2016-10-06 16:11 ` [PATCH 03/13] perf intel-pt: Fix MTC timestamp calculation for large MTC periods Arnaldo Carvalho de Melo
2016-10-06 22:38 ` [GIT PULL 00/13] perf/core improvements and fixes 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).