All of lore.kernel.org
 help / color / mirror / Atom feed
* [GIT PULL 00/11] perf/urgent fixes
@ 2016-08-15 21:46 Arnaldo Carvalho de Melo
  2016-08-15 21:46 ` [PATCH 01/11] perf intel-pt: Fix ip compression Arnaldo Carvalho de Melo
                   ` (11 more replies)
  0 siblings, 12 replies; 27+ messages in thread
From: Arnaldo Carvalho de Melo @ 2016-08-15 21:46 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: linux-kernel, Arnaldo Carvalho de Melo, Adrian Hunter,
	Alexander Shishkin, Alexander Yarygin,
	Ananth N Mavinakayanahalli, Anton Blanchard, Balbir Singh,
	Colin King, David Ahern, He Kuang, Hemant Kumar, Jiri Olsa,
	Masami Hiramatsu, Michael Ellerman, Michael Petlan, Namhyung Kim,
	Naveen N . Rao, Peter Zijlstra, Peter Zijlstra, Ravi Bangoria,
	Scott Wood, Srikar Dronamraju, Stephane Eranian, Wang Nan

Hi Ingo,

	Please consider pulling,

- Arnaldo

Build stats:

 # time dm
  1 70.159253018 alpine:3.4: Ok
  2 27.099391445 android-ndk:r12b-arm: Ok
  3 75.359247352 archlinux:latest: Ok
  4 24.340381467 centos:5: Ok
  5 35.444981358 centos:6: Ok
  6 40.638249015 centos:7: Ok
  7 39.903273551 debian:7: Ok
  8 44.413434336 debian:8: Ok
  9 75.444927554 debian:experimental: Ok
 10 74.050811017 fedora:20: Ok
 11 77.325297310 fedora:21: Ok
 12 76.934955654 fedora:22: Ok
 13 77.173183115 fedora:23: Ok
 14 78.870701061 fedora:24: Ok
 15 82.441966844 fedora:rawhide: Ok
 16 81.840268590 mageia:5: Ok
 17 74.529050646 opensuse:13.2: Ok
 18 76.367891421 opensuse:42.1: Ok
 19 82.874433572 opensuse:tumbleweed: Ok
 20 63.525497311 ubuntu:12.04.5: Ok
 21 69.943145955 ubuntu:14.04.4: Ok
 22 72.413641422 ubuntu:15.10: Ok
 23 69.335646559 ubuntu:16.04: Ok
 24 56.204402973 ubuntu:16.04-x-arm: Ok
 25 56.601927116 ubuntu:16.04-x-arm64: Ok
 26 32.073176756 ubuntu:16.04-x-armhf: Ok
 27 55.799523589 ubuntu:16.04-x-powerpc64: Ok
 28 56.579047498 ubuntu:16.04-x-powerpc64el: Ok
 29 55.715073756 ubuntu:16.04-x-s390: Ok
 30 76.034846449 ubuntu:16.10: Ok
    1879.44s

 real	31m20.253s
 user	0m1.768s
 sys	0m2.067s
 #

* The ones taking longer are doing more stuff:
 - Building objtool where supported
 - Building perf twice, with NO_LIBELF=1 and without it.

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

* [PATCH 01/11] perf intel-pt: Fix ip compression
  2016-08-15 21:46 [GIT PULL 00/11] perf/urgent fixes Arnaldo Carvalho de Melo
@ 2016-08-15 21:46 ` Arnaldo Carvalho de Melo
  2016-08-15 21:46 ` [PATCH 02/11] perf tools mem: Fix -t store option for record command Arnaldo Carvalho de Melo
                   ` (10 subsequent siblings)
  11 siblings, 0 replies; 27+ messages in thread
From: Arnaldo Carvalho de Melo @ 2016-08-15 21:46 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: linux-kernel, Adrian Hunter, Jiri Olsa, Arnaldo Carvalho de Melo

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

The June 2015 Intel SDM introduced IP Compression types 4 and 6. Refer
to section 36.4.2.2 Target IP (TIP) Packet - IP Compression.

Existing Intel PT packet decoder did not support type 4, and got type 6
wrong.  Because type 3 and type 4 have the same number of bytes, the
packet 'count' has been changed from being the number of ip bytes to
being the type code.  That allows the Intel PT decoder to correctly
decide whether to sign-extend or use the last ip.  However that also
meant the code had to be adjusted in a number of places.

Currently hardware is not using the new compression types, so this fix
has no effect on existing hardware.

Signed-off-by: Adrian Hunter <adrian.hunter@intel.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Link: http://lkml.kernel.org/r/1469005206-3049-1-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  | 44 +++++++++++-----------
 .../util/intel-pt-decoder/intel-pt-pkt-decoder.c   | 24 ++++++++----
 2 files changed, 40 insertions(+), 28 deletions(-)

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 9c8f15da86ce..8ff6c6a61291 100644
--- a/tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
+++ b/tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
@@ -123,8 +123,6 @@ struct intel_pt_decoder {
 	bool have_calc_cyc_to_tsc;
 	int exec_mode;
 	unsigned int insn_bytes;
-	uint64_t sign_bit;
-	uint64_t sign_bits;
 	uint64_t period;
 	enum intel_pt_period_type period_type;
 	uint64_t tot_insn_cnt;
@@ -191,9 +189,6 @@ struct intel_pt_decoder *intel_pt_decoder_new(struct intel_pt_params *params)
 	decoder->data               = params->data;
 	decoder->return_compression = params->return_compression;
 
-	decoder->sign_bit           = (uint64_t)1 << 47;
-	decoder->sign_bits          = ~(((uint64_t)1 << 48) - 1);
-
 	decoder->period             = params->period;
 	decoder->period_type        = params->period_type;
 
@@ -362,21 +357,30 @@ int intel_pt__strerror(int code, char *buf, size_t buflen)
 	return 0;
 }
 
-static uint64_t intel_pt_calc_ip(struct intel_pt_decoder *decoder,
-				 const struct intel_pt_pkt *packet,
+static uint64_t intel_pt_calc_ip(const struct intel_pt_pkt *packet,
 				 uint64_t last_ip)
 {
 	uint64_t ip;
 
 	switch (packet->count) {
-	case 2:
+	case 1:
 		ip = (last_ip & (uint64_t)0xffffffffffff0000ULL) |
 		     packet->payload;
 		break;
-	case 4:
+	case 2:
 		ip = (last_ip & (uint64_t)0xffffffff00000000ULL) |
 		     packet->payload;
 		break;
+	case 3:
+		ip = packet->payload;
+		/* Sign-extend 6-byte ip */
+		if (ip & (uint64_t)0x800000000000ULL)
+			ip |= (uint64_t)0xffff000000000000ULL;
+		break;
+	case 4:
+		ip = (last_ip & (uint64_t)0xffff000000000000ULL) |
+		     packet->payload;
+		break;
 	case 6:
 		ip = packet->payload;
 		break;
@@ -384,16 +388,12 @@ static uint64_t intel_pt_calc_ip(struct intel_pt_decoder *decoder,
 		return 0;
 	}
 
-	if (ip & decoder->sign_bit)
-		return ip | decoder->sign_bits;
-
 	return ip;
 }
 
 static inline void intel_pt_set_last_ip(struct intel_pt_decoder *decoder)
 {
-	decoder->last_ip = intel_pt_calc_ip(decoder, &decoder->packet,
-					    decoder->last_ip);
+	decoder->last_ip = intel_pt_calc_ip(&decoder->packet, decoder->last_ip);
 }
 
 static inline void intel_pt_set_ip(struct intel_pt_decoder *decoder)
@@ -1657,6 +1657,12 @@ next:
 	}
 }
 
+static inline bool intel_pt_have_ip(struct intel_pt_decoder *decoder)
+{
+	return decoder->last_ip || decoder->packet.count == 0 ||
+	       decoder->packet.count == 3 || decoder->packet.count == 6;
+}
+
 /* Walk PSB+ packets to get in sync. */
 static int intel_pt_walk_psb(struct intel_pt_decoder *decoder)
 {
@@ -1677,8 +1683,7 @@ static int intel_pt_walk_psb(struct intel_pt_decoder *decoder)
 
 		case INTEL_PT_FUP:
 			decoder->pge = true;
-			if (decoder->last_ip || decoder->packet.count == 6 ||
-			    decoder->packet.count == 0) {
+			if (intel_pt_have_ip(decoder)) {
 				uint64_t current_ip = decoder->ip;
 
 				intel_pt_set_ip(decoder);
@@ -1767,8 +1772,7 @@ static int intel_pt_walk_to_ip(struct intel_pt_decoder *decoder)
 		case INTEL_PT_TIP_PGE:
 		case INTEL_PT_TIP:
 			decoder->pge = decoder->packet.type != INTEL_PT_TIP_PGD;
-			if (decoder->last_ip || decoder->packet.count == 6 ||
-			    decoder->packet.count == 0)
+			if (intel_pt_have_ip(decoder))
 				intel_pt_set_ip(decoder);
 			if (decoder->ip)
 				return 0;
@@ -1776,9 +1780,7 @@ static int intel_pt_walk_to_ip(struct intel_pt_decoder *decoder)
 
 		case INTEL_PT_FUP:
 			if (decoder->overflow) {
-				if (decoder->last_ip ||
-				    decoder->packet.count == 6 ||
-				    decoder->packet.count == 0)
+				if (intel_pt_have_ip(decoder))
 					intel_pt_set_ip(decoder);
 				if (decoder->ip)
 					return 0;
diff --git a/tools/perf/util/intel-pt-decoder/intel-pt-pkt-decoder.c b/tools/perf/util/intel-pt-decoder/intel-pt-pkt-decoder.c
index b1257c816310..4f7b32020487 100644
--- a/tools/perf/util/intel-pt-decoder/intel-pt-pkt-decoder.c
+++ b/tools/perf/util/intel-pt-decoder/intel-pt-pkt-decoder.c
@@ -292,36 +292,46 @@ static int intel_pt_get_ip(enum intel_pt_pkt_type type, unsigned int byte,
 			   const unsigned char *buf, size_t len,
 			   struct intel_pt_pkt *packet)
 {
-	switch (byte >> 5) {
+	int ip_len;
+
+	packet->count = byte >> 5;
+
+	switch (packet->count) {
 	case 0:
-		packet->count = 0;
+		ip_len = 0;
 		break;
 	case 1:
 		if (len < 3)
 			return INTEL_PT_NEED_MORE_BYTES;
-		packet->count = 2;
+		ip_len = 2;
 		packet->payload = le16_to_cpu(*(uint16_t *)(buf + 1));
 		break;
 	case 2:
 		if (len < 5)
 			return INTEL_PT_NEED_MORE_BYTES;
-		packet->count = 4;
+		ip_len = 4;
 		packet->payload = le32_to_cpu(*(uint32_t *)(buf + 1));
 		break;
 	case 3:
-	case 6:
+	case 4:
 		if (len < 7)
 			return INTEL_PT_NEED_MORE_BYTES;
-		packet->count = 6;
+		ip_len = 6;
 		memcpy_le64(&packet->payload, buf + 1, 6);
 		break;
+	case 6:
+		if (len < 9)
+			return INTEL_PT_NEED_MORE_BYTES;
+		ip_len = 8;
+		packet->payload = le64_to_cpu(*(uint64_t *)(buf + 1));
+		break;
 	default:
 		return INTEL_PT_BAD_PACKET;
 	}
 
 	packet->type = type;
 
-	return packet->count + 1;
+	return ip_len + 1;
 }
 
 static int intel_pt_get_mode(const unsigned char *buf, size_t len,
-- 
2.7.4

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

* [PATCH 02/11] perf tools mem: Fix -t store option for record command
  2016-08-15 21:46 [GIT PULL 00/11] perf/urgent fixes Arnaldo Carvalho de Melo
  2016-08-15 21:46 ` [PATCH 01/11] perf intel-pt: Fix ip compression Arnaldo Carvalho de Melo
@ 2016-08-15 21:46 ` Arnaldo Carvalho de Melo
  2016-08-15 21:46 ` [PATCH 03/11] perf ppc64le: Fix build failure when libelf is not present Arnaldo Carvalho de Melo
                   ` (9 subsequent siblings)
  11 siblings, 0 replies; 27+ messages in thread
From: Arnaldo Carvalho de Melo @ 2016-08-15 21:46 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: linux-kernel, Jiri Olsa, Jiri Olsa, David Ahern, Namhyung Kim,
	Peter Zijlstra, Arnaldo Carvalho de Melo

From: Jiri Olsa <jolsa@kernel.org>

Michael reported 'perf mem -t store record' being broken.  The reason is
latest rework of this area:

  commit acbe613e0c03 ("perf tools: Add monitored events array")

We don't mark perf_mem_events store record when -t store option is
specified.

Committer notes:

Before:

  # perf mem -t store record usleep 1
  [ perf record: Woken up 1 times to write data ]
  [ perf record: Captured and wrote 0.020 MB perf.data (7 samples) ]
  # perf evlist
  cycles:ppp
  #

After:

  # perf mem -t store record usleep 1
  [ perf record: Woken up 1 times to write data ]
  [ perf record: Captured and wrote 0.020 MB perf.data (7 samples) ]
  # perf evlist
  cpu/mem-stores/P
  #

Reported-by: Michael Petlan <mpetlan@redhat.com>
Signed-off-by: Jiri Olsa <jolsa@redhat.com>
Tested-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Cc: David Ahern <dsahern@gmail.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Fixes: acbe613e0c03 ("perf tools: Add monitored events array")
Link: http://lkml.kernel.org/r/1470905457-18311-1-git-send-email-jolsa@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
 tools/perf/builtin-mem.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/tools/perf/builtin-mem.c b/tools/perf/builtin-mem.c
index d608a2c9e48c..d1ce29be560e 100644
--- a/tools/perf/builtin-mem.c
+++ b/tools/perf/builtin-mem.c
@@ -88,6 +88,9 @@ static int __cmd_record(int argc, const char **argv, struct perf_mem *mem)
 	if (mem->operation & MEM_OPERATION_LOAD)
 		perf_mem_events[PERF_MEM_EVENTS__LOAD].record = true;
 
+	if (mem->operation & MEM_OPERATION_STORE)
+		perf_mem_events[PERF_MEM_EVENTS__STORE].record = true;
+
 	if (perf_mem_events[PERF_MEM_EVENTS__LOAD].record)
 		rec_argv[i++] = "-W";
 
-- 
2.7.4

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

* [PATCH 03/11] perf ppc64le: Fix build failure when libelf is not present
  2016-08-15 21:46 [GIT PULL 00/11] perf/urgent fixes Arnaldo Carvalho de Melo
  2016-08-15 21:46 ` [PATCH 01/11] perf intel-pt: Fix ip compression Arnaldo Carvalho de Melo
  2016-08-15 21:46 ` [PATCH 02/11] perf tools mem: Fix -t store option for record command Arnaldo Carvalho de Melo
@ 2016-08-15 21:46 ` Arnaldo Carvalho de Melo
  2016-08-15 21:46 ` [PATCH 04/11] perf jitdump: Add the right header to get the major()/minor() definitions Arnaldo Carvalho de Melo
                   ` (8 subsequent siblings)
  11 siblings, 0 replies; 27+ messages in thread
From: Arnaldo Carvalho de Melo @ 2016-08-15 21:46 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: linux-kernel, Ravi Bangoria, Peter Zijlstra, Alexander Shishkin,
	Balbir Singh, Naveen N . Rao, Ananth N Mavinakayanahalli,
	Masami Hiramatsu, Wang Nan, Namhyung Kim,
	Arnaldo Carvalho de Melo

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

arch__post_process_probe_trace_events() calls get_target_map() to
prepare symbol table. get_target_map() is defined inside
util/probe-event.c.

probe-event.c will only get included in perf binary if CONFIG_LIBELF is
set.  Hence arch__post_process_probe_trace_events() needs to be defined
inside #ifdef HAVE_LIBELF_SUPPORT to solve compilation error.

Reported-and-Tested-by: Anton Blanchard <anton@samba.org>
Tested-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Balbir Singh <bsingharora@gmail.com>
Cc: Naveen N. Rao <naveen.n.rao@linux.vnet.ibm.com>
Cc: Ananth N Mavinakayanahalli <ananth@in.ibm.com>
Cc: Masami Hiramatsu <mhiramat@kernel.org>
Cc: Wang Nan <wangnan0@huawei.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Link: http://lkml.kernel.org/r/57ABFF88.8030905@linux.vnet.ibm.com
[ Thunderbird MUA mangled it, fix that ]
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
 tools/perf/arch/powerpc/util/sym-handling.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/tools/perf/arch/powerpc/util/sym-handling.c b/tools/perf/arch/powerpc/util/sym-handling.c
index 8d4dc97d80ba..35745a733100 100644
--- a/tools/perf/arch/powerpc/util/sym-handling.c
+++ b/tools/perf/arch/powerpc/util/sym-handling.c
@@ -97,6 +97,7 @@ void arch__fix_tev_from_maps(struct perf_probe_event *pev,
 	}
 }
 
+#ifdef HAVE_LIBELF_SUPPORT
 void arch__post_process_probe_trace_events(struct perf_probe_event *pev,
 					   int ntevs)
 {
@@ -118,5 +119,6 @@ void arch__post_process_probe_trace_events(struct perf_probe_event *pev,
 		}
 	}
 }
+#endif /* HAVE_LIBELF_SUPPORT */
 
 #endif
-- 
2.7.4

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

* [PATCH 04/11] perf jitdump: Add the right header to get the major()/minor() definitions
  2016-08-15 21:46 [GIT PULL 00/11] perf/urgent fixes Arnaldo Carvalho de Melo
                   ` (2 preceding siblings ...)
  2016-08-15 21:46 ` [PATCH 03/11] perf ppc64le: Fix build failure when libelf is not present Arnaldo Carvalho de Melo
@ 2016-08-15 21:46 ` Arnaldo Carvalho de Melo
  2016-08-15 21:46 ` [PATCH 05/11] perf script: Show proper message when failed list scripts Arnaldo Carvalho de Melo
                   ` (7 subsequent siblings)
  11 siblings, 0 replies; 27+ messages in thread
From: Arnaldo Carvalho de Melo @ 2016-08-15 21:46 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: linux-kernel, Arnaldo Carvalho de Melo, Adrian Hunter,
	David Ahern, Jiri Olsa, Namhyung Kim, Stephane Eranian, Wang Nan

From: Arnaldo Carvalho de Melo <acme@redhat.com>

Noticed on Fedora Rawhide:

  $ gcc --version
  gcc (GCC) 6.1.1 20160721 (Red Hat 6.1.1-4)
  $ rpm -q glibc
  glibc-2.24.90-1.fc26.x86_64
  $

    CC       /tmp/build/perf/util/jitdump.o
  util/jitdump.c: In function 'jit_repipe_code_load':
  util/jitdump.c:428:2: error: '__major_from_sys_types' is deprecated:
    In the GNU C Library, `major' is defined by <sys/sysmacros.h>.
    For historical compatibility, it is currently defined by
    <sys/types.h> as well, but we plan to remove this soon.
    To use `major', include <sys/sysmacros.h> directly.
    If you did not intend to use a system-defined macro `major',
    you should #undef it after including <sys/types.h>.
    [-Werror=deprecated-declarations]
    event->mmap2.maj   = major(st.st_dev);
    ^~~~~
  In file included from /usr/include/features.h:397:0,
                   from /usr/include/sys/types.h:25,
                   from util/jitdump.c:1:
  /usr/include/sys/sysmacros.h:87:1: note: declared here
   __SYSMACROS_DEFINE_MAJOR (__SYSMACROS_FST_IMPL_TEMPL)

Fix it following that recomendation.

Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: David Ahern <dsahern@gmail.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Stephane Eranian <eranian@google.com>
Cc: Wang Nan <wangnan0@huawei.com>
Link: http://lkml.kernel.org/n/tip-3majvd0adhfr25rvx4v5e9te@git.kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
 tools/perf/util/jitdump.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/tools/perf/util/jitdump.c b/tools/perf/util/jitdump.c
index 9f3305f6b6d5..95f0884aae02 100644
--- a/tools/perf/util/jitdump.c
+++ b/tools/perf/util/jitdump.c
@@ -1,3 +1,4 @@
+#include <sys/sysmacros.h>
 #include <sys/types.h>
 #include <stdio.h>
 #include <stdlib.h>
-- 
2.7.4

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

* [PATCH 05/11] perf script: Show proper message when failed list scripts
  2016-08-15 21:46 [GIT PULL 00/11] perf/urgent fixes Arnaldo Carvalho de Melo
                   ` (3 preceding siblings ...)
  2016-08-15 21:46 ` [PATCH 04/11] perf jitdump: Add the right header to get the major()/minor() definitions Arnaldo Carvalho de Melo
@ 2016-08-15 21:46 ` Arnaldo Carvalho de Melo
  2016-08-15 21:46 ` [PATCH 06/11] perf script: Don't disable use_callchain if input is pipe Arnaldo Carvalho de Melo
                   ` (6 subsequent siblings)
  11 siblings, 0 replies; 27+ messages in thread
From: Arnaldo Carvalho de Melo @ 2016-08-15 21:46 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: linux-kernel, He Kuang, Alexander Shishkin, Peter Zijlstra,
	Wang Nan, Arnaldo Carvalho de Melo

From: He Kuang <hekuang@huawei.com>

Perf shows the usage message when perf scripts folder failed to open,
which misleads users to let them think the command is being mistyped.

This patch shows a proper message and guides users to check the
PERF_EXEC_PATH environment variable in that case.

Before:

  $ perf script --list

  Usage: perf script [<options>]
   or: perf script [<options>] record <script> [<record-options>] <command>
   or: perf script [<options>] report <script> [script-args]
   or: perf script [<options>] <script> [<record-options>] <command>
   or: perf script [<options>] <top-script> [script-args]

      -l, --list            list available scripts

After:

  $ perf script --list
  open(/home/user/perf-core/scripts) failed.
  Check for "PERF_EXEC_PATH" env to set scripts dir.

Signed-off-by: He Kuang <hekuang@huawei.com>
Tested-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Wang Nan <wangnan0@huawei.com>
Link: http://lkml.kernel.org/r/1470309943-153909-1-git-send-email-hekuang@huawei.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
 tools/perf/builtin-script.c | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/tools/perf/builtin-script.c b/tools/perf/builtin-script.c
index 9c640a8081c7..45c51eb6cab4 100644
--- a/tools/perf/builtin-script.c
+++ b/tools/perf/builtin-script.c
@@ -1690,8 +1690,13 @@ static int list_available_scripts(const struct option *opt __maybe_unused,
 	snprintf(scripts_path, MAXPATHLEN, "%s/scripts", get_argv_exec_path());
 
 	scripts_dir = opendir(scripts_path);
-	if (!scripts_dir)
-		return -1;
+	if (!scripts_dir) {
+		fprintf(stdout,
+			"open(%s) failed.\n"
+			"Check \"PERF_EXEC_PATH\" env to set scripts dir.\n",
+			scripts_path);
+		exit(-1);
+	}
 
 	for_each_lang(scripts_path, scripts_dir, lang_dirent) {
 		snprintf(lang_path, MAXPATHLEN, "%s/%s/bin", scripts_path,
-- 
2.7.4

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

* [PATCH 06/11] perf script: Don't disable use_callchain if input is pipe
  2016-08-15 21:46 [GIT PULL 00/11] perf/urgent fixes Arnaldo Carvalho de Melo
                   ` (4 preceding siblings ...)
  2016-08-15 21:46 ` [PATCH 05/11] perf script: Show proper message when failed list scripts Arnaldo Carvalho de Melo
@ 2016-08-15 21:46 ` Arnaldo Carvalho de Melo
  2016-08-15 21:46 ` [PATCH 07/11] perf symbols: Fix annotation of objects with debuginfo files Arnaldo Carvalho de Melo
                   ` (5 subsequent siblings)
  11 siblings, 0 replies; 27+ messages in thread
From: Arnaldo Carvalho de Melo @ 2016-08-15 21:46 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: linux-kernel, He Kuang, Alexander Shishkin, Peter Zijlstra,
	Wang Nan, Arnaldo Carvalho de Melo

From: He Kuang <hekuang@huawei.com>

Because perf data from pipe do not have a header with evsel attr, we
should not check that and disable symbol_conf.use_callchain. Otherwise,
perf script won't show callchains even if the data stream contains
callchain.

Before:
  $ perf record -g -o - uname |perf script
  Linux
  [ perf record: Woken up 1 times to write data ]
  [ perf record: Captured and wrote 0.000 MB - ]
  uname  1828 182630.186578:  250000 cpu-clock:  ..b9499 setup_arg_pages
  uname  1828 182630.186850:  250000 cpu-clock:  ..83b20 ___might_sleep
  uname  1828 182630.187153:  250000 cpu-clock:  ..4b6be file_map_prot_ch
  ...

After:
  $ perf record -g -o - uname |perf script
  Linux
  [ perf record: Woken up 1 times to write data ]
  [ perf record: Captured and wrote 0.000 MB - ]
  uname  1833 182675.927099:     250000 cpu-clock:
                  ba5520 _raw_spin_lock+0xfe200040 ([kernel.kallsyms])
                  389dd4 expand_downwards+0xfe200154 ([kernel.kallsyms])
                  389f34 expand_stack+0xfe200024 ([kernel.kallsyms])
                  3b957e setup_arg_pages+0xfe20019e ([kernel.kallsyms])
                  40c80f load_elf_binary+0xfe20042f ([kernel.kallsyms])
                  ...

Signed-off-by: He Kuang <hekuang@huawei.com>
Tested-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Wang Nan <wangnan0@huawei.com>
Link: http://lkml.kernel.org/r/1470309943-153909-2-git-send-email-hekuang@huawei.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
 tools/perf/builtin-script.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/tools/perf/builtin-script.c b/tools/perf/builtin-script.c
index 45c51eb6cab4..c859e59dfe3e 100644
--- a/tools/perf/builtin-script.c
+++ b/tools/perf/builtin-script.c
@@ -371,14 +371,16 @@ static int perf_session__check_output_opt(struct perf_session *session)
 
 	if (!no_callchain) {
 		bool use_callchain = false;
+		bool not_pipe = false;
 
 		evlist__for_each_entry(session->evlist, evsel) {
+			not_pipe = true;
 			if (evsel->attr.sample_type & PERF_SAMPLE_CALLCHAIN) {
 				use_callchain = true;
 				break;
 			}
 		}
-		if (!use_callchain)
+		if (not_pipe && !use_callchain)
 			symbol_conf.use_callchain = false;
 	}
 
-- 
2.7.4

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

* [PATCH 07/11] perf symbols: Fix annotation of objects with debuginfo files
  2016-08-15 21:46 [GIT PULL 00/11] perf/urgent fixes Arnaldo Carvalho de Melo
                   ` (5 preceding siblings ...)
  2016-08-15 21:46 ` [PATCH 06/11] perf script: Don't disable use_callchain if input is pipe Arnaldo Carvalho de Melo
@ 2016-08-15 21:46 ` Arnaldo Carvalho de Melo
  2016-08-15 21:46 ` [PATCH 08/11] perf probe: Check for dup and fdopen failures Arnaldo Carvalho de Melo
                   ` (4 subsequent siblings)
  11 siblings, 0 replies; 27+ messages in thread
From: Arnaldo Carvalho de Melo @ 2016-08-15 21:46 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: linux-kernel, Anton Blanchard, Peter Zijlstra, Ravi Bangoria,
	stable, #, v4.6+,
	Arnaldo Carvalho de Melo

From: Anton Blanchard <anton@samba.org>

Commit 73cdf0c6ea9c ("perf symbols: Record text offset in dso
to calculate objdump address") started storing the offset of
the text section for all DSOs:

       if (elf_section_by_name(elf, &ehdr, &tshdr, ".text", NULL))
               dso->text_offset = tshdr.sh_addr - tshdr.sh_offset;

Unfortunately this breaks debuginfo files, because we need to calculate
the offset of the text section in the associated executable file. As a
result perf annotate returns junk for all debuginfo files.

Fix this by using runtime_ss->elf which should point at the executable
when parsing a debuginfo file.

Signed-off-by: Anton Blanchard <anton@samba.org>
Reviewed-by: Naveen N. Rao <naveen.n.rao@linux.vnet.ibm.com>
Tested-by: Wang Nan <wangnan0@huawei.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Ravi Bangoria <ravi.bangoria@linux.vnet.ibm.com>
Cc: stable@vger.kernel.org # v4.6+
Fixes: 73cdf0c6ea9c ("perf symbols: Record text offset in dso to calculate objdump address")
Link: http://lkml.kernel.org/r/20160813115533.6de17912@kryten
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
 tools/perf/util/symbol-elf.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/tools/perf/util/symbol-elf.c b/tools/perf/util/symbol-elf.c
index a34321e9b44d..a811c13a74d6 100644
--- a/tools/perf/util/symbol-elf.c
+++ b/tools/perf/util/symbol-elf.c
@@ -837,7 +837,8 @@ int dso__load_sym(struct dso *dso, struct map *map,
 	sec = syms_ss->symtab;
 	shdr = syms_ss->symshdr;
 
-	if (elf_section_by_name(elf, &ehdr, &tshdr, ".text", NULL))
+	if (elf_section_by_name(runtime_ss->elf, &runtime_ss->ehdr, &tshdr,
+				".text", NULL))
 		dso->text_offset = tshdr.sh_addr - tshdr.sh_offset;
 
 	if (runtime_ss->opdsec)
-- 
2.7.4

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

* [PATCH 08/11] perf probe: Check for dup and fdopen failures
  2016-08-15 21:46 [GIT PULL 00/11] perf/urgent fixes Arnaldo Carvalho de Melo
                   ` (6 preceding siblings ...)
  2016-08-15 21:46 ` [PATCH 07/11] perf symbols: Fix annotation of objects with debuginfo files Arnaldo Carvalho de Melo
@ 2016-08-15 21:46 ` Arnaldo Carvalho de Melo
  2016-08-15 21:46 ` [PATCH 09/11] perf probe: Release resources on error when handling exit paths Arnaldo Carvalho de Melo
                   ` (3 subsequent siblings)
  11 siblings, 0 replies; 27+ messages in thread
From: Arnaldo Carvalho de Melo @ 2016-08-15 21:46 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: linux-kernel, Colin Ian King, Alexander Shishkin, Jiri Olsa,
	Namhyung Kim, Peter Zijlstra, Wang Nan, Arnaldo Carvalho de Melo

From: Colin Ian King <colin.king@canonical.com>

dup and fdopen can potentially fail, so add some extra
error handling checks rather than assuming they always work.

Signed-off-by: Colin King <colin.king@canonical.com>
Acked-by: Masami Hiramatsu <mhiramat@kernel.org>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Wang Nan <wangnan0@huawei.com>
Link: http://lkml.kernel.org/r/1471038296-12956-1-git-send-email-colin.king@canonical.com
[ Free resources when those functions (now being verified) fail ]
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
 tools/perf/util/probe-file.c | 24 ++++++++++++++++++++----
 1 file changed, 20 insertions(+), 4 deletions(-)

diff --git a/tools/perf/util/probe-file.c b/tools/perf/util/probe-file.c
index 9aed9c332da6..a8e76233c088 100644
--- a/tools/perf/util/probe-file.c
+++ b/tools/perf/util/probe-file.c
@@ -133,7 +133,7 @@ int probe_file__open_both(int *kfd, int *ufd, int flag)
 /* Get raw string list of current kprobe_events  or uprobe_events */
 struct strlist *probe_file__get_rawlist(int fd)
 {
-	int ret, idx;
+	int ret, idx, fddup;
 	FILE *fp;
 	char buf[MAX_CMDLEN];
 	char *p;
@@ -144,7 +144,14 @@ struct strlist *probe_file__get_rawlist(int fd)
 
 	sl = strlist__new(NULL, NULL);
 
-	fp = fdopen(dup(fd), "r");
+	fddup = dup(fd);
+	if (fddup < 0)
+		goto out_free_sl;
+
+	fp = fdopen(fddup, "r");
+	if (!fp)
+		goto out_close_fddup;
+
 	while (!feof(fp)) {
 		p = fgets(buf, MAX_CMDLEN, fp);
 		if (!p)
@@ -163,6 +170,12 @@ struct strlist *probe_file__get_rawlist(int fd)
 	fclose(fp);
 
 	return sl;
+
+out_close_fddup:
+	close(fddup);
+out_free_sl:
+	strlist__delete(sl);
+	return NULL;
 }
 
 static struct strlist *__probe_file__get_namelist(int fd, bool include_group)
@@ -447,10 +460,13 @@ static int probe_cache__load(struct probe_cache *pcache)
 {
 	struct probe_cache_entry *entry = NULL;
 	char buf[MAX_CMDLEN], *p;
-	int ret = 0;
+	int ret = 0, fddup;
 	FILE *fp;
 
-	fp = fdopen(dup(pcache->fd), "r");
+	fddup = dup(pcache->fd);
+	if (fddup < 0)
+		return -errno;
+	fp = fdopen(fddup, "r");
 	if (!fp)
 		return -EINVAL;
 
-- 
2.7.4

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

* [PATCH 09/11] perf probe: Release resources on error when handling exit paths
  2016-08-15 21:46 [GIT PULL 00/11] perf/urgent fixes Arnaldo Carvalho de Melo
                   ` (7 preceding siblings ...)
  2016-08-15 21:46 ` [PATCH 08/11] perf probe: Check for dup and fdopen failures Arnaldo Carvalho de Melo
@ 2016-08-15 21:46 ` Arnaldo Carvalho de Melo
  2016-08-15 21:46 ` [PATCH 10/11] tools: Sync kvm related header files for arm64 and s390 Arnaldo Carvalho de Melo
                   ` (2 subsequent siblings)
  11 siblings, 0 replies; 27+ messages in thread
From: Arnaldo Carvalho de Melo @ 2016-08-15 21:46 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: linux-kernel, Arnaldo Carvalho de Melo, Adrian Hunter,
	Colin King, David Ahern, Jiri Olsa, Masami Hiramatsu,
	Namhyung Kim, Wang Nan

From: Arnaldo Carvalho de Melo <acme@redhat.com>

Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: Colin King <colin.king@canonical.com>
Cc: David Ahern <dsahern@gmail.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Masami Hiramatsu <mhiramat@kernel.org>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Wang Nan <wangnan0@huawei.com>
Link: http://lkml.kernel.org/n/tip-zh2j4iqimralugke5qq7dn6d@git.kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
 tools/perf/util/probe-file.c | 12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)

diff --git a/tools/perf/util/probe-file.c b/tools/perf/util/probe-file.c
index a8e76233c088..9c3b9ed5b3c3 100644
--- a/tools/perf/util/probe-file.c
+++ b/tools/perf/util/probe-file.c
@@ -143,6 +143,8 @@ struct strlist *probe_file__get_rawlist(int fd)
 		return NULL;
 
 	sl = strlist__new(NULL, NULL);
+	if (sl == NULL)
+		return NULL;
 
 	fddup = dup(fd);
 	if (fddup < 0)
@@ -163,14 +165,16 @@ struct strlist *probe_file__get_rawlist(int fd)
 		ret = strlist__add(sl, buf);
 		if (ret < 0) {
 			pr_debug("strlist__add failed (%d)\n", ret);
-			strlist__delete(sl);
-			return NULL;
+			goto out_close_fp;
 		}
 	}
 	fclose(fp);
 
 	return sl;
 
+out_close_fp:
+	fclose(fp);
+	goto out_free_sl;
 out_close_fddup:
 	close(fddup);
 out_free_sl:
@@ -467,8 +471,10 @@ static int probe_cache__load(struct probe_cache *pcache)
 	if (fddup < 0)
 		return -errno;
 	fp = fdopen(fddup, "r");
-	if (!fp)
+	if (!fp) {
+		close(fddup);
 		return -EINVAL;
+	}
 
 	while (!feof(fp)) {
 		if (!fgets(buf, MAX_CMDLEN, fp))
-- 
2.7.4

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

* [PATCH 10/11] tools: Sync kvm related header files for arm64 and s390
  2016-08-15 21:46 [GIT PULL 00/11] perf/urgent fixes Arnaldo Carvalho de Melo
                   ` (8 preceding siblings ...)
  2016-08-15 21:46 ` [PATCH 09/11] perf probe: Release resources on error when handling exit paths Arnaldo Carvalho de Melo
@ 2016-08-15 21:46 ` Arnaldo Carvalho de Melo
  2016-08-15 21:46 ` [PATCH 11/11] perf intel-pt: Fix occasional decoding errors when tracing system-wide Arnaldo Carvalho de Melo
  2016-08-16 13:35 ` [GIT PULL v2 00/11] perf/urgent fixes Arnaldo Carvalho de Melo
  11 siblings, 0 replies; 27+ messages in thread
From: Arnaldo Carvalho de Melo @ 2016-08-15 21:46 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: linux-kernel, Arnaldo Carvalho de Melo, Adrian Hunter,
	Alexander Yarygin, David Ahern, Hemant Kumar, Jiri Olsa,
	Michael Ellerman, Namhyung Kim, Naveen N . Rao, Scott Wood,
	Srikar Dronamraju, Wang Nan

From: Arnaldo Carvalho de Melo <acme@redhat.com>

>From a quick look nothing stands out as requiring changes to kvm tools
such as tools/perf/arch/s390/util/kvm-stat.c.

Silences these header checking warnings:

  $ make -C tools/perf
  make: Entering directory '/home/acme/git/linux/tools/perf'
    BUILD:   Doing 'make -j4' parallel build
  Warning: tools/arch/s390/include/uapi/asm/kvm.h differs from kernel
  Warning: tools/arch/s390/include/uapi/asm/sie.h differs from kernel
  Warning: tools/arch/arm64/include/uapi/asm/kvm.h differs from kernel
  <SNIP>

Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: Alexander Yarygin <yarygin@linux.vnet.ibm.com>
Cc: David Ahern <dsahern@gmail.com>
Cc: Hemant Kumar <hemant@linux.vnet.ibm.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Michael Ellerman <mpe@ellerman.id.au>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Naveen N. Rao <naveen.n.rao@linux.vnet.ibm.com>
Cc: Scott  Wood <scottwood@freescale.com>
Cc: Srikar Dronamraju <srikar@linux.vnet.ibm.com>
Cc: Wang Nan <wangnan0@huawei.com>
Link: http://lkml.kernel.org/n/tip-btutge414g516qmh6r5ienlj@git.kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
 tools/arch/arm64/include/uapi/asm/kvm.h |  2 ++
 tools/arch/s390/include/uapi/asm/kvm.h  | 41 +++++++++++++++++++++++++++++++++
 tools/arch/s390/include/uapi/asm/sie.h  |  1 +
 3 files changed, 44 insertions(+)

diff --git a/tools/arch/arm64/include/uapi/asm/kvm.h b/tools/arch/arm64/include/uapi/asm/kvm.h
index f209ea151dca..3051f86a9b5f 100644
--- a/tools/arch/arm64/include/uapi/asm/kvm.h
+++ b/tools/arch/arm64/include/uapi/asm/kvm.h
@@ -87,9 +87,11 @@ struct kvm_regs {
 /* Supported VGICv3 address types  */
 #define KVM_VGIC_V3_ADDR_TYPE_DIST	2
 #define KVM_VGIC_V3_ADDR_TYPE_REDIST	3
+#define KVM_VGIC_ITS_ADDR_TYPE		4
 
 #define KVM_VGIC_V3_DIST_SIZE		SZ_64K
 #define KVM_VGIC_V3_REDIST_SIZE		(2 * SZ_64K)
+#define KVM_VGIC_V3_ITS_SIZE		(2 * SZ_64K)
 
 #define KVM_ARM_VCPU_POWER_OFF		0 /* CPU is started in OFF state */
 #define KVM_ARM_VCPU_EL1_32BIT		1 /* CPU running a 32bit VM */
diff --git a/tools/arch/s390/include/uapi/asm/kvm.h b/tools/arch/s390/include/uapi/asm/kvm.h
index 3b8e99ef9d58..a2ffec4139ad 100644
--- a/tools/arch/s390/include/uapi/asm/kvm.h
+++ b/tools/arch/s390/include/uapi/asm/kvm.h
@@ -93,6 +93,47 @@ struct kvm_s390_vm_cpu_machine {
 	__u64 fac_list[256];
 };
 
+#define KVM_S390_VM_CPU_PROCESSOR_FEAT	2
+#define KVM_S390_VM_CPU_MACHINE_FEAT	3
+
+#define KVM_S390_VM_CPU_FEAT_NR_BITS	1024
+#define KVM_S390_VM_CPU_FEAT_ESOP	0
+#define KVM_S390_VM_CPU_FEAT_SIEF2	1
+#define KVM_S390_VM_CPU_FEAT_64BSCAO	2
+#define KVM_S390_VM_CPU_FEAT_SIIF	3
+#define KVM_S390_VM_CPU_FEAT_GPERE	4
+#define KVM_S390_VM_CPU_FEAT_GSLS	5
+#define KVM_S390_VM_CPU_FEAT_IB		6
+#define KVM_S390_VM_CPU_FEAT_CEI	7
+#define KVM_S390_VM_CPU_FEAT_IBS	8
+#define KVM_S390_VM_CPU_FEAT_SKEY	9
+#define KVM_S390_VM_CPU_FEAT_CMMA	10
+#define KVM_S390_VM_CPU_FEAT_PFMFI	11
+#define KVM_S390_VM_CPU_FEAT_SIGPIF	12
+struct kvm_s390_vm_cpu_feat {
+	__u64 feat[16];
+};
+
+#define KVM_S390_VM_CPU_PROCESSOR_SUBFUNC	4
+#define KVM_S390_VM_CPU_MACHINE_SUBFUNC		5
+/* for "test bit" instructions MSB 0 bit ordering, for "query" raw blocks */
+struct kvm_s390_vm_cpu_subfunc {
+	__u8 plo[32];		/* always */
+	__u8 ptff[16];		/* with TOD-clock steering */
+	__u8 kmac[16];		/* with MSA */
+	__u8 kmc[16];		/* with MSA */
+	__u8 km[16];		/* with MSA */
+	__u8 kimd[16];		/* with MSA */
+	__u8 klmd[16];		/* with MSA */
+	__u8 pckmo[16];		/* with MSA3 */
+	__u8 kmctr[16];		/* with MSA4 */
+	__u8 kmf[16];		/* with MSA4 */
+	__u8 kmo[16];		/* with MSA4 */
+	__u8 pcc[16];		/* with MSA4 */
+	__u8 ppno[16];		/* with MSA5 */
+	__u8 reserved[1824];
+};
+
 /* kvm attributes for crypto */
 #define KVM_S390_VM_CRYPTO_ENABLE_AES_KW	0
 #define KVM_S390_VM_CRYPTO_ENABLE_DEA_KW	1
diff --git a/tools/arch/s390/include/uapi/asm/sie.h b/tools/arch/s390/include/uapi/asm/sie.h
index 8fb5d4a6dd25..3ac634368939 100644
--- a/tools/arch/s390/include/uapi/asm/sie.h
+++ b/tools/arch/s390/include/uapi/asm/sie.h
@@ -140,6 +140,7 @@
 	exit_code_ipa0(0xB2, 0x4c, "TAR"),	\
 	exit_code_ipa0(0xB2, 0x50, "CSP"),	\
 	exit_code_ipa0(0xB2, 0x54, "MVPG"),	\
+	exit_code_ipa0(0xB2, 0x56, "STHYI"),	\
 	exit_code_ipa0(0xB2, 0x58, "BSG"),	\
 	exit_code_ipa0(0xB2, 0x5a, "BSA"),	\
 	exit_code_ipa0(0xB2, 0x5f, "CHSC"),	\
-- 
2.7.4

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

* [PATCH 11/11] perf intel-pt: Fix occasional decoding errors when tracing system-wide
  2016-08-15 21:46 [GIT PULL 00/11] perf/urgent fixes Arnaldo Carvalho de Melo
                   ` (9 preceding siblings ...)
  2016-08-15 21:46 ` [PATCH 10/11] tools: Sync kvm related header files for arm64 and s390 Arnaldo Carvalho de Melo
@ 2016-08-15 21:46 ` Arnaldo Carvalho de Melo
  2016-08-16 13:35 ` [GIT PULL v2 00/11] perf/urgent fixes Arnaldo Carvalho de Melo
  11 siblings, 0 replies; 27+ messages in thread
From: Arnaldo Carvalho de Melo @ 2016-08-15 21:46 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: linux-kernel, Adrian Hunter, Jiri Olsa, stable, #, v4.4+,
	Arnaldo Carvalho de Melo

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

In order to successfully decode Intel PT traces, context switch events
are needed from the moment the trace starts. Currently that is ensured
by using the 'immediate' flag which enables the switch event when it is
opened.

However, since commit 86c2786994bd ("perf intel-pt: Add support for
PERF_RECORD_SWITCH") that might not always happen. When tracing
system-wide the context switch event is added to the tracking event
which was not set as 'immediate'. Change that so it is.

Signed-off-by: Adrian Hunter <adrian.hunter@intel.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: stable@vger.kernel.org # v4.4+
Fixes: 86c2786994bd ("perf intel-pt: Add support for PERF_RECORD_SWITCH")
Link: http://lkml.kernel.org/r/1471245784-22580-1-git-send-email-adrian.hunter@intel.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
 tools/perf/arch/x86/util/intel-pt.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/tools/perf/arch/x86/util/intel-pt.c b/tools/perf/arch/x86/util/intel-pt.c
index fb51457ba338..a2412e9d883b 100644
--- a/tools/perf/arch/x86/util/intel-pt.c
+++ b/tools/perf/arch/x86/util/intel-pt.c
@@ -501,7 +501,7 @@ static int intel_pt_recording_options(struct auxtrace_record *itr,
 	struct intel_pt_recording *ptr =
 			container_of(itr, struct intel_pt_recording, itr);
 	struct perf_pmu *intel_pt_pmu = ptr->intel_pt_pmu;
-	bool have_timing_info;
+	bool have_timing_info, need_immediate = false;
 	struct perf_evsel *evsel, *intel_pt_evsel = NULL;
 	const struct cpu_map *cpus = evlist->cpus;
 	bool privileged = geteuid() == 0 || perf_event_paranoid() < 0;
@@ -655,6 +655,7 @@ static int intel_pt_recording_options(struct auxtrace_record *itr,
 				ptr->have_sched_switch = 3;
 			} else {
 				opts->record_switch_events = true;
+				need_immediate = true;
 				if (cpu_wide)
 					ptr->have_sched_switch = 3;
 				else
@@ -700,6 +701,9 @@ static int intel_pt_recording_options(struct auxtrace_record *itr,
 		tracking_evsel->attr.freq = 0;
 		tracking_evsel->attr.sample_period = 1;
 
+		if (need_immediate)
+			tracking_evsel->immediate = true;
+
 		/* In per-cpu case, always need the time of mmap events etc */
 		if (!cpu_map__empty(cpus)) {
 			perf_evsel__set_sample_bit(tracking_evsel, TIME);
-- 
2.7.4

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

* [GIT PULL v2 00/11] perf/urgent fixes
  2016-08-15 21:46 [GIT PULL 00/11] perf/urgent fixes Arnaldo Carvalho de Melo
                   ` (10 preceding siblings ...)
  2016-08-15 21:46 ` [PATCH 11/11] perf intel-pt: Fix occasional decoding errors when tracing system-wide Arnaldo Carvalho de Melo
@ 2016-08-16 13:35 ` Arnaldo Carvalho de Melo
  2016-08-16 18:10   ` Ingo Molnar
  11 siblings, 1 reply; 27+ messages in thread
From: Arnaldo Carvalho de Melo @ 2016-08-16 13:35 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: linux-kernel, Adrian Hunter, Alexander Shishkin,
	Alexander Yarygin, Ananth N Mavinakayanahalli, Anton Blanchard,
	Balbir Singh, Colin King, David Ahern, He Kuang, Hemant Kumar,
	Jiri Olsa, Masami Hiramatsu, Michael Ellerman, Michael Petlan,
	Namhyung Kim, Naveen N . Rao, Peter Zijlstra, Peter Zijlstra,
	Ravi Bangoria, Scott Wood, Srikar Dronamraju, Stephane Eranian,
	Wang Nan

Hi Ingo,

	Please consider pulling, this time with the request-pull output, the patches are
exactly the same as yesterday's.

- Arnaldo

Build stats:

 # time dm
  1 70.159253018 alpine:3.4: Ok
  2 27.099391445 android-ndk:r12b-arm: Ok
  3 75.359247352 archlinux:latest: Ok
  4 24.340381467 centos:5: Ok
  5 35.444981358 centos:6: Ok
  6 40.638249015 centos:7: Ok
  7 39.903273551 debian:7: Ok
  8 44.413434336 debian:8: Ok
  9 75.444927554 debian:experimental: Ok
 10 74.050811017 fedora:20: Ok
 11 77.325297310 fedora:21: Ok
 12 76.934955654 fedora:22: Ok
 13 77.173183115 fedora:23: Ok
 14 78.870701061 fedora:24: Ok
 15 82.441966844 fedora:rawhide: Ok
 16 81.840268590 mageia:5: Ok
 17 74.529050646 opensuse:13.2: Ok
 18 76.367891421 opensuse:42.1: Ok
 19 82.874433572 opensuse:tumbleweed: Ok
 20 63.525497311 ubuntu:12.04.5: Ok
 21 69.943145955 ubuntu:14.04.4: Ok
 22 72.413641422 ubuntu:15.10: Ok
 23 69.335646559 ubuntu:16.04: Ok
 24 56.204402973 ubuntu:16.04-x-arm: Ok
 25 56.601927116 ubuntu:16.04-x-arm64: Ok
 26 32.073176756 ubuntu:16.04-x-armhf: Ok
 27 55.799523589 ubuntu:16.04-x-powerpc64: Ok
 28 56.579047498 ubuntu:16.04-x-powerpc64el: Ok
 29 55.715073756 ubuntu:16.04-x-s390: Ok
 30 76.034846449 ubuntu:16.10: Ok
    1879.44s

 real	31m20.253s
 user	0m1.768s
 sys	0m2.067s
 #

* The ones taking longer are doing more stuff:
 - Building objtool where supported
 - Building perf twice, with NO_LIBELF=1 and without it.

----------------------------------------------------------------

The following changes since commit 95f3be798472f63b495ca4712af005ea5ac7aa47:

  perf/x86/intel/uncore: Add enable_box for client MSR uncore (2016-08-12 08:35:05 +0200)

are available in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux.git tags/perf-urgent-for-mingo-20160815

for you to fetch changes up to 3d918fb13abdbeca7947578f5d7e426eafad7f5e:

  perf intel-pt: Fix occasional decoding errors when tracing system-wide (2016-08-15 18:11:18 -0300)

----------------------------------------------------------------
perf/urgent fixes:

- Fix occasional decoding errors when tracing system-wide with
  Intel PT (Adrian Hunter)

- Fix ip compression in Intel PT for some specific packet types not
  present on current hardware (Adrian Hunter)

- Fix annotation of objects with debuginfo files (Anton Blanchard)

- Fix build on Fedora Rawhide (25) wrt using the right header to
  get the major() & minor() definitions in the jitdump code, now
  it is deprecated getting those using sys/types.h, one has to use
  sys/sysmacros.h (Arnaldo Carvalho de Melo)

- Sync arm64/s390 kvm related header files (Arnaldo Carvalho de Melo)

- Check for dup and fdopen failures in 'perf probe' (Colin Ian King,
  Arnaldo Carvalho de Melo)

- Fix showing callchains in pipe mode, i.e.

    perf record -g -o - workload | perf script

  now shows callchains (He Kuang)

- Show proper message when the scripts directory points to some
  invalid location in 'perf script --list' (He Kuang)

- Fix 'perf mem -t store' to record 'cpu/mem-stores/P' events
  again (Jiri Olsa)

- Fix ppc64le build failure when libelf is not present (Ravi Bangoria)

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

----------------------------------------------------------------
Adrian Hunter (2):
      perf intel-pt: Fix ip compression
      perf intel-pt: Fix occasional decoding errors when tracing system-wide

Anton Blanchard (1):
      perf symbols: Fix annotation of objects with debuginfo files

Arnaldo Carvalho de Melo (3):
      perf jitdump: Add the right header to get the major()/minor() definitions
      perf probe: Release resources on error when handling exit paths
      tools: Sync kvm related header files for arm64 and s390

Colin Ian King (1):
      perf probe: Check for dup and fdopen failures

He Kuang (2):
      perf script: Show proper message when failed list scripts
      perf script: Don't disable use_callchain if input is pipe

Jiri Olsa (1):
      perf tools mem: Fix -t store option for record command

Ravi Bangoria (1):
      perf ppc64le: Fix build failure when libelf is not present

 tools/arch/arm64/include/uapi/asm/kvm.h            |  2 +
 tools/arch/s390/include/uapi/asm/kvm.h             | 41 ++++++++++++++++++++
 tools/arch/s390/include/uapi/asm/sie.h             |  1 +
 tools/perf/arch/powerpc/util/sym-handling.c        |  2 +
 tools/perf/arch/x86/util/intel-pt.c                |  6 ++-
 tools/perf/builtin-mem.c                           |  3 ++
 tools/perf/builtin-script.c                        | 13 +++++--
 .../perf/util/intel-pt-decoder/intel-pt-decoder.c  | 44 +++++++++++-----------
 .../util/intel-pt-decoder/intel-pt-pkt-decoder.c   | 24 ++++++++----
 tools/perf/util/jitdump.c                          |  1 +
 tools/perf/util/probe-file.c                       | 36 ++++++++++++++----
 tools/perf/util/symbol-elf.c                       |  3 +-
 12 files changed, 136 insertions(+), 40 deletions(-)

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

* Re: [GIT PULL v2 00/11] perf/urgent fixes
  2016-08-16 13:35 ` [GIT PULL v2 00/11] perf/urgent fixes Arnaldo Carvalho de Melo
@ 2016-08-16 18:10   ` Ingo Molnar
  0 siblings, 0 replies; 27+ messages in thread
From: Ingo Molnar @ 2016-08-16 18:10 UTC (permalink / raw)
  To: Arnaldo Carvalho de Melo
  Cc: linux-kernel, Adrian Hunter, Alexander Shishkin,
	Alexander Yarygin, Ananth N Mavinakayanahalli, Anton Blanchard,
	Balbir Singh, Colin King, David Ahern, He Kuang, Hemant Kumar,
	Jiri Olsa, Masami Hiramatsu, Michael Ellerman, Michael Petlan,
	Namhyung Kim, Naveen N . Rao, Peter Zijlstra, Peter Zijlstra,
	Ravi Bangoria, Scott Wood, Srikar Dronamraju, Stephane Eranian,
	Wang Nan


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

> Hi Ingo,
> 
> 	Please consider pulling, this time with the request-pull output, the patches are
> exactly the same as yesterday's.
> 
> - Arnaldo
> 
> Build stats:
> 
>  # time dm
>   1 70.159253018 alpine:3.4: Ok
>   2 27.099391445 android-ndk:r12b-arm: Ok
>   3 75.359247352 archlinux:latest: Ok
>   4 24.340381467 centos:5: Ok
>   5 35.444981358 centos:6: Ok
>   6 40.638249015 centos:7: Ok
>   7 39.903273551 debian:7: Ok
>   8 44.413434336 debian:8: Ok
>   9 75.444927554 debian:experimental: Ok
>  10 74.050811017 fedora:20: Ok
>  11 77.325297310 fedora:21: Ok
>  12 76.934955654 fedora:22: Ok
>  13 77.173183115 fedora:23: Ok
>  14 78.870701061 fedora:24: Ok
>  15 82.441966844 fedora:rawhide: Ok
>  16 81.840268590 mageia:5: Ok
>  17 74.529050646 opensuse:13.2: Ok
>  18 76.367891421 opensuse:42.1: Ok
>  19 82.874433572 opensuse:tumbleweed: Ok
>  20 63.525497311 ubuntu:12.04.5: Ok
>  21 69.943145955 ubuntu:14.04.4: Ok
>  22 72.413641422 ubuntu:15.10: Ok
>  23 69.335646559 ubuntu:16.04: Ok
>  24 56.204402973 ubuntu:16.04-x-arm: Ok
>  25 56.601927116 ubuntu:16.04-x-arm64: Ok
>  26 32.073176756 ubuntu:16.04-x-armhf: Ok
>  27 55.799523589 ubuntu:16.04-x-powerpc64: Ok
>  28 56.579047498 ubuntu:16.04-x-powerpc64el: Ok
>  29 55.715073756 ubuntu:16.04-x-s390: Ok
>  30 76.034846449 ubuntu:16.10: Ok
>     1879.44s
> 
>  real	31m20.253s
>  user	0m1.768s
>  sys	0m2.067s
>  #
> 
> * The ones taking longer are doing more stuff:
>  - Building objtool where supported
>  - Building perf twice, with NO_LIBELF=1 and without it.
> 
> ----------------------------------------------------------------
> 
> The following changes since commit 95f3be798472f63b495ca4712af005ea5ac7aa47:
> 
>   perf/x86/intel/uncore: Add enable_box for client MSR uncore (2016-08-12 08:35:05 +0200)
> 
> are available in the git repository at:
> 
>   git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux.git tags/perf-urgent-for-mingo-20160815
> 
> for you to fetch changes up to 3d918fb13abdbeca7947578f5d7e426eafad7f5e:
> 
>   perf intel-pt: Fix occasional decoding errors when tracing system-wide (2016-08-15 18:11:18 -0300)
> 
> ----------------------------------------------------------------
> perf/urgent fixes:
> 
> - Fix occasional decoding errors when tracing system-wide with
>   Intel PT (Adrian Hunter)
> 
> - Fix ip compression in Intel PT for some specific packet types not
>   present on current hardware (Adrian Hunter)
> 
> - Fix annotation of objects with debuginfo files (Anton Blanchard)
> 
> - Fix build on Fedora Rawhide (25) wrt using the right header to
>   get the major() & minor() definitions in the jitdump code, now
>   it is deprecated getting those using sys/types.h, one has to use
>   sys/sysmacros.h (Arnaldo Carvalho de Melo)
> 
> - Sync arm64/s390 kvm related header files (Arnaldo Carvalho de Melo)
> 
> - Check for dup and fdopen failures in 'perf probe' (Colin Ian King,
>   Arnaldo Carvalho de Melo)
> 
> - Fix showing callchains in pipe mode, i.e.
> 
>     perf record -g -o - workload | perf script
> 
>   now shows callchains (He Kuang)
> 
> - Show proper message when the scripts directory points to some
>   invalid location in 'perf script --list' (He Kuang)
> 
> - Fix 'perf mem -t store' to record 'cpu/mem-stores/P' events
>   again (Jiri Olsa)
> 
> - Fix ppc64le build failure when libelf is not present (Ravi Bangoria)
> 
> Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
> 
> ----------------------------------------------------------------
> Adrian Hunter (2):
>       perf intel-pt: Fix ip compression
>       perf intel-pt: Fix occasional decoding errors when tracing system-wide
> 
> Anton Blanchard (1):
>       perf symbols: Fix annotation of objects with debuginfo files
> 
> Arnaldo Carvalho de Melo (3):
>       perf jitdump: Add the right header to get the major()/minor() definitions
>       perf probe: Release resources on error when handling exit paths
>       tools: Sync kvm related header files for arm64 and s390
> 
> Colin Ian King (1):
>       perf probe: Check for dup and fdopen failures
> 
> He Kuang (2):
>       perf script: Show proper message when failed list scripts
>       perf script: Don't disable use_callchain if input is pipe
> 
> Jiri Olsa (1):
>       perf tools mem: Fix -t store option for record command
> 
> Ravi Bangoria (1):
>       perf ppc64le: Fix build failure when libelf is not present
> 
>  tools/arch/arm64/include/uapi/asm/kvm.h            |  2 +
>  tools/arch/s390/include/uapi/asm/kvm.h             | 41 ++++++++++++++++++++
>  tools/arch/s390/include/uapi/asm/sie.h             |  1 +
>  tools/perf/arch/powerpc/util/sym-handling.c        |  2 +
>  tools/perf/arch/x86/util/intel-pt.c                |  6 ++-
>  tools/perf/builtin-mem.c                           |  3 ++
>  tools/perf/builtin-script.c                        | 13 +++++--
>  .../perf/util/intel-pt-decoder/intel-pt-decoder.c  | 44 +++++++++++-----------
>  .../util/intel-pt-decoder/intel-pt-pkt-decoder.c   | 24 ++++++++----
>  tools/perf/util/jitdump.c                          |  1 +
>  tools/perf/util/probe-file.c                       | 36 ++++++++++++++----
>  tools/perf/util/symbol-elf.c                       |  3 +-
>  12 files changed, 136 insertions(+), 40 deletions(-)

Pulled, thanks a lot Arnaldo!

	Ingo

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

* Re: [GIT PULL 00/11] perf/urgent fixes
  2019-05-03  0:25 [GIT PULL " Arnaldo Carvalho de Melo
@ 2019-05-03  5:49 ` Ingo Molnar
  0 siblings, 0 replies; 27+ messages in thread
From: Ingo Molnar @ 2019-05-03  5:49 UTC (permalink / raw)
  To: Arnaldo Carvalho de Melo
  Cc: Thomas Gleixner, Jiri Olsa, Namhyung Kim, Clark Williams,
	linux-kernel, linux-perf-users, Arnaldo Carvalho de Melo, Bo YU,
	Leo Yan, Robert Walker, Thadeu Lima de Souza Cascardo,
	Thomas Backlund, Thomas Richter, Vineet Gupta


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

> From: Arnaldo Carvalho de Melo <acme@redhat.com>
> 
> Hi Ingo,
> 
> 	This took a bit more time than I expected as I'm traveling,
> LSF/MM + BPF, and also some of the fixes I worked on and off while on my
> way here needed tweaks,
> 
> Thanks,
> 
> - Arnaldo
> 
> Test results at the end of this message, as usual.
> 
> The following changes since commit 1804569d87de903b4d746ba71512c3ed0a890d65:
> 
>   MAINTAINERS: Include vendor specific files under arch/*/events/* (2019-05-02 18:28:12 +0200)
> 
> are available in the Git repository at:
> 
>   git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux.git tags/perf-urgent-for-mingo-5.1-20190502
> 
> for you to fetch changes up to 7e221b811f1472d0c58c7d4e0fe84fcacd22580a:
> 
>   perf tools: Remove needless asm/unistd.h include fixing build in some places (2019-05-02 16:00:20 -0400)
> 
> ----------------------------------------------------------------
> perf/urgent fixes:
> 
> tools UAPI:
> 
>   Arnaldo Carvalho de Melo:
> 
>   - Sync x86's vmx.h with the kernel.
> 
>   - Copy missing unistd.h headers for arc, hexagon and riscv, fixing
>     a reported build regression on the ARC 32-bit architecture.
> 
> perf bench numa:
> 
>   Arnaldo Carvalho de Melo:
> 
>   - Add define for RUSAGE_THREAD if not present, fixing the build on the
>     ARC architecture when only zlib and libnuma are present.
> 
> perf BPF:
> 
>   Arnaldo Carvalho de Melo:
> 
>   - The disassembler-four-args feature test needs -ldl on distros such as
>     Mageia 7.
> 
>   Bo YU:
> 
>   - Fix unlocking on success in perf_env__find_btf(), detected with
>     the coverity tool.
> 
> libtraceevent:
> 
>   Leo Yan:
> 
>   - Change misleading hard coded 'trace-cmd' string in error messages.
> 
> ARM hardware tracing:
> 
>   Leo Yan:
> 
>   - Always allocate memory for cs_etm_queue::prev_packet, fixing a segfault
>     when processing CoreSight perf data.
> 
> perf annotate:
> 
>   Thadeu Lima de Souza Cascardo:
> 
>   - Fix build on 32 bit for BPF.
> 
> perf report:
> 
>   Thomas Richter:
> 
>   - Report OOM in status line in the GTK UI.
> 
> core libs:
> 
>   - Remove needless asm/unistd.h that, used with sys/syscall.h ended
>     up redefining the syscalls defines in environments such as the
>     ARC arch when using uClibc.
> 
> Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
> 
> ----------------------------------------------------------------
> Arnaldo Carvalho de Melo (5):
>       tools uapi x86: Sync vmx.h with the kernel
>       perf bench numa: Add define for RUSAGE_THREAD if not present
>       tools build: Add -ldl to the disassembler-four-args feature test
>       tools arch uapi: Copy missing unistd.h headers for arc, hexagon and riscv
>       perf tools: Remove needless asm/unistd.h include fixing build in some places
> 
> Bo YU (1):
>       perf bpf: Return value with unlocking in perf_env__find_btf()
> 
> Leo Yan (3):
>       tools lib traceevent: Change tag string for error
>       perf cs-etm: Don't check cs_etm_queue::prev_packet validity
>       perf cs-etm: Always allocate memory for cs_etm_queue::prev_packet
> 
> Thadeu Lima de Souza Cascardo (1):
>       perf annotate: Fix build on 32 bit for BPF annotation
> 
> Thomas Richter (1):
>       perf report: Report OOM in status line in the GTK UI
> 
>  tools/arch/arc/include/uapi/asm/unistd.h     | 51 ++++++++++++++++++++++++++++
>  tools/arch/hexagon/include/uapi/asm/unistd.h | 40 ++++++++++++++++++++++
>  tools/arch/riscv/include/uapi/asm/unistd.h   | 42 +++++++++++++++++++++++
>  tools/arch/x86/include/uapi/asm/vmx.h        |  1 +
>  tools/lib/traceevent/parse-utils.c           |  2 +-
>  tools/perf/Makefile.config                   |  2 +-
>  tools/perf/bench/numa.c                      |  4 +++
>  tools/perf/util/annotate.c                   |  8 ++---
>  tools/perf/util/cloexec.c                    |  1 -
>  tools/perf/util/cs-etm.c                     | 14 +++-----
>  tools/perf/util/env.c                        |  2 +-
>  tools/perf/util/session.c                    |  8 +++--
>  12 files changed, 154 insertions(+), 21 deletions(-)
>  create mode 100644 tools/arch/arc/include/uapi/asm/unistd.h
>  create mode 100644 tools/arch/hexagon/include/uapi/asm/unistd.h
>  create mode 100644 tools/arch/riscv/include/uapi/asm/unistd.h

Pulled, thanks a lot Arnaldo!

	Ingo

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

* [GIT PULL 00/11] perf/urgent fixes
@ 2019-05-03  0:25 Arnaldo Carvalho de Melo
  2019-05-03  5:49 ` Ingo Molnar
  0 siblings, 1 reply; 27+ messages in thread
From: Arnaldo Carvalho de Melo @ 2019-05-03  0:25 UTC (permalink / raw)
  To: Ingo Molnar, Thomas Gleixner
  Cc: Jiri Olsa, Namhyung Kim, Clark Williams, linux-kernel,
	linux-perf-users, Arnaldo Carvalho de Melo, Bo YU, Leo Yan,
	Robert Walker, Thadeu Lima de Souza Cascardo, Thomas Backlund,
	Thomas Richter, Vineet Gupta

From: Arnaldo Carvalho de Melo <acme@redhat.com>

Hi Ingo,

	This took a bit more time than I expected as I'm traveling,
LSF/MM + BPF, and also some of the fixes I worked on and off while on my
way here needed tweaks,

Thanks,

- Arnaldo

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

The following changes since commit 1804569d87de903b4d746ba71512c3ed0a890d65:

  MAINTAINERS: Include vendor specific files under arch/*/events/* (2019-05-02 18:28:12 +0200)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux.git tags/perf-urgent-for-mingo-5.1-20190502

for you to fetch changes up to 7e221b811f1472d0c58c7d4e0fe84fcacd22580a:

  perf tools: Remove needless asm/unistd.h include fixing build in some places (2019-05-02 16:00:20 -0400)

----------------------------------------------------------------
perf/urgent fixes:

tools UAPI:

  Arnaldo Carvalho de Melo:

  - Sync x86's vmx.h with the kernel.

  - Copy missing unistd.h headers for arc, hexagon and riscv, fixing
    a reported build regression on the ARC 32-bit architecture.

perf bench numa:

  Arnaldo Carvalho de Melo:

  - Add define for RUSAGE_THREAD if not present, fixing the build on the
    ARC architecture when only zlib and libnuma are present.

perf BPF:

  Arnaldo Carvalho de Melo:

  - The disassembler-four-args feature test needs -ldl on distros such as
    Mageia 7.

  Bo YU:

  - Fix unlocking on success in perf_env__find_btf(), detected with
    the coverity tool.

libtraceevent:

  Leo Yan:

  - Change misleading hard coded 'trace-cmd' string in error messages.

ARM hardware tracing:

  Leo Yan:

  - Always allocate memory for cs_etm_queue::prev_packet, fixing a segfault
    when processing CoreSight perf data.

perf annotate:

  Thadeu Lima de Souza Cascardo:

  - Fix build on 32 bit for BPF.

perf report:

  Thomas Richter:

  - Report OOM in status line in the GTK UI.

core libs:

  - Remove needless asm/unistd.h that, used with sys/syscall.h ended
    up redefining the syscalls defines in environments such as the
    ARC arch when using uClibc.

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

----------------------------------------------------------------
Arnaldo Carvalho de Melo (5):
      tools uapi x86: Sync vmx.h with the kernel
      perf bench numa: Add define for RUSAGE_THREAD if not present
      tools build: Add -ldl to the disassembler-four-args feature test
      tools arch uapi: Copy missing unistd.h headers for arc, hexagon and riscv
      perf tools: Remove needless asm/unistd.h include fixing build in some places

Bo YU (1):
      perf bpf: Return value with unlocking in perf_env__find_btf()

Leo Yan (3):
      tools lib traceevent: Change tag string for error
      perf cs-etm: Don't check cs_etm_queue::prev_packet validity
      perf cs-etm: Always allocate memory for cs_etm_queue::prev_packet

Thadeu Lima de Souza Cascardo (1):
      perf annotate: Fix build on 32 bit for BPF annotation

Thomas Richter (1):
      perf report: Report OOM in status line in the GTK UI

 tools/arch/arc/include/uapi/asm/unistd.h     | 51 ++++++++++++++++++++++++++++
 tools/arch/hexagon/include/uapi/asm/unistd.h | 40 ++++++++++++++++++++++
 tools/arch/riscv/include/uapi/asm/unistd.h   | 42 +++++++++++++++++++++++
 tools/arch/x86/include/uapi/asm/vmx.h        |  1 +
 tools/lib/traceevent/parse-utils.c           |  2 +-
 tools/perf/Makefile.config                   |  2 +-
 tools/perf/bench/numa.c                      |  4 +++
 tools/perf/util/annotate.c                   |  8 ++---
 tools/perf/util/cloexec.c                    |  1 -
 tools/perf/util/cs-etm.c                     | 14 +++-----
 tools/perf/util/env.c                        |  2 +-
 tools/perf/util/session.c                    |  8 +++--
 12 files changed, 154 insertions(+), 21 deletions(-)
 create mode 100644 tools/arch/arc/include/uapi/asm/unistd.h
 create mode 100644 tools/arch/hexagon/include/uapi/asm/unistd.h
 create mode 100644 tools/arch/riscv/include/uapi/asm/unistd.h

Test results:

The first ones are container based builds of tools/perf with and without libelf
support.  Where clang is available, it is also used to build perf with/without
libelf, and building with LIBCLANGLLVM=1 (built-in clang) with gcc and clang
when clang and its devel libraries are installed.

The objtool and samples/bpf/ builds are disabled now that I'm switching from
using the sources in a local volume to fetching them from a http server to
build it inside the container, to make it easier to build in a container cluster.
Those will come back later.

Several are cross builds, the ones with -x-ARCH and the android one, and those
may not have all the features built, due to lack of multi-arch devel packages,
available and being used so far on just a few, like
debian:experimental-x-{arm64,mipsel}.

The 'perf test' one will perform a variety of tests exercising
tools/perf/util/, tools/lib/{bpf,traceevent,etc}, as well as run perf commands
with a variety of command line event specifications to then intercept the
sys_perf_event syscall to check that the perf_event_attr fields are set up as
expected, among a variety of other unit tests.

Then there is the 'make -C tools/perf build-test' ones, that build tools/perf/
with a variety of feature sets, exercising the build with an incomplete set of
features as well as with a complete one. It is planned to have it run on each
of the containers mentioned above, using some container orchestration
infrastructure. Get in contact if interested in helping having this in place.

  $ export PERF_TARBALL=http://192.168.124.1/perf/perf-5.1.0-rc7.tar.xz
  $ dm
   1 alpine:3.4                    : Ok   gcc (Alpine 5.3.0) 5.3.0
   2 alpine:3.5                    : Ok   gcc (Alpine 6.2.1) 6.2.1 20160822
   3 alpine:3.6                    : Ok   gcc (Alpine 6.3.0) 6.3.0
   4 alpine:3.7                    : Ok   gcc (Alpine 6.4.0) 6.4.0
   5 alpine:3.8                    : Ok   gcc (Alpine 6.4.0) 6.4.0
   6 alpine:3.9                    : Ok   gcc (Alpine 8.3.0) 8.3.0
   7 alpine:edge                   : Ok   gcc (Alpine 8.3.0) 8.3.0
   8 amazonlinux:1                 : Ok   gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-28)
   9 amazonlinux:2                 : Ok   gcc (GCC) 7.3.1 20180303 (Red Hat 7.3.1-5)
  10 android-ndk:r12b-arm          : Ok   arm-linux-androideabi-gcc (GCC) 4.9.x 20150123 (prerelease)
  11 android-ndk:r15c-arm          : Ok   arm-linux-androideabi-gcc (GCC) 4.9.x 20150123 (prerelease)
  12 centos:5                      : Ok   gcc (GCC) 4.1.2 20080704 (Red Hat 4.1.2-55)
  13 centos:6                      : Ok   gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-23)
  14 centos:7                      : Ok   gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-36)
  15 clearlinux:latest             : Ok   gcc (Clear Linux OS for Intel Architecture) 9.0.1 20190501 (prerelease) gcc-8-branch@270761
  16 debian:8                      : Ok   gcc (Debian 4.9.2-10+deb8u2) 4.9.2
  17 debian:9                      : Ok   gcc (Debian 6.3.0-18+deb9u1) 6.3.0 20170516
  18 debian:experimental           : Ok   gcc (Debian 8.3.0-6) 8.3.0
  19 debian:experimental-x-arm64   : Ok   aarch64-linux-gnu-gcc (Debian 8.3.0-4) 8.3.0
  20 debian:experimental-x-mips    : Ok   mips-linux-gnu-gcc (Debian 8.3.0-4) 8.3.0
  21 debian:experimental-x-mips64  : Ok   mips64-linux-gnuabi64-gcc (Debian 8.3.0-2) 8.3.0
  22 debian:experimental-x-mipsel  : Ok   mipsel-linux-gnu-gcc (Debian 8.3.0-4) 8.3.0
  23 fedora:20                     : Ok   gcc (GCC) 4.8.3 20140911 (Red Hat 4.8.3-7)
  24 fedora:22                     : Ok   gcc (GCC) 5.3.1 20160406 (Red Hat 5.3.1-6)
  25 fedora:23                     : Ok   gcc (GCC) 5.3.1 20160406 (Red Hat 5.3.1-6)
  26 fedora:24                     : Ok   gcc (GCC) 6.3.1 20161221 (Red Hat 6.3.1-1)
  27 fedora:24-x-ARC-uClibc        : Ok   arc-linux-gcc (ARCompact ISA Linux uClibc toolchain 2017.09-rc2) 7.1.1 20170710
  28 fedora:25                     : Ok   gcc (GCC) 6.4.1 20170727 (Red Hat 6.4.1-1)
  29 fedora:26                     : Ok   gcc (GCC) 7.3.1 20180130 (Red Hat 7.3.1-2)
  30 fedora:27                     : Ok   gcc (GCC) 7.3.1 20180712 (Red Hat 7.3.1-6)
  31 fedora:28                     : Ok   gcc (GCC) 8.3.1 20190223 (Red Hat 8.3.1-2)
  32 fedora:29                     : Ok   gcc (GCC) 8.3.1 20190223 (Red Hat 8.3.1-2)
  33 fedora:30                     : Ok   gcc (GCC) 9.0.1 20190312 (Red Hat 9.0.1-0.10)
  34 fedora:30-x-ARC-glibc         : Ok   arc-linux-gcc (ARC HS GNU/Linux glibc toolchain 2019.03-rc1) 8.3.1 20190225
  35 fedora:30-x-ARC-uClibc        : Ok   arc-linux-gcc (ARCv2 ISA Linux uClibc toolchain 2019.03-rc1) 8.3.1 20190225
  36 fedora:rawhide                : Ok   gcc (GCC) 9.0.1 20190418 (Red Hat 9.0.1-0.14)
  37 gentoo-stage3-amd64:latest    : Ok   gcc (Gentoo 8.2.0-r6 p1.7) 8.2.0
  38 mageia:5                      : Ok   gcc (GCC) 4.9.2
  39 mageia:6                      : Ok   gcc (Mageia 5.5.0-1.mga6) 5.5.0
  40 opensuse:15.0                 : Ok   gcc (SUSE Linux) 7.3.1 20180323 [gcc-7-branch revision 258812]
  41 opensuse:15.1                 : Ok   gcc (SUSE Linux) 7.4.0
  42 opensuse:42.3                 : Ok   gcc (SUSE Linux) 4.8.5
  43 opensuse:tumbleweed           : Ok   gcc (SUSE Linux) 8.3.1 20190226 [gcc-8-branch revision 269204]
  44 oraclelinux:6                 : Ok   gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-23.0.1)
  45 oraclelinux:7                 : Ok   gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-36.0.1)
  46 ubuntu:12.04.5                : Ok   gcc (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3
  47 ubuntu:14.04.4                : Ok   gcc (Ubuntu 4.8.4-2ubuntu1~14.04.4) 4.8.4
  48 ubuntu:16.04                  : Ok   gcc (Ubuntu 5.4.0-6ubuntu1~16.04.11) 5.4.0 20160609
  49 ubuntu:16.04-x-arm            : Ok   arm-linux-gnueabihf-gcc (Ubuntu/Linaro 5.4.0-6ubuntu1~16.04.9) 5.4.0 20160609
  50 ubuntu:16.04-x-arm64          : Ok   aarch64-linux-gnu-gcc (Ubuntu/Linaro 5.4.0-6ubuntu1~16.04.9) 5.4.0 20160609
  51 ubuntu:16.04-x-powerpc        : Ok   powerpc-linux-gnu-gcc (Ubuntu 5.4.0-6ubuntu1~16.04.9) 5.4.0 20160609
  52 ubuntu:16.04-x-powerpc64      : Ok   powerpc64-linux-gnu-gcc (Ubuntu/IBM 5.4.0-6ubuntu1~16.04.9) 5.4.0 20160609
  53 ubuntu:16.04-x-powerpc64el    : Ok   powerpc64le-linux-gnu-gcc (Ubuntu/IBM 5.4.0-6ubuntu1~16.04.9) 5.4.0 20160609
  54 ubuntu:16.04-x-s390           : Ok   s390x-linux-gnu-gcc (Ubuntu 5.4.0-6ubuntu1~16.04.9) 5.4.0 20160609
  55 ubuntu:17.10                  : Ok   gcc (Ubuntu 7.2.0-8ubuntu3.2) 7.2.0
  56 ubuntu:18.04                  : Ok   gcc (Ubuntu 7.3.0-27ubuntu1~18.04) 7.3.0
  57 ubuntu:18.04-x-arm            : Ok   arm-linux-gnueabihf-gcc (Ubuntu/Linaro 7.3.0-27ubuntu1~18.04) 7.3.0
  58 ubuntu:18.04-x-arm64          : Ok   aarch64-linux-gnu-gcc (Ubuntu/Linaro 7.3.0-27ubuntu1~18.04) 7.3.0
  59 ubuntu:18.04-x-m68k           : Ok   m68k-linux-gnu-gcc (Ubuntu 7.3.0-27ubuntu1~18.04) 7.3.0
  60 ubuntu:18.04-x-powerpc        : Ok   powerpc-linux-gnu-gcc (Ubuntu 7.3.0-27ubuntu1~18.04) 7.3.0
  61 ubuntu:18.04-x-powerpc64      : Ok   powerpc64-linux-gnu-gcc (Ubuntu 7.3.0-27ubuntu1~18.04) 7.3.0
  62 ubuntu:18.04-x-powerpc64el    : Ok   powerpc64le-linux-gnu-gcc (Ubuntu 7.3.0-27ubuntu1~18.04) 7.3.0
  63 ubuntu:18.04-x-riscv64        : Ok   riscv64-linux-gnu-gcc (Ubuntu 7.3.0-27ubuntu1~18.04) 7.3.0
  64 ubuntu:18.04-x-s390           : Ok   s390x-linux-gnu-gcc (Ubuntu 7.3.0-27ubuntu1~18.04) 7.3.0
  65 ubuntu:18.04-x-sh4            : Ok   sh4-linux-gnu-gcc (Ubuntu 7.3.0-27ubuntu1~18.04) 7.3.0
  66 ubuntu:18.04-x-sparc64        : Ok   sparc64-linux-gnu-gcc (Ubuntu 7.4.0-1ubuntu1~18.04) 7.4.0
  67 ubuntu:18.10                  : Ok   gcc (Ubuntu 8.2.0-7ubuntu1) 8.2.0
  68 ubuntu:19.04                  : Ok   gcc (Ubuntu 8.3.0-6ubuntu1) 8.3.0
  69 ubuntu:19.04-x-alpha          : Ok   alpha-linux-gnu-gcc (Ubuntu 8.3.0-6ubuntu1) 8.3.0
  70 ubuntu:19.04-x-arm64          : Ok   aarch64-linux-gnu-gcc (Ubuntu/Linaro 8.3.0-6ubuntu1) 8.3.0
  71 ubuntu:19.04-x-hppa           : Ok   hppa-linux-gnu-gcc (Ubuntu 8.3.0-6ubuntu1) 8.3.0
  $ 

  # uname -a
  Linux quaco 5.1.0-rc7+ #1 SMP Thu May 2 09:47:59 EDT 2019 x86_64 x86_64 x86_64 GNU/Linux
  # git log --oneline -1
  7e221b811f14 perf tools: Remove needless asm/unistd.h include fixing build in some places
  # perf version --build-options
  perf version 5.1.rc7.g7e221b8
                   dwarf: [ on  ]  # HAVE_DWARF_SUPPORT
      dwarf_getlocations: [ on  ]  # HAVE_DWARF_GETLOCATIONS_SUPPORT
                   glibc: [ on  ]  # HAVE_GLIBC_SUPPORT
                    gtk2: [ on  ]  # HAVE_GTK2_SUPPORT
           syscall_table: [ on  ]  # HAVE_SYSCALL_TABLE_SUPPORT
                  libbfd: [ on  ]  # HAVE_LIBBFD_SUPPORT
                  libelf: [ on  ]  # HAVE_LIBELF_SUPPORT
                 libnuma: [ on  ]  # HAVE_LIBNUMA_SUPPORT
  numa_num_possible_cpus: [ on  ]  # HAVE_LIBNUMA_SUPPORT
                 libperl: [ on  ]  # HAVE_LIBPERL_SUPPORT
               libpython: [ on  ]  # HAVE_LIBPYTHON_SUPPORT
                libslang: [ on  ]  # HAVE_SLANG_SUPPORT
               libcrypto: [ on  ]  # HAVE_LIBCRYPTO_SUPPORT
               libunwind: [ on  ]  # HAVE_LIBUNWIND_SUPPORT
      libdw-dwarf-unwind: [ on  ]  # HAVE_DWARF_SUPPORT
                    zlib: [ on  ]  # HAVE_ZLIB_SUPPORT
                    lzma: [ on  ]  # HAVE_LZMA_SUPPORT
               get_cpuid: [ on  ]  # HAVE_AUXTRACE_SUPPORT
                     bpf: [ on  ]  # HAVE_LIBBPF_SUPPORT
  # perf test
   1: vmlinux symtab matches kallsyms                       : Ok
   2: Detect openat syscall event                           : Ok
   3: Detect openat syscall event on all cpus               : Ok
   4: Read samples using the mmap interface                 : Ok
   5: Test data source output                               : Ok
   6: Parse event definition strings                        : Ok
   7: Simple expression parser                              : Ok
   8: PERF_RECORD_* events & perf_sample fields             : Ok
   9: Parse perf pmu format                                 : Ok
  10: DSO data read                                         : Ok
  11: DSO data cache                                        : Ok
  12: DSO data reopen                                       : Ok
  13: Roundtrip evsel->name                                 : Ok
  14: Parse sched tracepoints fields                        : Ok
  15: syscalls:sys_enter_openat event fields                : Ok
  16: Setup struct perf_event_attr                          : Ok
  17: Match and link multiple hists                         : Ok
  18: 'import perf' in python                               : Ok
  19: Breakpoint overflow signal handler                    : Ok
  20: Breakpoint overflow sampling                          : Ok
  21: Breakpoint accounting                                 : Ok
  22: Watchpoint                                            :
  22.1: Read Only Watchpoint                                : Skip
  22.2: Write Only Watchpoint                               : Ok
  22.3: Read / Write Watchpoint                             : Ok
  22.4: Modify Watchpoint                                   : Ok
  23: Number of exit events of a simple workload            : Ok
  24: Software clock events period values                   : Ok
  25: Object code reading                                   : Ok
  26: Sample parsing                                        : Ok
  27: Use a dummy software event to keep tracking           : Ok
  28: Parse with no sample_id_all bit set                   : Ok
  29: Filter hist entries                                   : Ok
  30: Lookup mmap thread                                    : Ok
  31: Share thread mg                                       : Ok
  32: Sort output of hist entries                           : Ok
  33: Cumulate child hist entries                           : Ok
  34: Track with sched_switch                               : Ok
  35: Filter fds with revents mask in a fdarray             : Ok
  36: Add fd to a fdarray, making it autogrow               : Ok
  37: kmod_path__parse                                      : Ok
  38: Thread map                                            : Ok
  39: LLVM search and compile                               :
  39.1: Basic BPF llvm compile                              : Ok
  39.2: kbuild searching                                    : Ok
  39.3: Compile source for BPF prologue generation          : Ok
  39.4: Compile source for BPF relocation                   : Ok
  40: Session topology                                      : Ok
  41: BPF filter                                            :
  41.1: Basic BPF filtering                                 : Ok
  41.2: BPF pinning                                         : Ok
  41.3: BPF prologue generation                             : Ok
  41.4: BPF relocation checker                              : Ok
  42: Synthesize thread map                                 : Ok
  43: Remove thread map                                     : Ok
  44: Synthesize cpu map                                    : Ok
  45: Synthesize stat config                                : Ok
  46: Synthesize stat                                       : Ok
  47: Synthesize stat round                                 : Ok
  48: Synthesize attr update                                : Ok
  49: Event times                                           : Ok
  50: Read backward ring buffer                             : Ok
  51: Print cpu map                                         : Ok
  52: Probe SDT events                                      : Ok
  53: is_printable_array                                    : Ok
  54: Print bitmap                                          : Ok
  55: perf hooks                                            : Ok
  56: builtin clang support                                 : Skip (not compiled in)
  57: unit_number__scnprintf                                : Ok
  58: mem2node                                              : Ok
  59: x86 rdpmc                                             : Ok
  60: Convert perf time to TSC                              : Ok
  61: DWARF unwind                                          : Ok
  62: x86 instruction decoder - new instructions            : Ok
  63: x86 bp modify                                         : Ok
  64: probe libc's inet_pton & backtrace it with ping       : Ok
  65: Use vfs_getname probe to get syscall args filenames   : Ok
  66: Add vfs_getname probe to get syscall args filenames   : Ok
  67: Check open filename arg using perf trace + vfs_getname: Ok

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

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

* Re: [GIT PULL 00/11] perf/urgent fixes
  2018-10-17 22:54 ` Arnaldo Carvalho de Melo
  (?)
@ 2018-10-18  5:44   ` Ingo Molnar
  -1 siblings, 0 replies; 27+ messages in thread
From: Ingo Molnar @ 2018-10-18  5:44 UTC (permalink / raw)
  To: Arnaldo Carvalho de Melo
  Cc: Clark Williams, linux-kernel, linux-perf-users, Adrian Hunter,
	Alexander Shishkin, Andi Kleen, David Ahern, David S . Miller,
	Drew Schmitt, Hadrien Grasland, Herton R. Krzesinski,
	Jarod Wilson, Jin Yao, Jiri Olsa, John Garry, Kan Liang,
	linuxarm, linux-arm-kernel, Mark Rutland, Michael Petlan,
	Milian Wolff, Namhyung Kim, Paolo Bonzini, Peter Zijlstra,
	Stephane Eranian, Steven Rostedt, Tzvetomir Stoyanov,
	Vitaly Kuznetsov, Wang Nan, Will Deacon, William Cohen,
	Yordan Karadzhov, Arnaldo Carvalho de Melo


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

> Hi Ingo,
> 
> 	Please consider pulling,
> 
> Best Regards,
> 
> - Arnaldo
> 
> Test results at the end of this message, as usual.
> 
> The following changes since commit c1883f10cfe05c707cce46d6999411c50a2413ca:
> 
>   Merge tag 'perf-urgent-for-mingo-4.19-20181005' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/urgent (2018-10-05 18:14:00 +0200)
> 
> are available in the Git repository at:
> 
>   git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux.git tags/perf-urgent-for-mingo-4.19-20181017
> 
> for you to fetch changes up to edeb0c90df3581b821a764052d185df985f8b8dc:
> 
>   perf tools: Stop fallbacking to kallsyms for vdso symbols lookup (2018-10-17 15:56:15 -0300)
> 
> ----------------------------------------------------------------
> perf/urgent fixes:
> 
> - Stop fallbacking to kallsyms for vDSO symbols lookup, this wasn't
>   being really used and is not valid in arches such as Sparc, where
>   user and kernel space don't share the address space, relying only on
>   cpumode to figure out what DSOs to lookup (Arnaldo Carvalho de Melo)
> 
> - Align cpu map synthesized events properly, fixing SIGBUS in
>   CPUs like Sparc (David Miller)
> 
> - Fix use of alternatives to find JDIR (Jarod Wilson)
> 
> - Store ids for events with their own cpus when synthesizing user
>   level event details (scale, unit, etc) events, fixing a crash
>   when recording a PMU event with a cpumask defined (Jiri Olsa)
> 
> - Fix wrong filter_band* values for uncore Intel vendor events (Jiri Olsa)
> 
> - Fix detection of tracefs path in systems without tracefs, where
>   that path should be the debugfs mountpoint plus "/tracing/" (Jiri Olsa)
> 
> - Pass build flags to traceevent build, allowing using alternative
>   flags in distro packages, RPM, for instance (Jiri Olsa)
> 
> - Fix 'perf report' crash on invalid inline debug information (Milian Wolff)
> 
> - Synch kvm uapi copies (Arnaldo Carvalho de Melo)
> 
> Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
> 
> ----------------------------------------------------------------
> Arnaldo Carvalho de Melo (3):
>       tools arch uapi: Sync the x86 kvm.h copy
>       tools headers uapi: Sync kvm.h copy
>       perf tools: Stop fallbacking to kallsyms for vdso symbols lookup
> 
> David Miller (1):
>       perf cpu_map: Align cpu map synthesized events properly.
> 
> Jarod Wilson (1):
>       perf tools: Fix use of alternatives to find JDIR
> 
> Jiri Olsa (5):
>       Revert "perf tools: Fix PMU term format max value calculation"
>       perf vendor events intel: Fix wrong filter_band* values for uncore events
>       perf evsel: Store ids for events with their own cpus perf_event__synthesize_event_update_cpus
>       perf tools: Fix tracing_path_mount proper path
>       perf tools: Pass build flags to traceevent build
> 
> Milian Wolff (1):
>       perf report: Don't crash on invalid inline debug information
> 
>  tools/arch/x86/include/uapi/asm/kvm.h              |  1 +
>  tools/include/uapi/linux/kvm.h                     |  1 +
>  tools/lib/api/fs/tracing_path.c                    |  4 ++--
>  tools/perf/Makefile.config                         |  2 +-
>  tools/perf/Makefile.perf                           |  2 +-
>  tools/perf/builtin-report.c                        |  1 +
>  .../pmu-events/arch/x86/ivytown/uncore-power.json  | 16 ++++++++--------
>  .../pmu-events/arch/x86/jaketown/uncore-power.json | 16 ++++++++--------
>  tools/perf/util/event.c                            | 22 +++-------------------
>  tools/perf/util/evsel.c                            |  3 +++
>  tools/perf/util/pmu.c                              | 13 +++++++------
>  tools/perf/util/srcline.c                          |  3 +++
>  12 files changed, 39 insertions(+), 45 deletions(-)

Pulled, thanks a lot Arnaldo!

	Ingo

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

* Re: [GIT PULL 00/11] perf/urgent fixes
@ 2018-10-18  5:44   ` Ingo Molnar
  0 siblings, 0 replies; 27+ messages in thread
From: Ingo Molnar @ 2018-10-18  5:44 UTC (permalink / raw)
  To: Arnaldo Carvalho de Melo
  Cc: Clark Williams, linux-kernel, linux-perf-users, Adrian Hunter,
	Alexander Shishkin, Andi Kleen, David Ahern, David S . Miller,
	Drew Schmitt, Hadrien Grasland, Herton R. Krzesinski,
	Jarod Wilson, Jin Yao, Jiri Olsa, John Garry, Kan Liang,
	linuxarm, linux-arm-kernel, Mark Rutland, Michael Petlan,
	Milian Wolff


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

> Hi Ingo,
> 
> 	Please consider pulling,
> 
> Best Regards,
> 
> - Arnaldo
> 
> Test results at the end of this message, as usual.
> 
> The following changes since commit c1883f10cfe05c707cce46d6999411c50a2413ca:
> 
>   Merge tag 'perf-urgent-for-mingo-4.19-20181005' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/urgent (2018-10-05 18:14:00 +0200)
> 
> are available in the Git repository at:
> 
>   git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux.git tags/perf-urgent-for-mingo-4.19-20181017
> 
> for you to fetch changes up to edeb0c90df3581b821a764052d185df985f8b8dc:
> 
>   perf tools: Stop fallbacking to kallsyms for vdso symbols lookup (2018-10-17 15:56:15 -0300)
> 
> ----------------------------------------------------------------
> perf/urgent fixes:
> 
> - Stop fallbacking to kallsyms for vDSO symbols lookup, this wasn't
>   being really used and is not valid in arches such as Sparc, where
>   user and kernel space don't share the address space, relying only on
>   cpumode to figure out what DSOs to lookup (Arnaldo Carvalho de Melo)
> 
> - Align cpu map synthesized events properly, fixing SIGBUS in
>   CPUs like Sparc (David Miller)
> 
> - Fix use of alternatives to find JDIR (Jarod Wilson)
> 
> - Store ids for events with their own cpus when synthesizing user
>   level event details (scale, unit, etc) events, fixing a crash
>   when recording a PMU event with a cpumask defined (Jiri Olsa)
> 
> - Fix wrong filter_band* values for uncore Intel vendor events (Jiri Olsa)
> 
> - Fix detection of tracefs path in systems without tracefs, where
>   that path should be the debugfs mountpoint plus "/tracing/" (Jiri Olsa)
> 
> - Pass build flags to traceevent build, allowing using alternative
>   flags in distro packages, RPM, for instance (Jiri Olsa)
> 
> - Fix 'perf report' crash on invalid inline debug information (Milian Wolff)
> 
> - Synch kvm uapi copies (Arnaldo Carvalho de Melo)
> 
> Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
> 
> ----------------------------------------------------------------
> Arnaldo Carvalho de Melo (3):
>       tools arch uapi: Sync the x86 kvm.h copy
>       tools headers uapi: Sync kvm.h copy
>       perf tools: Stop fallbacking to kallsyms for vdso symbols lookup
> 
> David Miller (1):
>       perf cpu_map: Align cpu map synthesized events properly.
> 
> Jarod Wilson (1):
>       perf tools: Fix use of alternatives to find JDIR
> 
> Jiri Olsa (5):
>       Revert "perf tools: Fix PMU term format max value calculation"
>       perf vendor events intel: Fix wrong filter_band* values for uncore events
>       perf evsel: Store ids for events with their own cpus perf_event__synthesize_event_update_cpus
>       perf tools: Fix tracing_path_mount proper path
>       perf tools: Pass build flags to traceevent build
> 
> Milian Wolff (1):
>       perf report: Don't crash on invalid inline debug information
> 
>  tools/arch/x86/include/uapi/asm/kvm.h              |  1 +
>  tools/include/uapi/linux/kvm.h                     |  1 +
>  tools/lib/api/fs/tracing_path.c                    |  4 ++--
>  tools/perf/Makefile.config                         |  2 +-
>  tools/perf/Makefile.perf                           |  2 +-
>  tools/perf/builtin-report.c                        |  1 +
>  .../pmu-events/arch/x86/ivytown/uncore-power.json  | 16 ++++++++--------
>  .../pmu-events/arch/x86/jaketown/uncore-power.json | 16 ++++++++--------
>  tools/perf/util/event.c                            | 22 +++-------------------
>  tools/perf/util/evsel.c                            |  3 +++
>  tools/perf/util/pmu.c                              | 13 +++++++------
>  tools/perf/util/srcline.c                          |  3 +++
>  12 files changed, 39 insertions(+), 45 deletions(-)

Pulled, thanks a lot Arnaldo!

	Ingo

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

* [GIT PULL 00/11] perf/urgent fixes
@ 2018-10-18  5:44   ` Ingo Molnar
  0 siblings, 0 replies; 27+ messages in thread
From: Ingo Molnar @ 2018-10-18  5:44 UTC (permalink / raw)
  To: linux-arm-kernel


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

> Hi Ingo,
> 
> 	Please consider pulling,
> 
> Best Regards,
> 
> - Arnaldo
> 
> Test results at the end of this message, as usual.
> 
> The following changes since commit c1883f10cfe05c707cce46d6999411c50a2413ca:
> 
>   Merge tag 'perf-urgent-for-mingo-4.19-20181005' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/urgent (2018-10-05 18:14:00 +0200)
> 
> are available in the Git repository at:
> 
>   git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux.git tags/perf-urgent-for-mingo-4.19-20181017
> 
> for you to fetch changes up to edeb0c90df3581b821a764052d185df985f8b8dc:
> 
>   perf tools: Stop fallbacking to kallsyms for vdso symbols lookup (2018-10-17 15:56:15 -0300)
> 
> ----------------------------------------------------------------
> perf/urgent fixes:
> 
> - Stop fallbacking to kallsyms for vDSO symbols lookup, this wasn't
>   being really used and is not valid in arches such as Sparc, where
>   user and kernel space don't share the address space, relying only on
>   cpumode to figure out what DSOs to lookup (Arnaldo Carvalho de Melo)
> 
> - Align cpu map synthesized events properly, fixing SIGBUS in
>   CPUs like Sparc (David Miller)
> 
> - Fix use of alternatives to find JDIR (Jarod Wilson)
> 
> - Store ids for events with their own cpus when synthesizing user
>   level event details (scale, unit, etc) events, fixing a crash
>   when recording a PMU event with a cpumask defined (Jiri Olsa)
> 
> - Fix wrong filter_band* values for uncore Intel vendor events (Jiri Olsa)
> 
> - Fix detection of tracefs path in systems without tracefs, where
>   that path should be the debugfs mountpoint plus "/tracing/" (Jiri Olsa)
> 
> - Pass build flags to traceevent build, allowing using alternative
>   flags in distro packages, RPM, for instance (Jiri Olsa)
> 
> - Fix 'perf report' crash on invalid inline debug information (Milian Wolff)
> 
> - Synch kvm uapi copies (Arnaldo Carvalho de Melo)
> 
> Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
> 
> ----------------------------------------------------------------
> Arnaldo Carvalho de Melo (3):
>       tools arch uapi: Sync the x86 kvm.h copy
>       tools headers uapi: Sync kvm.h copy
>       perf tools: Stop fallbacking to kallsyms for vdso symbols lookup
> 
> David Miller (1):
>       perf cpu_map: Align cpu map synthesized events properly.
> 
> Jarod Wilson (1):
>       perf tools: Fix use of alternatives to find JDIR
> 
> Jiri Olsa (5):
>       Revert "perf tools: Fix PMU term format max value calculation"
>       perf vendor events intel: Fix wrong filter_band* values for uncore events
>       perf evsel: Store ids for events with their own cpus perf_event__synthesize_event_update_cpus
>       perf tools: Fix tracing_path_mount proper path
>       perf tools: Pass build flags to traceevent build
> 
> Milian Wolff (1):
>       perf report: Don't crash on invalid inline debug information
> 
>  tools/arch/x86/include/uapi/asm/kvm.h              |  1 +
>  tools/include/uapi/linux/kvm.h                     |  1 +
>  tools/lib/api/fs/tracing_path.c                    |  4 ++--
>  tools/perf/Makefile.config                         |  2 +-
>  tools/perf/Makefile.perf                           |  2 +-
>  tools/perf/builtin-report.c                        |  1 +
>  .../pmu-events/arch/x86/ivytown/uncore-power.json  | 16 ++++++++--------
>  .../pmu-events/arch/x86/jaketown/uncore-power.json | 16 ++++++++--------
>  tools/perf/util/event.c                            | 22 +++-------------------
>  tools/perf/util/evsel.c                            |  3 +++
>  tools/perf/util/pmu.c                              | 13 +++++++------
>  tools/perf/util/srcline.c                          |  3 +++
>  12 files changed, 39 insertions(+), 45 deletions(-)

Pulled, thanks a lot Arnaldo!

	Ingo

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

* [GIT PULL 00/11] perf/urgent fixes
@ 2018-10-17 22:54 ` Arnaldo Carvalho de Melo
  0 siblings, 0 replies; 27+ messages in thread
From: Arnaldo Carvalho de Melo @ 2018-10-17 22:54 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: Clark Williams, linux-kernel, linux-perf-users,
	Arnaldo Carvalho de Melo, Adrian Hunter, Alexander Shishkin,
	Andi Kleen, David Ahern, David S . Miller, Drew Schmitt,
	Hadrien Grasland, Herton R. Krzesinski, Jarod Wilson, Jin Yao,
	Jiri Olsa, John Garry, Kan Liang, linuxarm, linux-arm-kernel,
	Mark Rutland, Michael Petlan, Milian Wolff, Namhyung Kim,
	Paolo Bonzini, Peter Zijlstra, Stephane Eranian, Steven Rostedt,
	Tzvetomir Stoyanov, Vitaly Kuznetsov, Wang Nan, Will Deacon,
	William Cohen, Yordan Karadzhov, Arnaldo Carvalho de Melo

Hi Ingo,

	Please consider pulling,

Best Regards,

- Arnaldo

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

The following changes since commit c1883f10cfe05c707cce46d6999411c50a2413ca:

  Merge tag 'perf-urgent-for-mingo-4.19-20181005' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/urgent (2018-10-05 18:14:00 +0200)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux.git tags/perf-urgent-for-mingo-4.19-20181017

for you to fetch changes up to edeb0c90df3581b821a764052d185df985f8b8dc:

  perf tools: Stop fallbacking to kallsyms for vdso symbols lookup (2018-10-17 15:56:15 -0300)

----------------------------------------------------------------
perf/urgent fixes:

- Stop fallbacking to kallsyms for vDSO symbols lookup, this wasn't
  being really used and is not valid in arches such as Sparc, where
  user and kernel space don't share the address space, relying only on
  cpumode to figure out what DSOs to lookup (Arnaldo Carvalho de Melo)

- Align cpu map synthesized events properly, fixing SIGBUS in
  CPUs like Sparc (David Miller)

- Fix use of alternatives to find JDIR (Jarod Wilson)

- Store ids for events with their own cpus when synthesizing user
  level event details (scale, unit, etc) events, fixing a crash
  when recording a PMU event with a cpumask defined (Jiri Olsa)

- Fix wrong filter_band* values for uncore Intel vendor events (Jiri Olsa)

- Fix detection of tracefs path in systems without tracefs, where
  that path should be the debugfs mountpoint plus "/tracing/" (Jiri Olsa)

- Pass build flags to traceevent build, allowing using alternative
  flags in distro packages, RPM, for instance (Jiri Olsa)

- Fix 'perf report' crash on invalid inline debug information (Milian Wolff)

- Synch kvm uapi copies (Arnaldo Carvalho de Melo)

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

----------------------------------------------------------------
Arnaldo Carvalho de Melo (3):
      tools arch uapi: Sync the x86 kvm.h copy
      tools headers uapi: Sync kvm.h copy
      perf tools: Stop fallbacking to kallsyms for vdso symbols lookup

David Miller (1):
      perf cpu_map: Align cpu map synthesized events properly.

Jarod Wilson (1):
      perf tools: Fix use of alternatives to find JDIR

Jiri Olsa (5):
      Revert "perf tools: Fix PMU term format max value calculation"
      perf vendor events intel: Fix wrong filter_band* values for uncore events
      perf evsel: Store ids for events with their own cpus perf_event__synthesize_event_update_cpus
      perf tools: Fix tracing_path_mount proper path
      perf tools: Pass build flags to traceevent build

Milian Wolff (1):
      perf report: Don't crash on invalid inline debug information

 tools/arch/x86/include/uapi/asm/kvm.h              |  1 +
 tools/include/uapi/linux/kvm.h                     |  1 +
 tools/lib/api/fs/tracing_path.c                    |  4 ++--
 tools/perf/Makefile.config                         |  2 +-
 tools/perf/Makefile.perf                           |  2 +-
 tools/perf/builtin-report.c                        |  1 +
 .../pmu-events/arch/x86/ivytown/uncore-power.json  | 16 ++++++++--------
 .../pmu-events/arch/x86/jaketown/uncore-power.json | 16 ++++++++--------
 tools/perf/util/event.c                            | 22 +++-------------------
 tools/perf/util/evsel.c                            |  3 +++
 tools/perf/util/pmu.c                              | 13 +++++++------
 tools/perf/util/srcline.c                          |  3 +++
 12 files changed, 39 insertions(+), 45 deletions(-)

Test results:

The first ones are container (docker) based builds of tools/perf with
and without libelf support.  Where clang is available, it is also used
to build perf with/without libelf, and building with LIBCLANGLLVM=1
(built-in clang) with gcc and clang when clang and its devel libraries
are installed.

The objtool and samples/bpf/ builds are disabled now that I'm switching from
using the sources in a local volume to fetching them from a http server to
build it inside the container, to make it easier to build in a container cluster.
Those will come back later.

Several are cross builds, the ones with -x-ARCH and the android one, and those
may not have all the features built, due to lack of multi-arch devel packages,
available and being used so far on just a few, like
debian:experimental-x-{arm64,mipsel}.

The 'perf test' one will perform a variety of tests exercising
tools/perf/util/, tools/lib/{bpf,traceevent,etc}, as well as run perf commands
with a variety of command line event specifications to then intercept the
sys_perf_event syscall to check that the perf_event_attr fields are set up as
expected, among a variety of other unit tests.

Then there is the 'make -C tools/perf build-test' ones, that build tools/perf/
with a variety of feature sets, exercising the build with an incomplete set of
features as well as with a complete one. It is planned to have it run on each
of the containers mentioned above, using some container orchestration
infrastructure. Get in contact if interested in helping having this in place.

This one is being investigatd, doesn't look like its a regression introduced by
this patchset.

  63: probe libc's inet_pton & backtrace it with ping       : FAILED!

  # dm
   1 alpine:3.4                    : Ok   gcc (Alpine 5.3.0) 5.3.0
   2 alpine:3.5                    : Ok   gcc (Alpine 6.2.1) 6.2.1 20160822
   3 alpine:3.6                    : Ok   gcc (Alpine 6.3.0) 6.3.0
   4 alpine:3.7                    : Ok   gcc (Alpine 6.4.0) 6.4.0
   5 alpine:3.8                    : Ok   gcc (Alpine 6.4.0) 6.4.0
   6 alpine:edge                   : Ok   gcc (Alpine 6.4.0) 6.4.0
   7 amazonlinux:1                 : Ok   gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-28)
   8 amazonlinux:2                 : Ok   gcc (GCC) 7.3.1 20180303 (Red Hat 7.3.1-5)
   9 android-ndk:r12b-arm          : Ok   arm-linux-androideabi-gcc (GCC) 4.9.x 20150123 (prerelease)
  10 android-ndk:r15c-arm          : Ok   arm-linux-androideabi-gcc (GCC) 4.9.x 20150123 (prerelease)
  11 centos:5                      : Ok   gcc (GCC) 4.1.2 20080704 (Red Hat 4.1.2-55)
  12 centos:6                      : Ok   gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-23)
  13 centos:7                      : Ok   gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-28)
  14 clearlinux:latest             : Ok   gcc (Clear Linux OS for Intel Architecture) 8.2.1 20180502
  15 debian:7                      : Ok   gcc (Debian 4.7.2-5) 4.7.2
  16 debian:8                      : Ok   gcc (Debian 4.9.2-10+deb8u1) 4.9.2
  17 debian:9                      : Ok   gcc (Debian 6.3.0-18+deb9u1) 6.3.0 20170516
  18 debian:experimental           : Ok   gcc (Debian 8.2.0-7) 8.2.0
  19 debian:experimental-x-arm64   : Ok   aarch64-linux-gnu-gcc (Debian 8.2.0-7) 8.2.0
  20 debian:experimental-x-mips    : Ok   mips-linux-gnu-gcc (Debian 8.1.0-12) 8.1.0
  21 debian:experimental-x-mips64  : Ok   mips64-linux-gnuabi64-gcc (Debian 8.1.0-12) 8.1.0
  22 debian:experimental-x-mipsel  : Ok   mipsel-linux-gnu-gcc (Debian 8.1.0-12) 8.1.0
  23 fedora:20                     : Ok   gcc (GCC) 4.8.3 20140911 (Red Hat 4.8.3-7)
  24 fedora:21                     : Ok   gcc (GCC) 4.9.2 20150212 (Red Hat 4.9.2-6)
  25 fedora:22                     : Ok   gcc (GCC) 5.3.1 20160406 (Red Hat 5.3.1-6)
  26 fedora:23                     : Ok   gcc (GCC) 5.3.1 20160406 (Red Hat 5.3.1-6)
  27 fedora:24                     : Ok   gcc (GCC) 6.3.1 20161221 (Red Hat 6.3.1-1)
  28 fedora:24-x-ARC-uClibc        : Ok   arc-linux-gcc (ARCompact ISA Linux uClibc toolchain 2017.09-rc2) 7.1.1 20170710
  29 fedora:25                     : Ok   gcc (GCC) 6.4.1 20170727 (Red Hat 6.4.1-1)
  30 fedora:26                     : Ok   gcc (GCC) 7.3.1 20180130 (Red Hat 7.3.1-2)
  31 fedora:27                     : Ok   gcc (GCC) 7.3.1 20180712 (Red Hat 7.3.1-6)
  32 fedora:28                     : Ok   gcc (GCC) 8.1.1 20180712 (Red Hat 8.1.1-5)
  33 fedora:rawhide                : Ok   gcc (GCC) 8.2.1 20180905 (Red Hat 8.2.1-3)
  34 gentoo-stage3-amd64:latest    : Ok   gcc (Gentoo 7.3.0-r3 p1.4) 7.3.0
  35 mageia:5                      : Ok   gcc (GCC) 4.9.2
  36 mageia:6                      : Ok   gcc (Mageia 5.5.0-1.mga6) 5.5.0
  37 opensuse:13.2                 : Ok   gcc (SUSE Linux) 4.8.3 20140627 [gcc-4_8-branch revision 212064]
  38 opensuse:42.1                 : Ok   gcc (SUSE Linux) 4.8.5
  39 opensuse:42.2                 : Ok   gcc (SUSE Linux) 4.8.5
  40 opensuse:42.3                 : Ok   gcc (SUSE Linux) 4.8.5
  41 opensuse:tumbleweed           : Ok   gcc (SUSE Linux) 7.3.1 20180323 [gcc-7-branch revision 258812]
  42 oraclelinux:6                 : Ok   gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-23.0.1)
  43 oraclelinux:7                 : Ok   gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-28.0.1)
  44 ubuntu:12.04.5                : Ok   gcc (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3
  45 ubuntu:14.04.4                : Ok   gcc (Ubuntu 4.8.4-2ubuntu1~14.04.3) 4.8.4
  46 ubuntu:14.04.4-x-linaro-arm64 : Ok   aarch64-linux-gnu-gcc (Linaro GCC 5.5-2017.10) 5.5.0
  47 ubuntu:16.04                  : Ok   gcc (Ubuntu 5.4.0-6ubuntu1~16.04.10) 5.4.0 20160609
  48 ubuntu:16.04-x-arm            : Ok   arm-linux-gnueabihf-gcc (Ubuntu/Linaro 5.4.0-6ubuntu1~16.04.9) 5.4.0 20160609
  49 ubuntu:16.04-x-arm64          : Ok   aarch64-linux-gnu-gcc (Ubuntu/Linaro 5.4.0-6ubuntu1~16.04.9) 5.4.0 20160609
  50 ubuntu:16.04-x-powerpc        : Ok   powerpc-linux-gnu-gcc (Ubuntu 5.4.0-6ubuntu1~16.04.9) 5.4.0 20160609
  51 ubuntu:16.04-x-powerpc64      : Ok   powerpc64-linux-gnu-gcc (Ubuntu/IBM 5.4.0-6ubuntu1~16.04.9) 5.4.0 20160609
  52 ubuntu:16.04-x-powerpc64el    : Ok   powerpc64le-linux-gnu-gcc (Ubuntu/IBM 5.4.0-6ubuntu1~16.04.9) 5.4.0 20160609
  53 ubuntu:16.04-x-s390           : Ok   s390x-linux-gnu-gcc (Ubuntu 5.4.0-6ubuntu1~16.04.9) 5.4.0 20160609
  54 ubuntu:16.10                  : Ok   gcc (Ubuntu 6.2.0-5ubuntu12) 6.2.0 20161005
  55 ubuntu:17.10                  : Ok   gcc (Ubuntu 7.2.0-8ubuntu3.2) 7.2.0
  56 ubuntu:18.04                  : Ok   gcc (Ubuntu 7.3.0-16ubuntu3) 7.3.0
  57 ubuntu:18.04-x-arm            : Ok   arm-linux-gnueabihf-gcc (Ubuntu/Linaro 7.3.0-27ubuntu1~18.04) 7.3.0
  58 ubuntu:18.04-x-arm64          : Ok   aarch64-linux-gnu-gcc (Ubuntu/Linaro 7.3.0-27ubuntu1~18.04) 7.3.0
  59 ubuntu:18.04-x-m68k           : Ok   m68k-linux-gnu-gcc (Ubuntu 7.3.0-27ubuntu1~18.04) 7.3.0
  60 ubuntu:18.04-x-powerpc        : Ok   powerpc-linux-gnu-gcc (Ubuntu 7.3.0-27ubuntu1~18.04) 7.3.0
  61 ubuntu:18.04-x-powerpc64      : Ok   powerpc64-linux-gnu-gcc (Ubuntu 7.3.0-27ubuntu1~18.04) 7.3.0
  62 ubuntu:18.04-x-powerpc64el    : Ok   powerpc64le-linux-gnu-gcc (Ubuntu 7.3.0-27ubuntu1~18.04) 7.3.0
  63 ubuntu:18.04-x-riscv64        : Ok   riscv64-linux-gnu-gcc (Ubuntu 7.3.0-27ubuntu1~18.04) 7.3.0
  64 ubuntu:18.04-x-s390           : Ok   s390x-linux-gnu-gcc (Ubuntu 7.3.0-27ubuntu1~18.04) 7.3.0
  65 ubuntu:18.04-x-sh4            : Ok   sh4-linux-gnu-gcc (Ubuntu 7.3.0-27ubuntu1~18.04) 7.3.0
  66 ubuntu:18.04-x-sparc64        : Ok   sparc64-linux-gnu-gcc (Ubuntu 7.3.0-27ubuntu1~18.04) 7.3.0
  67 ubuntu:18.10                  : Ok   gcc (Ubuntu 8.2.0-7ubuntu1) 8.2.0

    # uname -a
  Linux seventh 4.19.0-rc8-00014-gc0cff31be705 #1 SMP Wed Oct 17 09:00:22 -03 2018 x86_64 x86_64 x86_64 GNU/Linux
  # git log --oneline -1
  edeb0c90df35 perf tools: Stop fallbacking to kallsyms for vdso symbols lookup
  # perf version --build-options
  perf version 4.19.rc5.gedeb0c9
                   dwarf: [ on  ]  # HAVE_DWARF_SUPPORT
      dwarf_getlocations: [ on  ]  # HAVE_DWARF_GETLOCATIONS_SUPPORT
                   glibc: [ on  ]  # HAVE_GLIBC_SUPPORT
                    gtk2: [ on  ]  # HAVE_GTK2_SUPPORT
           syscall_table: [ on  ]  # HAVE_SYSCALL_TABLE_SUPPORT
                  libbfd: [ on  ]  # HAVE_LIBBFD_SUPPORT
                  libelf: [ on  ]  # HAVE_LIBELF_SUPPORT
                 libnuma: [ on  ]  # HAVE_LIBNUMA_SUPPORT
  numa_num_possible_cpus: [ on  ]  # HAVE_LIBNUMA_SUPPORT
                 libperl: [ on  ]  # HAVE_LIBPERL_SUPPORT
               libpython: [ on  ]  # HAVE_LIBPYTHON_SUPPORT
                libslang: [ on  ]  # HAVE_SLANG_SUPPORT
               libcrypto: [ on  ]  # HAVE_LIBCRYPTO_SUPPORT
               libunwind: [ on  ]  # HAVE_LIBUNWIND_SUPPORT
      libdw-dwarf-unwind: [ on  ]  # HAVE_DWARF_SUPPORT
                    zlib: [ on  ]  # HAVE_ZLIB_SUPPORT
                    lzma: [ on  ]  # HAVE_LZMA_SUPPORT
               get_cpuid: [ on  ]  # HAVE_AUXTRACE_SUPPORT
                     bpf: [ on  ]  # HAVE_LIBBPF_SUPPORT
  # perf test
   1: vmlinux symtab matches kallsyms                       : Ok
   2: Detect openat syscall event                           : Ok
   3: Detect openat syscall event on all cpus               : Ok
   4: Read samples using the mmap interface                 : Ok
   5: Test data source output                               : Ok
   6: Parse event definition strings                        : Ok
   7: Simple expression parser                              : Ok
   8: PERF_RECORD_* events & perf_sample fields             : Ok
   9: Parse perf pmu format                                 : Ok
  10: DSO data read                                         : Ok
  11: DSO data cache                                        : Ok
  12: DSO data reopen                                       : Ok
  13: Roundtrip evsel->name                                 : Ok
  14: Parse sched tracepoints fields                        : Ok
  15: syscalls:sys_enter_openat event fields                : Ok
  16: Setup struct perf_event_attr                          : Ok
  17: Match and link multiple hists                         : Ok
  18: 'import perf' in python                               : Ok
  19: Breakpoint overflow signal handler                    : Ok
  20: Breakpoint overflow sampling                          : Ok
  21: Breakpoint accounting                                 : Ok
  22: Number of exit events of a simple workload            : Ok
  23: Software clock events period values                   : Ok
  24: Object code reading                                   : Ok
  25: Sample parsing                                        : Ok
  26: Use a dummy software event to keep tracking           : Ok
  27: Parse with no sample_id_all bit set                   : Ok
  28: Filter hist entries                                   : Ok
  29: Lookup mmap thread                                    : Ok
  30: Share thread mg                                       : Ok
  31: Sort output of hist entries                           : Ok
  32: Cumulate child hist entries                           : Ok
  33: Track with sched_switch                               : Ok
  34: Filter fds with revents mask in a fdarray             : Ok
  35: Add fd to a fdarray, making it autogrow               : Ok
  36: kmod_path__parse                                      : Ok
  37: Thread map                                            : Ok
  38: LLVM search and compile                               :
  38.1: Basic BPF llvm compile                              : Ok
  38.2: kbuild searching                                    : Ok
  38.3: Compile source for BPF prologue generation          : Ok
  38.4: Compile source for BPF relocation                   : Ok
  39: Session topology                                      : Ok
  40: BPF filter                                            :
  40.1: Basic BPF filtering                                 : Ok
  40.2: BPF pinning                                         : Ok
  40.3: BPF prologue generation                             : Ok
  40.4: BPF relocation checker                              : Ok
  41: Synthesize thread map                                 : Ok
  42: Remove thread map                                     : Ok
  43: Synthesize cpu map                                    : Ok
  44: Synthesize stat config                                : Ok
  45: Synthesize stat                                       : Ok
  46: Synthesize stat round                                 : Ok
  47: Synthesize attr update                                : Ok
  48: Event times                                           : Ok
  49: Read backward ring buffer                             : Ok
  50: Print cpu map                                         : Ok
  51: Probe SDT events                                      : Ok
  52: is_printable_array                                    : Ok
  53: Print bitmap                                          : Ok
  54: perf hooks                                            : Ok
  55: builtin clang support                                 : Skip (not compiled in)
  56: unit_number__scnprintf                                : Ok
  57: mem2node                                              : Ok
  58: x86 rdpmc                                             : Ok
  59: Convert perf time to TSC                              : Ok
  60: DWARF unwind                                          : Ok
  61: x86 instruction decoder - new instructions            : Ok
  62: x86 bp modify                                         : Ok
  63: probe libc's inet_pton & backtrace it with ping       : FAILED!
  64: Check open filename arg using perf trace + vfs_getname: Ok
  65: Use vfs_getname probe to get syscall args filenames   : Ok
  66: Add vfs_getname probe to get syscall args filenames   : Ok
  
  $ make -C tools/perf build-test
  make: Entering directory '/home/acme/git/perf/tools/perf'
  - tarpkg: ./tests/perf-targz-src-pkg .
            make_no_demangle_O: make NO_DEMANGLE=1
                 make_perf_o_O: make perf.o
                  make_no_ui_O: make NO_NEWT=1 NO_SLANG=1 NO_GTK2=1
                make_install_O: make install
            make_no_libaudit_O: make NO_LIBAUDIT=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_util_map_o_O: make util/map.o
               make_no_slang_O: make NO_SLANG=1
                   make_tags_O: make tags
  make_no_libdw_dwarf_unwind_O: make NO_LIBDW_DWARF_UNWIND=1
              make_no_libelf_O: make NO_LIBELF=1
         make_with_clangllvm_O: make LIBCLANGLLVM=1
           make_no_libpython_O: make NO_LIBPYTHON=1
           make_no_libbionic_O: make NO_LIBBIONIC=1
              make_no_libbpf_O: make NO_LIBBPF=1
                   make_help_O: make help
        make_with_babeltrace_O: make LIBBABELTRACE=1
              make_clean_all_O: make clean all
           make_no_backtrace_O: make NO_BACKTRACE=1
             make_no_libperl_O: make NO_LIBPERL=1
             make_no_scripts_O: make NO_LIBPYTHON=1 NO_LIBPERL=1
                   make_pure_O: make
                  make_debug_O: make DEBUG=1
       make_util_pmu_bison_o_O: make util/pmu-bison.o
             make_no_libnuma_O: make NO_LIBNUMA=1
         make_install_prefix_O: make install prefix=/tmp/krava
           make_no_libunwind_O: make NO_LIBUNWIND=1
            make_install_bin_O: make install-bin
   make_install_prefix_slash_O: make install prefix=/tmp/krava/
                 make_static_O: make LDFLAGS=-static
                make_no_newt_O: make NO_NEWT=1
                    make_doc_O: make doc
                make_no_gtk2_O: make NO_GTK2=1
            make_no_auxtrace_O: make NO_AUXTRACE=1
  OK
  make: Leaving directory '/home/acme/git/perf/tools/perf'
  $ 

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

* [GIT PULL 00/11] perf/urgent fixes
@ 2018-10-17 22:54 ` Arnaldo Carvalho de Melo
  0 siblings, 0 replies; 27+ messages in thread
From: Arnaldo Carvalho de Melo @ 2018-10-17 22:54 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: Clark Williams, linux-kernel, linux-perf-users,
	Arnaldo Carvalho de Melo, Adrian Hunter, Alexander Shishkin,
	Andi Kleen, David Ahern, David S . Miller, Drew Schmitt,
	Hadrien Grasland, Herton R. Krzesinski, Jarod Wilson, Jin Yao,
	Jiri Olsa, John Garry, Kan Liang, linuxarm, linux-arm-kernel,
	Mark Rutland, Michael

Hi Ingo,

	Please consider pulling,

Best Regards,

- Arnaldo

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

The following changes since commit c1883f10cfe05c707cce46d6999411c50a2413ca:

  Merge tag 'perf-urgent-for-mingo-4.19-20181005' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/urgent (2018-10-05 18:14:00 +0200)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux.git tags/perf-urgent-for-mingo-4.19-20181017

for you to fetch changes up to edeb0c90df3581b821a764052d185df985f8b8dc:

  perf tools: Stop fallbacking to kallsyms for vdso symbols lookup (2018-10-17 15:56:15 -0300)

----------------------------------------------------------------
perf/urgent fixes:

- Stop fallbacking to kallsyms for vDSO symbols lookup, this wasn't
  being really used and is not valid in arches such as Sparc, where
  user and kernel space don't share the address space, relying only on
  cpumode to figure out what DSOs to lookup (Arnaldo Carvalho de Melo)

- Align cpu map synthesized events properly, fixing SIGBUS in
  CPUs like Sparc (David Miller)

- Fix use of alternatives to find JDIR (Jarod Wilson)

- Store ids for events with their own cpus when synthesizing user
  level event details (scale, unit, etc) events, fixing a crash
  when recording a PMU event with a cpumask defined (Jiri Olsa)

- Fix wrong filter_band* values for uncore Intel vendor events (Jiri Olsa)

- Fix detection of tracefs path in systems without tracefs, where
  that path should be the debugfs mountpoint plus "/tracing/" (Jiri Olsa)

- Pass build flags to traceevent build, allowing using alternative
  flags in distro packages, RPM, for instance (Jiri Olsa)

- Fix 'perf report' crash on invalid inline debug information (Milian Wolff)

- Synch kvm uapi copies (Arnaldo Carvalho de Melo)

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

----------------------------------------------------------------
Arnaldo Carvalho de Melo (3):
      tools arch uapi: Sync the x86 kvm.h copy
      tools headers uapi: Sync kvm.h copy
      perf tools: Stop fallbacking to kallsyms for vdso symbols lookup

David Miller (1):
      perf cpu_map: Align cpu map synthesized events properly.

Jarod Wilson (1):
      perf tools: Fix use of alternatives to find JDIR

Jiri Olsa (5):
      Revert "perf tools: Fix PMU term format max value calculation"
      perf vendor events intel: Fix wrong filter_band* values for uncore events
      perf evsel: Store ids for events with their own cpus perf_event__synthesize_event_update_cpus
      perf tools: Fix tracing_path_mount proper path
      perf tools: Pass build flags to traceevent build

Milian Wolff (1):
      perf report: Don't crash on invalid inline debug information

 tools/arch/x86/include/uapi/asm/kvm.h              |  1 +
 tools/include/uapi/linux/kvm.h                     |  1 +
 tools/lib/api/fs/tracing_path.c                    |  4 ++--
 tools/perf/Makefile.config                         |  2 +-
 tools/perf/Makefile.perf                           |  2 +-
 tools/perf/builtin-report.c                        |  1 +
 .../pmu-events/arch/x86/ivytown/uncore-power.json  | 16 ++++++++--------
 .../pmu-events/arch/x86/jaketown/uncore-power.json | 16 ++++++++--------
 tools/perf/util/event.c                            | 22 +++-------------------
 tools/perf/util/evsel.c                            |  3 +++
 tools/perf/util/pmu.c                              | 13 +++++++------
 tools/perf/util/srcline.c                          |  3 +++
 12 files changed, 39 insertions(+), 45 deletions(-)

Test results:

The first ones are container (docker) based builds of tools/perf with
and without libelf support.  Where clang is available, it is also used
to build perf with/without libelf, and building with LIBCLANGLLVM=1
(built-in clang) with gcc and clang when clang and its devel libraries
are installed.

The objtool and samples/bpf/ builds are disabled now that I'm switching from
using the sources in a local volume to fetching them from a http server to
build it inside the container, to make it easier to build in a container cluster.
Those will come back later.

Several are cross builds, the ones with -x-ARCH and the android one, and those
may not have all the features built, due to lack of multi-arch devel packages,
available and being used so far on just a few, like
debian:experimental-x-{arm64,mipsel}.

The 'perf test' one will perform a variety of tests exercising
tools/perf/util/, tools/lib/{bpf,traceevent,etc}, as well as run perf commands
with a variety of command line event specifications to then intercept the
sys_perf_event syscall to check that the perf_event_attr fields are set up as
expected, among a variety of other unit tests.

Then there is the 'make -C tools/perf build-test' ones, that build tools/perf/
with a variety of feature sets, exercising the build with an incomplete set of
features as well as with a complete one. It is planned to have it run on each
of the containers mentioned above, using some container orchestration
infrastructure. Get in contact if interested in helping having this in place.

This one is being investigatd, doesn't look like its a regression introduced by
this patchset.

  63: probe libc's inet_pton & backtrace it with ping       : FAILED!

  # dm
   1 alpine:3.4                    : Ok   gcc (Alpine 5.3.0) 5.3.0
   2 alpine:3.5                    : Ok   gcc (Alpine 6.2.1) 6.2.1 20160822
   3 alpine:3.6                    : Ok   gcc (Alpine 6.3.0) 6.3.0
   4 alpine:3.7                    : Ok   gcc (Alpine 6.4.0) 6.4.0
   5 alpine:3.8                    : Ok   gcc (Alpine 6.4.0) 6.4.0
   6 alpine:edge                   : Ok   gcc (Alpine 6.4.0) 6.4.0
   7 amazonlinux:1                 : Ok   gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-28)
   8 amazonlinux:2                 : Ok   gcc (GCC) 7.3.1 20180303 (Red Hat 7.3.1-5)
   9 android-ndk:r12b-arm          : Ok   arm-linux-androideabi-gcc (GCC) 4.9.x 20150123 (prerelease)
  10 android-ndk:r15c-arm          : Ok   arm-linux-androideabi-gcc (GCC) 4.9.x 20150123 (prerelease)
  11 centos:5                      : Ok   gcc (GCC) 4.1.2 20080704 (Red Hat 4.1.2-55)
  12 centos:6                      : Ok   gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-23)
  13 centos:7                      : Ok   gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-28)
  14 clearlinux:latest             : Ok   gcc (Clear Linux OS for Intel Architecture) 8.2.1 20180502
  15 debian:7                      : Ok   gcc (Debian 4.7.2-5) 4.7.2
  16 debian:8                      : Ok   gcc (Debian 4.9.2-10+deb8u1) 4.9.2
  17 debian:9                      : Ok   gcc (Debian 6.3.0-18+deb9u1) 6.3.0 20170516
  18 debian:experimental           : Ok   gcc (Debian 8.2.0-7) 8.2.0
  19 debian:experimental-x-arm64   : Ok   aarch64-linux-gnu-gcc (Debian 8.2.0-7) 8.2.0
  20 debian:experimental-x-mips    : Ok   mips-linux-gnu-gcc (Debian 8.1.0-12) 8.1.0
  21 debian:experimental-x-mips64  : Ok   mips64-linux-gnuabi64-gcc (Debian 8.1.0-12) 8.1.0
  22 debian:experimental-x-mipsel  : Ok   mipsel-linux-gnu-gcc (Debian 8.1.0-12) 8.1.0
  23 fedora:20                     : Ok   gcc (GCC) 4.8.3 20140911 (Red Hat 4.8.3-7)
  24 fedora:21                     : Ok   gcc (GCC) 4.9.2 20150212 (Red Hat 4.9.2-6)
  25 fedora:22                     : Ok   gcc (GCC) 5.3.1 20160406 (Red Hat 5.3.1-6)
  26 fedora:23                     : Ok   gcc (GCC) 5.3.1 20160406 (Red Hat 5.3.1-6)
  27 fedora:24                     : Ok   gcc (GCC) 6.3.1 20161221 (Red Hat 6.3.1-1)
  28 fedora:24-x-ARC-uClibc        : Ok   arc-linux-gcc (ARCompact ISA Linux uClibc toolchain 2017.09-rc2) 7.1.1 20170710
  29 fedora:25                     : Ok   gcc (GCC) 6.4.1 20170727 (Red Hat 6.4.1-1)
  30 fedora:26                     : Ok   gcc (GCC) 7.3.1 20180130 (Red Hat 7.3.1-2)
  31 fedora:27                     : Ok   gcc (GCC) 7.3.1 20180712 (Red Hat 7.3.1-6)
  32 fedora:28                     : Ok   gcc (GCC) 8.1.1 20180712 (Red Hat 8.1.1-5)
  33 fedora:rawhide                : Ok   gcc (GCC) 8.2.1 20180905 (Red Hat 8.2.1-3)
  34 gentoo-stage3-amd64:latest    : Ok   gcc (Gentoo 7.3.0-r3 p1.4) 7.3.0
  35 mageia:5                      : Ok   gcc (GCC) 4.9.2
  36 mageia:6                      : Ok   gcc (Mageia 5.5.0-1.mga6) 5.5.0
  37 opensuse:13.2                 : Ok   gcc (SUSE Linux) 4.8.3 20140627 [gcc-4_8-branch revision 212064]
  38 opensuse:42.1                 : Ok   gcc (SUSE Linux) 4.8.5
  39 opensuse:42.2                 : Ok   gcc (SUSE Linux) 4.8.5
  40 opensuse:42.3                 : Ok   gcc (SUSE Linux) 4.8.5
  41 opensuse:tumbleweed           : Ok   gcc (SUSE Linux) 7.3.1 20180323 [gcc-7-branch revision 258812]
  42 oraclelinux:6                 : Ok   gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-23.0.1)
  43 oraclelinux:7                 : Ok   gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-28.0.1)
  44 ubuntu:12.04.5                : Ok   gcc (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3
  45 ubuntu:14.04.4                : Ok   gcc (Ubuntu 4.8.4-2ubuntu1~14.04.3) 4.8.4
  46 ubuntu:14.04.4-x-linaro-arm64 : Ok   aarch64-linux-gnu-gcc (Linaro GCC 5.5-2017.10) 5.5.0
  47 ubuntu:16.04                  : Ok   gcc (Ubuntu 5.4.0-6ubuntu1~16.04.10) 5.4.0 20160609
  48 ubuntu:16.04-x-arm            : Ok   arm-linux-gnueabihf-gcc (Ubuntu/Linaro 5.4.0-6ubuntu1~16.04.9) 5.4.0 20160609
  49 ubuntu:16.04-x-arm64          : Ok   aarch64-linux-gnu-gcc (Ubuntu/Linaro 5.4.0-6ubuntu1~16.04.9) 5.4.0 20160609
  50 ubuntu:16.04-x-powerpc        : Ok   powerpc-linux-gnu-gcc (Ubuntu 5.4.0-6ubuntu1~16.04.9) 5.4.0 20160609
  51 ubuntu:16.04-x-powerpc64      : Ok   powerpc64-linux-gnu-gcc (Ubuntu/IBM 5.4.0-6ubuntu1~16.04.9) 5.4.0 20160609
  52 ubuntu:16.04-x-powerpc64el    : Ok   powerpc64le-linux-gnu-gcc (Ubuntu/IBM 5.4.0-6ubuntu1~16.04.9) 5.4.0 20160609
  53 ubuntu:16.04-x-s390           : Ok   s390x-linux-gnu-gcc (Ubuntu 5.4.0-6ubuntu1~16.04.9) 5.4.0 20160609
  54 ubuntu:16.10                  : Ok   gcc (Ubuntu 6.2.0-5ubuntu12) 6.2.0 20161005
  55 ubuntu:17.10                  : Ok   gcc (Ubuntu 7.2.0-8ubuntu3.2) 7.2.0
  56 ubuntu:18.04                  : Ok   gcc (Ubuntu 7.3.0-16ubuntu3) 7.3.0
  57 ubuntu:18.04-x-arm            : Ok   arm-linux-gnueabihf-gcc (Ubuntu/Linaro 7.3.0-27ubuntu1~18.04) 7.3.0
  58 ubuntu:18.04-x-arm64          : Ok   aarch64-linux-gnu-gcc (Ubuntu/Linaro 7.3.0-27ubuntu1~18.04) 7.3.0
  59 ubuntu:18.04-x-m68k           : Ok   m68k-linux-gnu-gcc (Ubuntu 7.3.0-27ubuntu1~18.04) 7.3.0
  60 ubuntu:18.04-x-powerpc        : Ok   powerpc-linux-gnu-gcc (Ubuntu 7.3.0-27ubuntu1~18.04) 7.3.0
  61 ubuntu:18.04-x-powerpc64      : Ok   powerpc64-linux-gnu-gcc (Ubuntu 7.3.0-27ubuntu1~18.04) 7.3.0
  62 ubuntu:18.04-x-powerpc64el    : Ok   powerpc64le-linux-gnu-gcc (Ubuntu 7.3.0-27ubuntu1~18.04) 7.3.0
  63 ubuntu:18.04-x-riscv64        : Ok   riscv64-linux-gnu-gcc (Ubuntu 7.3.0-27ubuntu1~18.04) 7.3.0
  64 ubuntu:18.04-x-s390           : Ok   s390x-linux-gnu-gcc (Ubuntu 7.3.0-27ubuntu1~18.04) 7.3.0
  65 ubuntu:18.04-x-sh4            : Ok   sh4-linux-gnu-gcc (Ubuntu 7.3.0-27ubuntu1~18.04) 7.3.0
  66 ubuntu:18.04-x-sparc64        : Ok   sparc64-linux-gnu-gcc (Ubuntu 7.3.0-27ubuntu1~18.04) 7.3.0
  67 ubuntu:18.10                  : Ok   gcc (Ubuntu 8.2.0-7ubuntu1) 8.2.0

    # uname -a
  Linux seventh 4.19.0-rc8-00014-gc0cff31be705 #1 SMP Wed Oct 17 09:00:22 -03 2018 x86_64 x86_64 x86_64 GNU/Linux
  # git log --oneline -1
  edeb0c90df35 perf tools: Stop fallbacking to kallsyms for vdso symbols lookup
  # perf version --build-options
  perf version 4.19.rc5.gedeb0c9
                   dwarf: [ on  ]  # HAVE_DWARF_SUPPORT
      dwarf_getlocations: [ on  ]  # HAVE_DWARF_GETLOCATIONS_SUPPORT
                   glibc: [ on  ]  # HAVE_GLIBC_SUPPORT
                    gtk2: [ on  ]  # HAVE_GTK2_SUPPORT
           syscall_table: [ on  ]  # HAVE_SYSCALL_TABLE_SUPPORT
                  libbfd: [ on  ]  # HAVE_LIBBFD_SUPPORT
                  libelf: [ on  ]  # HAVE_LIBELF_SUPPORT
                 libnuma: [ on  ]  # HAVE_LIBNUMA_SUPPORT
  numa_num_possible_cpus: [ on  ]  # HAVE_LIBNUMA_SUPPORT
                 libperl: [ on  ]  # HAVE_LIBPERL_SUPPORT
               libpython: [ on  ]  # HAVE_LIBPYTHON_SUPPORT
                libslang: [ on  ]  # HAVE_SLANG_SUPPORT
               libcrypto: [ on  ]  # HAVE_LIBCRYPTO_SUPPORT
               libunwind: [ on  ]  # HAVE_LIBUNWIND_SUPPORT
      libdw-dwarf-unwind: [ on  ]  # HAVE_DWARF_SUPPORT
                    zlib: [ on  ]  # HAVE_ZLIB_SUPPORT
                    lzma: [ on  ]  # HAVE_LZMA_SUPPORT
               get_cpuid: [ on  ]  # HAVE_AUXTRACE_SUPPORT
                     bpf: [ on  ]  # HAVE_LIBBPF_SUPPORT
  # perf test
   1: vmlinux symtab matches kallsyms                       : Ok
   2: Detect openat syscall event                           : Ok
   3: Detect openat syscall event on all cpus               : Ok
   4: Read samples using the mmap interface                 : Ok
   5: Test data source output                               : Ok
   6: Parse event definition strings                        : Ok
   7: Simple expression parser                              : Ok
   8: PERF_RECORD_* events & perf_sample fields             : Ok
   9: Parse perf pmu format                                 : Ok
  10: DSO data read                                         : Ok
  11: DSO data cache                                        : Ok
  12: DSO data reopen                                       : Ok
  13: Roundtrip evsel->name                                 : Ok
  14: Parse sched tracepoints fields                        : Ok
  15: syscalls:sys_enter_openat event fields                : Ok
  16: Setup struct perf_event_attr                          : Ok
  17: Match and link multiple hists                         : Ok
  18: 'import perf' in python                               : Ok
  19: Breakpoint overflow signal handler                    : Ok
  20: Breakpoint overflow sampling                          : Ok
  21: Breakpoint accounting                                 : Ok
  22: Number of exit events of a simple workload            : Ok
  23: Software clock events period values                   : Ok
  24: Object code reading                                   : Ok
  25: Sample parsing                                        : Ok
  26: Use a dummy software event to keep tracking           : Ok
  27: Parse with no sample_id_all bit set                   : Ok
  28: Filter hist entries                                   : Ok
  29: Lookup mmap thread                                    : Ok
  30: Share thread mg                                       : Ok
  31: Sort output of hist entries                           : Ok
  32: Cumulate child hist entries                           : Ok
  33: Track with sched_switch                               : Ok
  34: Filter fds with revents mask in a fdarray             : Ok
  35: Add fd to a fdarray, making it autogrow               : Ok
  36: kmod_path__parse                                      : Ok
  37: Thread map                                            : Ok
  38: LLVM search and compile                               :
  38.1: Basic BPF llvm compile                              : Ok
  38.2: kbuild searching                                    : Ok
  38.3: Compile source for BPF prologue generation          : Ok
  38.4: Compile source for BPF relocation                   : Ok
  39: Session topology                                      : Ok
  40: BPF filter                                            :
  40.1: Basic BPF filtering                                 : Ok
  40.2: BPF pinning                                         : Ok
  40.3: BPF prologue generation                             : Ok
  40.4: BPF relocation checker                              : Ok
  41: Synthesize thread map                                 : Ok
  42: Remove thread map                                     : Ok
  43: Synthesize cpu map                                    : Ok
  44: Synthesize stat config                                : Ok
  45: Synthesize stat                                       : Ok
  46: Synthesize stat round                                 : Ok
  47: Synthesize attr update                                : Ok
  48: Event times                                           : Ok
  49: Read backward ring buffer                             : Ok
  50: Print cpu map                                         : Ok
  51: Probe SDT events                                      : Ok
  52: is_printable_array                                    : Ok
  53: Print bitmap                                          : Ok
  54: perf hooks                                            : Ok
  55: builtin clang support                                 : Skip (not compiled in)
  56: unit_number__scnprintf                                : Ok
  57: mem2node                                              : Ok
  58: x86 rdpmc                                             : Ok
  59: Convert perf time to TSC                              : Ok
  60: DWARF unwind                                          : Ok
  61: x86 instruction decoder - new instructions            : Ok
  62: x86 bp modify                                         : Ok
  63: probe libc's inet_pton & backtrace it with ping       : FAILED!
  64: Check open filename arg using perf trace + vfs_getname: Ok
  65: Use vfs_getname probe to get syscall args filenames   : Ok
  66: Add vfs_getname probe to get syscall args filenames   : Ok
  
  $ make -C tools/perf build-test
  make: Entering directory '/home/acme/git/perf/tools/perf'
  - tarpkg: ./tests/perf-targz-src-pkg .
            make_no_demangle_O: make NO_DEMANGLE=1
                 make_perf_o_O: make perf.o
                  make_no_ui_O: make NO_NEWT=1 NO_SLANG=1 NO_GTK2=1
                make_install_O: make install
            make_no_libaudit_O: make NO_LIBAUDIT=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_util_map_o_O: make util/map.o
               make_no_slang_O: make NO_SLANG=1
                   make_tags_O: make tags
  make_no_libdw_dwarf_unwind_O: make NO_LIBDW_DWARF_UNWIND=1
              make_no_libelf_O: make NO_LIBELF=1
         make_with_clangllvm_O: make LIBCLANGLLVM=1
           make_no_libpython_O: make NO_LIBPYTHON=1
           make_no_libbionic_O: make NO_LIBBIONIC=1
              make_no_libbpf_O: make NO_LIBBPF=1
                   make_help_O: make help
        make_with_babeltrace_O: make LIBBABELTRACE=1
              make_clean_all_O: make clean all
           make_no_backtrace_O: make NO_BACKTRACE=1
             make_no_libperl_O: make NO_LIBPERL=1
             make_no_scripts_O: make NO_LIBPYTHON=1 NO_LIBPERL=1
                   make_pure_O: make
                  make_debug_O: make DEBUG=1
       make_util_pmu_bison_o_O: make util/pmu-bison.o
             make_no_libnuma_O: make NO_LIBNUMA=1
         make_install_prefix_O: make install prefix=/tmp/krava
           make_no_libunwind_O: make NO_LIBUNWIND=1
            make_install_bin_O: make install-bin
   make_install_prefix_slash_O: make install prefix=/tmp/krava/
                 make_static_O: make LDFLAGS=-static
                make_no_newt_O: make NO_NEWT=1
                    make_doc_O: make doc
                make_no_gtk2_O: make NO_GTK2=1
            make_no_auxtrace_O: make NO_AUXTRACE=1
  OK
  make: Leaving directory '/home/acme/git/perf/tools/perf'
  $ 

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

* [GIT PULL 00/11] perf/urgent fixes
@ 2018-10-17 22:54 ` Arnaldo Carvalho de Melo
  0 siblings, 0 replies; 27+ messages in thread
From: Arnaldo Carvalho de Melo @ 2018-10-17 22:54 UTC (permalink / raw)
  To: linux-arm-kernel

Hi Ingo,

	Please consider pulling,

Best Regards,

- Arnaldo

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

The following changes since commit c1883f10cfe05c707cce46d6999411c50a2413ca:

  Merge tag 'perf-urgent-for-mingo-4.19-20181005' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/urgent (2018-10-05 18:14:00 +0200)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux.git tags/perf-urgent-for-mingo-4.19-20181017

for you to fetch changes up to edeb0c90df3581b821a764052d185df985f8b8dc:

  perf tools: Stop fallbacking to kallsyms for vdso symbols lookup (2018-10-17 15:56:15 -0300)

----------------------------------------------------------------
perf/urgent fixes:

- Stop fallbacking to kallsyms for vDSO symbols lookup, this wasn't
  being really used and is not valid in arches such as Sparc, where
  user and kernel space don't share the address space, relying only on
  cpumode to figure out what DSOs to lookup (Arnaldo Carvalho de Melo)

- Align cpu map synthesized events properly, fixing SIGBUS in
  CPUs like Sparc (David Miller)

- Fix use of alternatives to find JDIR (Jarod Wilson)

- Store ids for events with their own cpus when synthesizing user
  level event details (scale, unit, etc) events, fixing a crash
  when recording a PMU event with a cpumask defined (Jiri Olsa)

- Fix wrong filter_band* values for uncore Intel vendor events (Jiri Olsa)

- Fix detection of tracefs path in systems without tracefs, where
  that path should be the debugfs mountpoint plus "/tracing/" (Jiri Olsa)

- Pass build flags to traceevent build, allowing using alternative
  flags in distro packages, RPM, for instance (Jiri Olsa)

- Fix 'perf report' crash on invalid inline debug information (Milian Wolff)

- Synch kvm uapi copies (Arnaldo Carvalho de Melo)

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

----------------------------------------------------------------
Arnaldo Carvalho de Melo (3):
      tools arch uapi: Sync the x86 kvm.h copy
      tools headers uapi: Sync kvm.h copy
      perf tools: Stop fallbacking to kallsyms for vdso symbols lookup

David Miller (1):
      perf cpu_map: Align cpu map synthesized events properly.

Jarod Wilson (1):
      perf tools: Fix use of alternatives to find JDIR

Jiri Olsa (5):
      Revert "perf tools: Fix PMU term format max value calculation"
      perf vendor events intel: Fix wrong filter_band* values for uncore events
      perf evsel: Store ids for events with their own cpus perf_event__synthesize_event_update_cpus
      perf tools: Fix tracing_path_mount proper path
      perf tools: Pass build flags to traceevent build

Milian Wolff (1):
      perf report: Don't crash on invalid inline debug information

 tools/arch/x86/include/uapi/asm/kvm.h              |  1 +
 tools/include/uapi/linux/kvm.h                     |  1 +
 tools/lib/api/fs/tracing_path.c                    |  4 ++--
 tools/perf/Makefile.config                         |  2 +-
 tools/perf/Makefile.perf                           |  2 +-
 tools/perf/builtin-report.c                        |  1 +
 .../pmu-events/arch/x86/ivytown/uncore-power.json  | 16 ++++++++--------
 .../pmu-events/arch/x86/jaketown/uncore-power.json | 16 ++++++++--------
 tools/perf/util/event.c                            | 22 +++-------------------
 tools/perf/util/evsel.c                            |  3 +++
 tools/perf/util/pmu.c                              | 13 +++++++------
 tools/perf/util/srcline.c                          |  3 +++
 12 files changed, 39 insertions(+), 45 deletions(-)

Test results:

The first ones are container (docker) based builds of tools/perf with
and without libelf support.  Where clang is available, it is also used
to build perf with/without libelf, and building with LIBCLANGLLVM=1
(built-in clang) with gcc and clang when clang and its devel libraries
are installed.

The objtool and samples/bpf/ builds are disabled now that I'm switching from
using the sources in a local volume to fetching them from a http server to
build it inside the container, to make it easier to build in a container cluster.
Those will come back later.

Several are cross builds, the ones with -x-ARCH and the android one, and those
may not have all the features built, due to lack of multi-arch devel packages,
available and being used so far on just a few, like
debian:experimental-x-{arm64,mipsel}.

The 'perf test' one will perform a variety of tests exercising
tools/perf/util/, tools/lib/{bpf,traceevent,etc}, as well as run perf commands
with a variety of command line event specifications to then intercept the
sys_perf_event syscall to check that the perf_event_attr fields are set up as
expected, among a variety of other unit tests.

Then there is the 'make -C tools/perf build-test' ones, that build tools/perf/
with a variety of feature sets, exercising the build with an incomplete set of
features as well as with a complete one. It is planned to have it run on each
of the containers mentioned above, using some container orchestration
infrastructure. Get in contact if interested in helping having this in place.

This one is being investigatd, doesn't look like its a regression introduced by
this patchset.

  63: probe libc's inet_pton & backtrace it with ping       : FAILED!

  # dm
   1 alpine:3.4                    : Ok   gcc (Alpine 5.3.0) 5.3.0
   2 alpine:3.5                    : Ok   gcc (Alpine 6.2.1) 6.2.1 20160822
   3 alpine:3.6                    : Ok   gcc (Alpine 6.3.0) 6.3.0
   4 alpine:3.7                    : Ok   gcc (Alpine 6.4.0) 6.4.0
   5 alpine:3.8                    : Ok   gcc (Alpine 6.4.0) 6.4.0
   6 alpine:edge                   : Ok   gcc (Alpine 6.4.0) 6.4.0
   7 amazonlinux:1                 : Ok   gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-28)
   8 amazonlinux:2                 : Ok   gcc (GCC) 7.3.1 20180303 (Red Hat 7.3.1-5)
   9 android-ndk:r12b-arm          : Ok   arm-linux-androideabi-gcc (GCC) 4.9.x 20150123 (prerelease)
  10 android-ndk:r15c-arm          : Ok   arm-linux-androideabi-gcc (GCC) 4.9.x 20150123 (prerelease)
  11 centos:5                      : Ok   gcc (GCC) 4.1.2 20080704 (Red Hat 4.1.2-55)
  12 centos:6                      : Ok   gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-23)
  13 centos:7                      : Ok   gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-28)
  14 clearlinux:latest             : Ok   gcc (Clear Linux OS for Intel Architecture) 8.2.1 20180502
  15 debian:7                      : Ok   gcc (Debian 4.7.2-5) 4.7.2
  16 debian:8                      : Ok   gcc (Debian 4.9.2-10+deb8u1) 4.9.2
  17 debian:9                      : Ok   gcc (Debian 6.3.0-18+deb9u1) 6.3.0 20170516
  18 debian:experimental           : Ok   gcc (Debian 8.2.0-7) 8.2.0
  19 debian:experimental-x-arm64   : Ok   aarch64-linux-gnu-gcc (Debian 8.2.0-7) 8.2.0
  20 debian:experimental-x-mips    : Ok   mips-linux-gnu-gcc (Debian 8.1.0-12) 8.1.0
  21 debian:experimental-x-mips64  : Ok   mips64-linux-gnuabi64-gcc (Debian 8.1.0-12) 8.1.0
  22 debian:experimental-x-mipsel  : Ok   mipsel-linux-gnu-gcc (Debian 8.1.0-12) 8.1.0
  23 fedora:20                     : Ok   gcc (GCC) 4.8.3 20140911 (Red Hat 4.8.3-7)
  24 fedora:21                     : Ok   gcc (GCC) 4.9.2 20150212 (Red Hat 4.9.2-6)
  25 fedora:22                     : Ok   gcc (GCC) 5.3.1 20160406 (Red Hat 5.3.1-6)
  26 fedora:23                     : Ok   gcc (GCC) 5.3.1 20160406 (Red Hat 5.3.1-6)
  27 fedora:24                     : Ok   gcc (GCC) 6.3.1 20161221 (Red Hat 6.3.1-1)
  28 fedora:24-x-ARC-uClibc        : Ok   arc-linux-gcc (ARCompact ISA Linux uClibc toolchain 2017.09-rc2) 7.1.1 20170710
  29 fedora:25                     : Ok   gcc (GCC) 6.4.1 20170727 (Red Hat 6.4.1-1)
  30 fedora:26                     : Ok   gcc (GCC) 7.3.1 20180130 (Red Hat 7.3.1-2)
  31 fedora:27                     : Ok   gcc (GCC) 7.3.1 20180712 (Red Hat 7.3.1-6)
  32 fedora:28                     : Ok   gcc (GCC) 8.1.1 20180712 (Red Hat 8.1.1-5)
  33 fedora:rawhide                : Ok   gcc (GCC) 8.2.1 20180905 (Red Hat 8.2.1-3)
  34 gentoo-stage3-amd64:latest    : Ok   gcc (Gentoo 7.3.0-r3 p1.4) 7.3.0
  35 mageia:5                      : Ok   gcc (GCC) 4.9.2
  36 mageia:6                      : Ok   gcc (Mageia 5.5.0-1.mga6) 5.5.0
  37 opensuse:13.2                 : Ok   gcc (SUSE Linux) 4.8.3 20140627 [gcc-4_8-branch revision 212064]
  38 opensuse:42.1                 : Ok   gcc (SUSE Linux) 4.8.5
  39 opensuse:42.2                 : Ok   gcc (SUSE Linux) 4.8.5
  40 opensuse:42.3                 : Ok   gcc (SUSE Linux) 4.8.5
  41 opensuse:tumbleweed           : Ok   gcc (SUSE Linux) 7.3.1 20180323 [gcc-7-branch revision 258812]
  42 oraclelinux:6                 : Ok   gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-23.0.1)
  43 oraclelinux:7                 : Ok   gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-28.0.1)
  44 ubuntu:12.04.5                : Ok   gcc (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3
  45 ubuntu:14.04.4                : Ok   gcc (Ubuntu 4.8.4-2ubuntu1~14.04.3) 4.8.4
  46 ubuntu:14.04.4-x-linaro-arm64 : Ok   aarch64-linux-gnu-gcc (Linaro GCC 5.5-2017.10) 5.5.0
  47 ubuntu:16.04                  : Ok   gcc (Ubuntu 5.4.0-6ubuntu1~16.04.10) 5.4.0 20160609
  48 ubuntu:16.04-x-arm            : Ok   arm-linux-gnueabihf-gcc (Ubuntu/Linaro 5.4.0-6ubuntu1~16.04.9) 5.4.0 20160609
  49 ubuntu:16.04-x-arm64          : Ok   aarch64-linux-gnu-gcc (Ubuntu/Linaro 5.4.0-6ubuntu1~16.04.9) 5.4.0 20160609
  50 ubuntu:16.04-x-powerpc        : Ok   powerpc-linux-gnu-gcc (Ubuntu 5.4.0-6ubuntu1~16.04.9) 5.4.0 20160609
  51 ubuntu:16.04-x-powerpc64      : Ok   powerpc64-linux-gnu-gcc (Ubuntu/IBM 5.4.0-6ubuntu1~16.04.9) 5.4.0 20160609
  52 ubuntu:16.04-x-powerpc64el    : Ok   powerpc64le-linux-gnu-gcc (Ubuntu/IBM 5.4.0-6ubuntu1~16.04.9) 5.4.0 20160609
  53 ubuntu:16.04-x-s390           : Ok   s390x-linux-gnu-gcc (Ubuntu 5.4.0-6ubuntu1~16.04.9) 5.4.0 20160609
  54 ubuntu:16.10                  : Ok   gcc (Ubuntu 6.2.0-5ubuntu12) 6.2.0 20161005
  55 ubuntu:17.10                  : Ok   gcc (Ubuntu 7.2.0-8ubuntu3.2) 7.2.0
  56 ubuntu:18.04                  : Ok   gcc (Ubuntu 7.3.0-16ubuntu3) 7.3.0
  57 ubuntu:18.04-x-arm            : Ok   arm-linux-gnueabihf-gcc (Ubuntu/Linaro 7.3.0-27ubuntu1~18.04) 7.3.0
  58 ubuntu:18.04-x-arm64          : Ok   aarch64-linux-gnu-gcc (Ubuntu/Linaro 7.3.0-27ubuntu1~18.04) 7.3.0
  59 ubuntu:18.04-x-m68k           : Ok   m68k-linux-gnu-gcc (Ubuntu 7.3.0-27ubuntu1~18.04) 7.3.0
  60 ubuntu:18.04-x-powerpc        : Ok   powerpc-linux-gnu-gcc (Ubuntu 7.3.0-27ubuntu1~18.04) 7.3.0
  61 ubuntu:18.04-x-powerpc64      : Ok   powerpc64-linux-gnu-gcc (Ubuntu 7.3.0-27ubuntu1~18.04) 7.3.0
  62 ubuntu:18.04-x-powerpc64el    : Ok   powerpc64le-linux-gnu-gcc (Ubuntu 7.3.0-27ubuntu1~18.04) 7.3.0
  63 ubuntu:18.04-x-riscv64        : Ok   riscv64-linux-gnu-gcc (Ubuntu 7.3.0-27ubuntu1~18.04) 7.3.0
  64 ubuntu:18.04-x-s390           : Ok   s390x-linux-gnu-gcc (Ubuntu 7.3.0-27ubuntu1~18.04) 7.3.0
  65 ubuntu:18.04-x-sh4            : Ok   sh4-linux-gnu-gcc (Ubuntu 7.3.0-27ubuntu1~18.04) 7.3.0
  66 ubuntu:18.04-x-sparc64        : Ok   sparc64-linux-gnu-gcc (Ubuntu 7.3.0-27ubuntu1~18.04) 7.3.0
  67 ubuntu:18.10                  : Ok   gcc (Ubuntu 8.2.0-7ubuntu1) 8.2.0

    # uname -a
  Linux seventh 4.19.0-rc8-00014-gc0cff31be705 #1 SMP Wed Oct 17 09:00:22 -03 2018 x86_64 x86_64 x86_64 GNU/Linux
  # git log --oneline -1
  edeb0c90df35 perf tools: Stop fallbacking to kallsyms for vdso symbols lookup
  # perf version --build-options
  perf version 4.19.rc5.gedeb0c9
                   dwarf: [ on  ]  # HAVE_DWARF_SUPPORT
      dwarf_getlocations: [ on  ]  # HAVE_DWARF_GETLOCATIONS_SUPPORT
                   glibc: [ on  ]  # HAVE_GLIBC_SUPPORT
                    gtk2: [ on  ]  # HAVE_GTK2_SUPPORT
           syscall_table: [ on  ]  # HAVE_SYSCALL_TABLE_SUPPORT
                  libbfd: [ on  ]  # HAVE_LIBBFD_SUPPORT
                  libelf: [ on  ]  # HAVE_LIBELF_SUPPORT
                 libnuma: [ on  ]  # HAVE_LIBNUMA_SUPPORT
  numa_num_possible_cpus: [ on  ]  # HAVE_LIBNUMA_SUPPORT
                 libperl: [ on  ]  # HAVE_LIBPERL_SUPPORT
               libpython: [ on  ]  # HAVE_LIBPYTHON_SUPPORT
                libslang: [ on  ]  # HAVE_SLANG_SUPPORT
               libcrypto: [ on  ]  # HAVE_LIBCRYPTO_SUPPORT
               libunwind: [ on  ]  # HAVE_LIBUNWIND_SUPPORT
      libdw-dwarf-unwind: [ on  ]  # HAVE_DWARF_SUPPORT
                    zlib: [ on  ]  # HAVE_ZLIB_SUPPORT
                    lzma: [ on  ]  # HAVE_LZMA_SUPPORT
               get_cpuid: [ on  ]  # HAVE_AUXTRACE_SUPPORT
                     bpf: [ on  ]  # HAVE_LIBBPF_SUPPORT
  # perf test
   1: vmlinux symtab matches kallsyms                       : Ok
   2: Detect openat syscall event                           : Ok
   3: Detect openat syscall event on all cpus               : Ok
   4: Read samples using the mmap interface                 : Ok
   5: Test data source output                               : Ok
   6: Parse event definition strings                        : Ok
   7: Simple expression parser                              : Ok
   8: PERF_RECORD_* events & perf_sample fields             : Ok
   9: Parse perf pmu format                                 : Ok
  10: DSO data read                                         : Ok
  11: DSO data cache                                        : Ok
  12: DSO data reopen                                       : Ok
  13: Roundtrip evsel->name                                 : Ok
  14: Parse sched tracepoints fields                        : Ok
  15: syscalls:sys_enter_openat event fields                : Ok
  16: Setup struct perf_event_attr                          : Ok
  17: Match and link multiple hists                         : Ok
  18: 'import perf' in python                               : Ok
  19: Breakpoint overflow signal handler                    : Ok
  20: Breakpoint overflow sampling                          : Ok
  21: Breakpoint accounting                                 : Ok
  22: Number of exit events of a simple workload            : Ok
  23: Software clock events period values                   : Ok
  24: Object code reading                                   : Ok
  25: Sample parsing                                        : Ok
  26: Use a dummy software event to keep tracking           : Ok
  27: Parse with no sample_id_all bit set                   : Ok
  28: Filter hist entries                                   : Ok
  29: Lookup mmap thread                                    : Ok
  30: Share thread mg                                       : Ok
  31: Sort output of hist entries                           : Ok
  32: Cumulate child hist entries                           : Ok
  33: Track with sched_switch                               : Ok
  34: Filter fds with revents mask in a fdarray             : Ok
  35: Add fd to a fdarray, making it autogrow               : Ok
  36: kmod_path__parse                                      : Ok
  37: Thread map                                            : Ok
  38: LLVM search and compile                               :
  38.1: Basic BPF llvm compile                              : Ok
  38.2: kbuild searching                                    : Ok
  38.3: Compile source for BPF prologue generation          : Ok
  38.4: Compile source for BPF relocation                   : Ok
  39: Session topology                                      : Ok
  40: BPF filter                                            :
  40.1: Basic BPF filtering                                 : Ok
  40.2: BPF pinning                                         : Ok
  40.3: BPF prologue generation                             : Ok
  40.4: BPF relocation checker                              : Ok
  41: Synthesize thread map                                 : Ok
  42: Remove thread map                                     : Ok
  43: Synthesize cpu map                                    : Ok
  44: Synthesize stat config                                : Ok
  45: Synthesize stat                                       : Ok
  46: Synthesize stat round                                 : Ok
  47: Synthesize attr update                                : Ok
  48: Event times                                           : Ok
  49: Read backward ring buffer                             : Ok
  50: Print cpu map                                         : Ok
  51: Probe SDT events                                      : Ok
  52: is_printable_array                                    : Ok
  53: Print bitmap                                          : Ok
  54: perf hooks                                            : Ok
  55: builtin clang support                                 : Skip (not compiled in)
  56: unit_number__scnprintf                                : Ok
  57: mem2node                                              : Ok
  58: x86 rdpmc                                             : Ok
  59: Convert perf time to TSC                              : Ok
  60: DWARF unwind                                          : Ok
  61: x86 instruction decoder - new instructions            : Ok
  62: x86 bp modify                                         : Ok
  63: probe libc's inet_pton & backtrace it with ping       : FAILED!
  64: Check open filename arg using perf trace + vfs_getname: Ok
  65: Use vfs_getname probe to get syscall args filenames   : Ok
  66: Add vfs_getname probe to get syscall args filenames   : Ok
  
  $ make -C tools/perf build-test
  make: Entering directory '/home/acme/git/perf/tools/perf'
  - tarpkg: ./tests/perf-targz-src-pkg .
            make_no_demangle_O: make NO_DEMANGLE=1
                 make_perf_o_O: make perf.o
                  make_no_ui_O: make NO_NEWT=1 NO_SLANG=1 NO_GTK2=1
                make_install_O: make install
            make_no_libaudit_O: make NO_LIBAUDIT=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_util_map_o_O: make util/map.o
               make_no_slang_O: make NO_SLANG=1
                   make_tags_O: make tags
  make_no_libdw_dwarf_unwind_O: make NO_LIBDW_DWARF_UNWIND=1
              make_no_libelf_O: make NO_LIBELF=1
         make_with_clangllvm_O: make LIBCLANGLLVM=1
           make_no_libpython_O: make NO_LIBPYTHON=1
           make_no_libbionic_O: make NO_LIBBIONIC=1
              make_no_libbpf_O: make NO_LIBBPF=1
                   make_help_O: make help
        make_with_babeltrace_O: make LIBBABELTRACE=1
              make_clean_all_O: make clean all
           make_no_backtrace_O: make NO_BACKTRACE=1
             make_no_libperl_O: make NO_LIBPERL=1
             make_no_scripts_O: make NO_LIBPYTHON=1 NO_LIBPERL=1
                   make_pure_O: make
                  make_debug_O: make DEBUG=1
       make_util_pmu_bison_o_O: make util/pmu-bison.o
             make_no_libnuma_O: make NO_LIBNUMA=1
         make_install_prefix_O: make install prefix=/tmp/krava
           make_no_libunwind_O: make NO_LIBUNWIND=1
            make_install_bin_O: make install-bin
   make_install_prefix_slash_O: make install prefix=/tmp/krava/
                 make_static_O: make LDFLAGS=-static
                make_no_newt_O: make NO_NEWT=1
                    make_doc_O: make doc
                make_no_gtk2_O: make NO_GTK2=1
            make_no_auxtrace_O: make NO_AUXTRACE=1
  OK
  make: Leaving directory '/home/acme/git/perf/tools/perf'
  $ 

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

* Re: [GIT PULL 00/11] perf/urgent fixes
  2017-06-06 19:26 Arnaldo Carvalho de Melo
@ 2017-06-07 15:51 ` Ingo Molnar
  0 siblings, 0 replies; 27+ messages in thread
From: Ingo Molnar @ 2017-06-07 15:51 UTC (permalink / raw)
  To: Arnaldo Carvalho de Melo
  Cc: linux-kernel, Adam Stylinski, Alexander Shishkin, Andi Kleen,
	Anton Blanchard, Christian Borntraeger, David Ahern, He Kuang,
	Jiri Olsa, kernel-team, Kim Phillips, Mark Rutland, Milian Wolff,
	Namhyung Kim, Peter Zijlstra, Ravi Bangoria, Robin Murphy,
	Taeung Song, Arnaldo Carvalho de Melo


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

> Hi Ingo,
> 
> 	Please consider pulling,
> 
> - Arnaldo
> 
> The following changes since commit 6e30437bd42c4d4e9cfc4c40efda00eb83a11cde:
> 
>   tools/include: Sync kernel ABI headers with tooling headers (2017-05-24 09:00:21 +0200)
> 
> are available in the git repository at:
> 
>   git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux.git tags/perf-urgent-for-mingo-4.12-20170606
> 
> for you to fetch changes up to 2538b9e2450ae255337c04356e9e0f8cb9ec48d9:
> 
>   perf report: Ensure the perf DSO mapping matches what libdw sees (2017-06-05 14:18:05 -0300)
> 
> ----------------------------------------------------------------
> perf/urgent fixes:
> 
> - Only print NMI watchdog hint in 'perf stat' when it is enabled (Andi Kleen)
> 
> - Fix sys_mmap/sys_old_mmap shandling in s390 in 'perf trace' (Jiri Olsa)
> 
> - Disable breakpoint signal tests in powerpc, that lacks the perf kernel
>   glue to set breakpoint events and makes 'perf test' always fail (Jiri Olsa)
> 
> - Fix 'perf annotate' for branch instruction with multiple operands (Kim Phillips)
> 
> - Add missing powerpc triplet when disassembling with 'objdump' in 'perf
>   annotate' (Kim Phillips)
> 
> - Do not trow away partial unwound stacks when using libdw, making
>   callchains produced with it similar to those produced when linked with
>   the other DWARF unwind library supported in perf, libunwind (Milian Wolff)
> 
> - Fixes to properly handle kernel modules when processing build-id meta
>   events (Namhyung Kim)
> 
> - Fix handling of compressed modules in the build-id cache (Namhyung Kim)
> 
> - Fix 'perf annotate' failure when filename has special chars (Ravi Bangoria)
> 
> Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
> 
> ----------------------------------------------------------------
> Andi Kleen (1):
>       perf stat: Only print NMI watchdog hint when enabled
> 
> Jiri Olsa (2):
>       perf trace: Add mmap alias for s390
>       perf test: Disable breakpoint signal tests for powerpc
> 
> Kim Phillips (2):
>       perf annotate: Fix branch instruction with multiple operands
>       perf annotate: Add missing powerpc triplet
> 
> Milian Wolff (2):
>       perf report: Include partial stacks unwound with libdw
>       perf report: Ensure the perf DSO mapping matches what libdw sees
> 
> Namhyung Kim (3):
>       perf header: Set proper module name when build-id event found
>       perf symbols: Set module info when build-id event found
>       perf symbols: Use correct filename for compressed modules in build-id cache
> 
> Ravi Bangoria (1):
>       perf annotate: Fix failure when filename has special chars
> 
>  tools/perf/arch/common.c        |  1 +
>  tools/perf/builtin-stat.c       |  5 ++++-
>  tools/perf/builtin-trace.c      |  4 ++++
>  tools/perf/tests/bp_signal.c    | 14 ++++++++++++++
>  tools/perf/tests/builtin-test.c |  7 +++++++
>  tools/perf/tests/tests.h        |  3 +++
>  tools/perf/util/annotate.c      | 35 +++++++++++++++++++++++++++++++----
>  tools/perf/util/dso.c           | 15 +++++++++++++++
>  tools/perf/util/dso.h           |  3 +++
>  tools/perf/util/header.c        | 12 ++++++++++--
>  tools/perf/util/machine.c       | 11 +----------
>  tools/perf/util/symbol-elf.c    |  5 +----
>  tools/perf/util/unwind-libdw.c  | 10 +++++++++-
>  13 files changed, 103 insertions(+), 22 deletions(-)

Pulled, thanks a lot Arnaldo!

	Ingo

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

* [GIT PULL 00/11] perf/urgent fixes
@ 2017-06-06 19:26 Arnaldo Carvalho de Melo
  2017-06-07 15:51 ` Ingo Molnar
  0 siblings, 1 reply; 27+ messages in thread
From: Arnaldo Carvalho de Melo @ 2017-06-06 19:26 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: linux-kernel, Arnaldo Carvalho de Melo, Adam Stylinski,
	Alexander Shishkin, Andi Kleen, Anton Blanchard,
	Christian Borntraeger, David Ahern, He Kuang, Jiri Olsa,
	kernel-team, Kim Phillips, Mark Rutland, Milian Wolff,
	Namhyung Kim, Peter Zijlstra, Ravi Bangoria, Robin Murphy,
	Taeung Song, Arnaldo Carvalho de Melo

Hi Ingo,

	Please consider pulling,

- Arnaldo

The following changes since commit 6e30437bd42c4d4e9cfc4c40efda00eb83a11cde:

  tools/include: Sync kernel ABI headers with tooling headers (2017-05-24 09:00:21 +0200)

are available in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux.git tags/perf-urgent-for-mingo-4.12-20170606

for you to fetch changes up to 2538b9e2450ae255337c04356e9e0f8cb9ec48d9:

  perf report: Ensure the perf DSO mapping matches what libdw sees (2017-06-05 14:18:05 -0300)

----------------------------------------------------------------
perf/urgent fixes:

- Only print NMI watchdog hint in 'perf stat' when it is enabled (Andi Kleen)

- Fix sys_mmap/sys_old_mmap shandling in s390 in 'perf trace' (Jiri Olsa)

- Disable breakpoint signal tests in powerpc, that lacks the perf kernel
  glue to set breakpoint events and makes 'perf test' always fail (Jiri Olsa)

- Fix 'perf annotate' for branch instruction with multiple operands (Kim Phillips)

- Add missing powerpc triplet when disassembling with 'objdump' in 'perf
  annotate' (Kim Phillips)

- Do not trow away partial unwound stacks when using libdw, making
  callchains produced with it similar to those produced when linked with
  the other DWARF unwind library supported in perf, libunwind (Milian Wolff)

- Fixes to properly handle kernel modules when processing build-id meta
  events (Namhyung Kim)

- Fix handling of compressed modules in the build-id cache (Namhyung Kim)

- Fix 'perf annotate' failure when filename has special chars (Ravi Bangoria)

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

----------------------------------------------------------------
Andi Kleen (1):
      perf stat: Only print NMI watchdog hint when enabled

Jiri Olsa (2):
      perf trace: Add mmap alias for s390
      perf test: Disable breakpoint signal tests for powerpc

Kim Phillips (2):
      perf annotate: Fix branch instruction with multiple operands
      perf annotate: Add missing powerpc triplet

Milian Wolff (2):
      perf report: Include partial stacks unwound with libdw
      perf report: Ensure the perf DSO mapping matches what libdw sees

Namhyung Kim (3):
      perf header: Set proper module name when build-id event found
      perf symbols: Set module info when build-id event found
      perf symbols: Use correct filename for compressed modules in build-id cache

Ravi Bangoria (1):
      perf annotate: Fix failure when filename has special chars

 tools/perf/arch/common.c        |  1 +
 tools/perf/builtin-stat.c       |  5 ++++-
 tools/perf/builtin-trace.c      |  4 ++++
 tools/perf/tests/bp_signal.c    | 14 ++++++++++++++
 tools/perf/tests/builtin-test.c |  7 +++++++
 tools/perf/tests/tests.h        |  3 +++
 tools/perf/util/annotate.c      | 35 +++++++++++++++++++++++++++++++----
 tools/perf/util/dso.c           | 15 +++++++++++++++
 tools/perf/util/dso.h           |  3 +++
 tools/perf/util/header.c        | 12 ++++++++++--
 tools/perf/util/machine.c       | 11 +----------
 tools/perf/util/symbol-elf.c    |  5 +----
 tools/perf/util/unwind-libdw.c  | 10 +++++++++-
 13 files changed, 103 insertions(+), 22 deletions(-)

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

* Re: [GIT PULL 00/11] perf/urgent fixes
  2016-08-09 16:01 Arnaldo Carvalho de Melo
@ 2016-08-09 19:12 ` Ingo Molnar
  0 siblings, 0 replies; 27+ messages in thread
From: Ingo Molnar @ 2016-08-09 19:12 UTC (permalink / raw)
  To: Arnaldo Carvalho de Melo
  Cc: linux-kernel, Adrian Hunter, Alexander Shishkin,
	Alexei Starovoitov, Ananth N Mavinakayanahalli, Balbir Singh,
	Brendan Gregg, Brenden Blanco, Daniel Borkmann, Dan Williams,
	Dave Hansen, David Ahern, David S . Miller, Hemant Kumar,
	Jiri Olsa, Konstantin Khlebnikov, Mark Rutland, Martin KaFai Lau,
	Masami Hiramatsu, Namhyung Kim, Naohiro Aota, Naveen N . Rao,
	Paolo Bonzini, Peter Zijlstra, Ravi Bangoria, Ross Zwisler,
	Sargun Dhillon, Wang Nan, Xiao Guangrong,
	Arnaldo Carvalho de Melo


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

> Hi Ingo,
> 
> 	Please consider pulling,
> 
> - Arnaldo
> 
> Build test stats:
> 
> [root@jouet ~]# time dm
>  1: alpine:3.4: Ok 
>  2: android-ndk:r12b: 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:rawhide: Ok 
> 16: mageia:5: Ok 
> 17: opensuse:13.2: Ok 
> 18: opensuse:42.1: Ok 
> 19: ubuntu:14.04.4: Ok 
> 20: ubuntu:15.10: Ok 
> 21: ubuntu:16.04: Ok 
> 22: ubuntu:16.04-x-arm64: Ok 
> 23: ubuntu:16.04-x-armhf: Ok 
> 24: ubuntu:16.04-x-powerpc64: Ok 
> 25: ubuntu:16.04-x-powerpc64el: Ok 
> 26: ubuntu:16.04-x-s390: Ok 
> 
> real	16m44.470s
> 
> The following changes since commit f282f7a0ecc3e0b8fd8532a6c3e9401534cb907c:
> 
>   Merge tag 'perf-core-for-mingo-20160803' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/urgent (2016-08-04 11:02:38 +0200)
> 
> are available in the git repository at:
> 
>   git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux.git tags/perf-urgent-for-mingo-20160809
> 
> for you to fetch changes up to 99e608b5954c9e1ebadbf9660b74697d9dfd9f20:
> 
>   perf probe ppc64le: Fix probe location when using DWARF (2016-08-09 12:14:29 -0300)
> 
> ----------------------------------------------------------------
> perf/urgent fixes:
> 
> User visible fixes:
> 
> - Fix the lookup for a kernel module in 'perf probe', fixing for instance, the
>   erroneous return of "[raid10]" when looking for "[raid1]"  (Konstantin Khlebnikov)
> 
> - Disable counters in a group before reading them in 'perf stat', to avoid skew (Mark Rutland)
> 
> - Fix adding probes to function aliases in systems using kaslr (Masami Hiramatsu)
> 
> - Trip libtraceevent trace_seq buffers, removing unnecessary memory usage that could
>   bring a system using tracepoint events with 'perf top' to a crawl, as the trace_seq
>   buffers start at a whooping 4 KB, which is very rarely used in perf's usecases,
>   so realloc it to the really used space as a last measure after using libtraceevent
>   functions to format the fields of tracepoint events (Arnaldo Carvalho de Melo)
> 
> - Fix 'perf probe' location when using DWARF on ppc64le (Ravi Bangoria)
> 
> Improvement:
> 
> - Allow specifying signedness casts to a 'perf probe' variable, to shorten
>   the number of steps to see signed values that otherwise would always appear
>   as hex values (Naohiro Aota)
> 
> Documentation fixes:
> 
> - Add 'bpf-output' field to 'perf script' usage message (Brendan Gregg)
> 
> Infrastructure fixes:
> 
> - Sync kernel header files: cpufeatures.h, {disabled,required}-features.h,
>   bpf.h and vmx.h, so that we get a clean build, without warnings about files
>   being different from the kernel counterparts.
> 
>   A verification of the need or desirability of changes in tools/ based on what
>   was done in the kernel changesets was made and documented in the respective
>   file sync changesets (Arnaldo Carvalho de Melo)
> 
> Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
> 
> ----------------------------------------------------------------
> Arnaldo Carvalho de Melo (4):
>       perf hists: Trim libtraceevent trace_seq buffers
>       tools: Sync cpufeatures.h and vmx.h with the kernel
>       toops: Sync tools/include/uapi/linux/bpf.h with the kernel
>       tools: Sync cpufeatures headers with the kernel
> 
> Brendan Gregg (1):
>       perf script: Add 'bpf-output' field to usage message
> 
> Konstantin Khlebnikov (1):
>       perf probe: Fix module name matching
> 
> Mark Rutland (1):
>       perf stat: Avoid skew when reading events
> 
> Masami Hiramatsu (1):
>       perf probe: Adjust map->reloc offset when finding kernel symbol from map
> 
> Naohiro Aota (1):
>       perf probe: Support signedness casting
> 
> Ravi Bangoria (2):
>       perf probe: Add function to post process kernel trace events
>       perf probe ppc64le: Fix probe location when using DWARF
> 
>  tools/arch/x86/include/asm/cpufeatures.h       |  9 +--
>  tools/arch/x86/include/asm/disabled-features.h |  2 +
>  tools/arch/x86/include/asm/required-features.h |  2 +
>  tools/arch/x86/include/uapi/asm/vmx.h          |  4 +-
>  tools/include/uapi/linux/bpf.h                 | 86 +++++++++++++++++++++++++-
>  tools/perf/Documentation/perf-probe.txt        | 10 ++-
>  tools/perf/Documentation/perf-script.txt       |  4 +-
>  tools/perf/arch/powerpc/util/sym-handling.c    | 27 ++++++--
>  tools/perf/builtin-script.c                    |  2 +-
>  tools/perf/builtin-stat.c                      | 31 +++++++---
>  tools/perf/util/probe-event.c                  | 60 +++++++++++-------
>  tools/perf/util/probe-event.h                  |  6 +-
>  tools/perf/util/probe-finder.c                 | 15 ++++-
>  tools/perf/util/sort.c                         |  6 +-
>  14 files changed, 210 insertions(+), 54 deletions(-)

Pulled, thanks a lot Arnaldo!

	Ingo

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

* [GIT PULL 00/11] perf/urgent fixes
@ 2016-08-09 16:01 Arnaldo Carvalho de Melo
  2016-08-09 19:12 ` Ingo Molnar
  0 siblings, 1 reply; 27+ messages in thread
From: Arnaldo Carvalho de Melo @ 2016-08-09 16:01 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: linux-kernel, Arnaldo Carvalho de Melo, Adrian Hunter,
	Alexander Shishkin, Alexei Starovoitov,
	Ananth N Mavinakayanahalli, Balbir Singh, Brendan Gregg,
	Brenden Blanco, Daniel Borkmann, Dan Williams, Dave Hansen,
	David Ahern, David S . Miller, Hemant Kumar, Jiri Olsa,
	Konstantin Khlebnikov, Mark Rutland, Martin KaFai Lau,
	Masami Hiramatsu, Namhyung Kim, Naohiro Aota, Naveen N . Rao,
	Paolo Bonzini, Peter Zijlstra, Ravi Bangoria, Ross Zwisler,
	Sargun Dhillon, Wang Nan, Xiao Guangrong,
	Arnaldo Carvalho de Melo

Hi Ingo,

	Please consider pulling,

- Arnaldo

Build test stats:

[root@jouet ~]# time dm
 1: alpine:3.4: Ok 
 2: android-ndk:r12b: 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:rawhide: Ok 
16: mageia:5: Ok 
17: opensuse:13.2: Ok 
18: opensuse:42.1: Ok 
19: ubuntu:14.04.4: Ok 
20: ubuntu:15.10: Ok 
21: ubuntu:16.04: Ok 
22: ubuntu:16.04-x-arm64: Ok 
23: ubuntu:16.04-x-armhf: Ok 
24: ubuntu:16.04-x-powerpc64: Ok 
25: ubuntu:16.04-x-powerpc64el: Ok 
26: ubuntu:16.04-x-s390: Ok 

real	16m44.470s

The following changes since commit f282f7a0ecc3e0b8fd8532a6c3e9401534cb907c:

  Merge tag 'perf-core-for-mingo-20160803' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/urgent (2016-08-04 11:02:38 +0200)

are available in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux.git tags/perf-urgent-for-mingo-20160809

for you to fetch changes up to 99e608b5954c9e1ebadbf9660b74697d9dfd9f20:

  perf probe ppc64le: Fix probe location when using DWARF (2016-08-09 12:14:29 -0300)

----------------------------------------------------------------
perf/urgent fixes:

User visible fixes:

- Fix the lookup for a kernel module in 'perf probe', fixing for instance, the
  erroneous return of "[raid10]" when looking for "[raid1]"  (Konstantin Khlebnikov)

- Disable counters in a group before reading them in 'perf stat', to avoid skew (Mark Rutland)

- Fix adding probes to function aliases in systems using kaslr (Masami Hiramatsu)

- Trip libtraceevent trace_seq buffers, removing unnecessary memory usage that could
  bring a system using tracepoint events with 'perf top' to a crawl, as the trace_seq
  buffers start at a whooping 4 KB, which is very rarely used in perf's usecases,
  so realloc it to the really used space as a last measure after using libtraceevent
  functions to format the fields of tracepoint events (Arnaldo Carvalho de Melo)

- Fix 'perf probe' location when using DWARF on ppc64le (Ravi Bangoria)

Improvement:

- Allow specifying signedness casts to a 'perf probe' variable, to shorten
  the number of steps to see signed values that otherwise would always appear
  as hex values (Naohiro Aota)

Documentation fixes:

- Add 'bpf-output' field to 'perf script' usage message (Brendan Gregg)

Infrastructure fixes:

- Sync kernel header files: cpufeatures.h, {disabled,required}-features.h,
  bpf.h and vmx.h, so that we get a clean build, without warnings about files
  being different from the kernel counterparts.

  A verification of the need or desirability of changes in tools/ based on what
  was done in the kernel changesets was made and documented in the respective
  file sync changesets (Arnaldo Carvalho de Melo)

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

----------------------------------------------------------------
Arnaldo Carvalho de Melo (4):
      perf hists: Trim libtraceevent trace_seq buffers
      tools: Sync cpufeatures.h and vmx.h with the kernel
      toops: Sync tools/include/uapi/linux/bpf.h with the kernel
      tools: Sync cpufeatures headers with the kernel

Brendan Gregg (1):
      perf script: Add 'bpf-output' field to usage message

Konstantin Khlebnikov (1):
      perf probe: Fix module name matching

Mark Rutland (1):
      perf stat: Avoid skew when reading events

Masami Hiramatsu (1):
      perf probe: Adjust map->reloc offset when finding kernel symbol from map

Naohiro Aota (1):
      perf probe: Support signedness casting

Ravi Bangoria (2):
      perf probe: Add function to post process kernel trace events
      perf probe ppc64le: Fix probe location when using DWARF

 tools/arch/x86/include/asm/cpufeatures.h       |  9 +--
 tools/arch/x86/include/asm/disabled-features.h |  2 +
 tools/arch/x86/include/asm/required-features.h |  2 +
 tools/arch/x86/include/uapi/asm/vmx.h          |  4 +-
 tools/include/uapi/linux/bpf.h                 | 86 +++++++++++++++++++++++++-
 tools/perf/Documentation/perf-probe.txt        | 10 ++-
 tools/perf/Documentation/perf-script.txt       |  4 +-
 tools/perf/arch/powerpc/util/sym-handling.c    | 27 ++++++--
 tools/perf/builtin-script.c                    |  2 +-
 tools/perf/builtin-stat.c                      | 31 +++++++---
 tools/perf/util/probe-event.c                  | 60 +++++++++++-------
 tools/perf/util/probe-event.h                  |  6 +-
 tools/perf/util/probe-finder.c                 | 15 ++++-
 tools/perf/util/sort.c                         |  6 +-
 14 files changed, 210 insertions(+), 54 deletions(-)

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

* [GIT PULL 00/11] perf/urgent fixes
@ 2012-10-17 17:19 Arnaldo Carvalho de Melo
  0 siblings, 0 replies; 27+ messages in thread
From: Arnaldo Carvalho de Melo @ 2012-10-17 17:19 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: linux-kernel, Arnaldo Carvalho de Melo, Avi Kivity, David Ahern,
	David S. Miller, Frederic Weisbecker, Gleb Natapov, Irina Tirdea,
	Jiri Olsa, Markus Trippelsdorf, Mike Galbraith, Namhyung Kim,
	Namhyung Kim, Paul Mackerras, Peter Zijlstra, Robert Richter,
	Stephane Eranian, Steven Rostedt, arnaldo.melo,
	Arnaldo Carvalho de Melo

Hi Ingo,

	Please consider pulling,

- Arnaldo

The following changes since commit 95cf59ea72331d0093010543b8951bb43f262cac:

  perf: Fix perf_cgroup_switch for sw-events (2012-10-05 13:59:07 +0200)

are available in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux tags/perf-urgent-for-mingo

for you to fetch changes up to 88a21d2f07d2a4bec2e3e03dd50a39683b938b10:

  perf hists browser: Add back callchain folding symbol (2012-10-17 13:54:08 -0300)

----------------------------------------------------------------
perf/urgent fixes:

. The python binding needs to link with libtraceevent and to initialize
  the 'page_size' variable so that mmaping works again.

. The callchain folding character that appears on the TUI just before
  the overhead had disappeared due to recent changes, add it back.

. Intel PEBS in VT-x context uses the DS address as a guest linear address,
  even though its programmed by the host as a host linear address. This either
  results in guest memory corruption and or the hardware faulting and 'crashing'
  the virtual machine.  Therefore we have to disable PEBS on VT-x enter and
  re-enable on VT-x exit, enforcing a strict exclude_guest.

  Kernel side enforcement fix by Peter Zijlstra, tooling side fix by David Ahern.

. Fix build on sparc due to UAPI, fix from David Miller.

. Fixes for the srclike sort key for unresolved symbols and when processing
  samples in JITted code, where we don't have an ELF file, just an special
  symbol table, fixes from Namhyung Kim.

. Fix some leaks in libtraceevent, from Steven Rostedt.

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

----------------------------------------------------------------
Arnaldo Carvalho de Melo (3):
      perf python: Initialize 'page_size' variable
      perf python: Link with libtraceevent
      perf hists browser: Add back callchain folding symbol

David Ahern (1):
      perf tool: Precise mode requires exclude_guest

David Miller (1):
      perf tools: Fix build on sparc.

Namhyung Kim (3):
      perf tools: Fix segfault when using srcline sort key
      perf tools: Remove warnings on JIT samples for srcline sort key
      perf hists browser: Fix off-by-two bug on the first column

Peter Zijlstra (1):
      perf: Require exclude_guest to use PEBS - kernel side enforcement

Steven Rostedt (2):
      lib tools traceevent: Add back pevent assignment in __pevent_parse_format()
      tools lib traceevent: Fix missed freeing of subargs in free_arg() in filter

 arch/x86/kernel/cpu/perf_event.c    |    6 ++++++
 tools/lib/traceevent/event-parse.c  |    9 ++++++---
 tools/lib/traceevent/parse-filter.c |   15 +++++++++++++++
 tools/perf/perf.h                   |    2 +-
 tools/perf/ui/browsers/hists.c      |    6 ++++--
 tools/perf/util/parse-events.c      |    3 +++
 tools/perf/util/python.c            |    2 ++
 tools/perf/util/setup.py            |    1 +
 tools/perf/util/sort.c              |    6 ++++++
 9 files changed, 44 insertions(+), 6 deletions(-)

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

end of thread, other threads:[~2019-05-03  5:49 UTC | newest]

Thread overview: 27+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-08-15 21:46 [GIT PULL 00/11] perf/urgent fixes Arnaldo Carvalho de Melo
2016-08-15 21:46 ` [PATCH 01/11] perf intel-pt: Fix ip compression Arnaldo Carvalho de Melo
2016-08-15 21:46 ` [PATCH 02/11] perf tools mem: Fix -t store option for record command Arnaldo Carvalho de Melo
2016-08-15 21:46 ` [PATCH 03/11] perf ppc64le: Fix build failure when libelf is not present Arnaldo Carvalho de Melo
2016-08-15 21:46 ` [PATCH 04/11] perf jitdump: Add the right header to get the major()/minor() definitions Arnaldo Carvalho de Melo
2016-08-15 21:46 ` [PATCH 05/11] perf script: Show proper message when failed list scripts Arnaldo Carvalho de Melo
2016-08-15 21:46 ` [PATCH 06/11] perf script: Don't disable use_callchain if input is pipe Arnaldo Carvalho de Melo
2016-08-15 21:46 ` [PATCH 07/11] perf symbols: Fix annotation of objects with debuginfo files Arnaldo Carvalho de Melo
2016-08-15 21:46 ` [PATCH 08/11] perf probe: Check for dup and fdopen failures Arnaldo Carvalho de Melo
2016-08-15 21:46 ` [PATCH 09/11] perf probe: Release resources on error when handling exit paths Arnaldo Carvalho de Melo
2016-08-15 21:46 ` [PATCH 10/11] tools: Sync kvm related header files for arm64 and s390 Arnaldo Carvalho de Melo
2016-08-15 21:46 ` [PATCH 11/11] perf intel-pt: Fix occasional decoding errors when tracing system-wide Arnaldo Carvalho de Melo
2016-08-16 13:35 ` [GIT PULL v2 00/11] perf/urgent fixes Arnaldo Carvalho de Melo
2016-08-16 18:10   ` Ingo Molnar
  -- strict thread matches above, loose matches on Subject: below --
2019-05-03  0:25 [GIT PULL " Arnaldo Carvalho de Melo
2019-05-03  5:49 ` Ingo Molnar
2018-10-17 22:54 Arnaldo Carvalho de Melo
2018-10-17 22:54 ` Arnaldo Carvalho de Melo
2018-10-17 22:54 ` Arnaldo Carvalho de Melo
2018-10-18  5:44 ` Ingo Molnar
2018-10-18  5:44   ` Ingo Molnar
2018-10-18  5:44   ` Ingo Molnar
2017-06-06 19:26 Arnaldo Carvalho de Melo
2017-06-07 15:51 ` Ingo Molnar
2016-08-09 16:01 Arnaldo Carvalho de Melo
2016-08-09 19:12 ` Ingo Molnar
2012-10-17 17:19 Arnaldo Carvalho de Melo

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.