Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1463203 > unrolled thread
| Started by | Arnaldo Carvalho de Melo <acme@kernel.org> |
|---|---|
| First post | 2016-08-16 00:10 +0200 |
| Last post | 2016-08-16 20:20 +0200 |
| Articles | 12 — 2 participants |
Back to article view | Back to linux.kernel
[GIT PULL 00/11] perf/urgent fixes Arnaldo Carvalho de Melo <acme@kernel.org> - 2016-08-16 00:10 +0200
[PATCH 02/11] perf tools mem: Fix -t store option for record command Arnaldo Carvalho de Melo <acme@kernel.org> - 2016-08-16 00:10 +0200
[PATCH 06/11] perf script: Don't disable use_callchain if input is pipe Arnaldo Carvalho de Melo <acme@kernel.org> - 2016-08-16 00:10 +0200
[PATCH 03/11] perf ppc64le: Fix build failure when libelf is not present Arnaldo Carvalho de Melo <acme@kernel.org> - 2016-08-16 00:10 +0200
[PATCH 11/11] perf intel-pt: Fix occasional decoding errors when tracing system-wide Arnaldo Carvalho de Melo <acme@kernel.org> - 2016-08-16 00:10 +0200
[PATCH 04/11] perf jitdump: Add the right header to get the major()/minor() definitions Arnaldo Carvalho de Melo <acme@kernel.org> - 2016-08-16 00:10 +0200
[PATCH 09/11] perf probe: Release resources on error when handling exit paths Arnaldo Carvalho de Melo <acme@kernel.org> - 2016-08-16 00:10 +0200
[PATCH 10/11] tools: Sync kvm related header files for arm64 and s390 Arnaldo Carvalho de Melo <acme@kernel.org> - 2016-08-16 00:10 +0200
[PATCH 05/11] perf script: Show proper message when failed list scripts Arnaldo Carvalho de Melo <acme@kernel.org> - 2016-08-16 00:10 +0200
[PATCH 07/11] perf symbols: Fix annotation of objects with debuginfo files Arnaldo Carvalho de Melo <acme@kernel.org> - 2016-08-16 00:10 +0200
[GIT PULL v2 00/11] perf/urgent fixes Arnaldo Carvalho de Melo <acme@kernel.org> - 2016-08-16 15:40 +0200
Re: [GIT PULL v2 00/11] perf/urgent fixes Ingo Molnar <mingo@kernel.org> - 2016-08-16 20:20 +0200
| From | Arnaldo Carvalho de Melo <acme@kernel.org> |
|---|---|
| Date | 2016-08-16 00:10 +0200 |
| Subject | [GIT PULL 00/11] perf/urgent fixes |
| Message-ID | <s6yeZ-327-3@gated-at.bofh.it> |
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.
[toc] | [next] | [standalone]
| From | Arnaldo Carvalho de Melo <acme@kernel.org> |
|---|---|
| Date | 2016-08-16 00:10 +0200 |
| Subject | [PATCH 02/11] perf tools mem: Fix -t store option for record command |
| Message-ID | <s6yf0-327-23@gated-at.bofh.it> |
| In reply to | #1463203 |
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
[toc] | [prev] | [next] | [standalone]
| From | Arnaldo Carvalho de Melo <acme@kernel.org> |
|---|---|
| Date | 2016-08-16 00:10 +0200 |
| Subject | [PATCH 06/11] perf script: Don't disable use_callchain if input is pipe |
| Message-ID | <s6yf0-327-47@gated-at.bofh.it> |
| In reply to | #1463203 |
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
[toc] | [prev] | [next] | [standalone]
| From | Arnaldo Carvalho de Melo <acme@kernel.org> |
|---|---|
| Date | 2016-08-16 00:10 +0200 |
| Subject | [PATCH 03/11] perf ppc64le: Fix build failure when libelf is not present |
| Message-ID | <s6yf0-327-29@gated-at.bofh.it> |
| In reply to | #1463203 |
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
[toc] | [prev] | [next] | [standalone]
| From | Arnaldo Carvalho de Melo <acme@kernel.org> |
|---|---|
| Date | 2016-08-16 00:10 +0200 |
| Subject | [PATCH 11/11] perf intel-pt: Fix occasional decoding errors when tracing system-wide |
| Message-ID | <s6yf0-327-25@gated-at.bofh.it> |
| In reply to | #1463203 |
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
[toc] | [prev] | [next] | [standalone]
| From | Arnaldo Carvalho de Melo <acme@kernel.org> |
|---|---|
| Date | 2016-08-16 00:10 +0200 |
| Subject | [PATCH 04/11] perf jitdump: Add the right header to get the major()/minor() definitions |
| Message-ID | <s6yf0-327-49@gated-at.bofh.it> |
| In reply to | #1463203 |
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
[toc] | [prev] | [next] | [standalone]
| From | Arnaldo Carvalho de Melo <acme@kernel.org> |
|---|---|
| Date | 2016-08-16 00:10 +0200 |
| Subject | [PATCH 09/11] perf probe: Release resources on error when handling exit paths |
| Message-ID | <s6yf1-327-59@gated-at.bofh.it> |
| In reply to | #1463203 |
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
[toc] | [prev] | [next] | [standalone]
| From | Arnaldo Carvalho de Melo <acme@kernel.org> |
|---|---|
| Date | 2016-08-16 00:10 +0200 |
| Subject | [PATCH 10/11] tools: Sync kvm related header files for arm64 and s390 |
| Message-ID | <s6yf0-327-51@gated-at.bofh.it> |
| In reply to | #1463203 |
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
[toc] | [prev] | [next] | [standalone]
| From | Arnaldo Carvalho de Melo <acme@kernel.org> |
|---|---|
| Date | 2016-08-16 00:10 +0200 |
| Subject | [PATCH 05/11] perf script: Show proper message when failed list scripts |
| Message-ID | <s6yf1-327-63@gated-at.bofh.it> |
| In reply to | #1463203 |
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
[toc] | [prev] | [next] | [standalone]
| From | Arnaldo Carvalho de Melo <acme@kernel.org> |
|---|---|
| Date | 2016-08-16 00:10 +0200 |
| Subject | [PATCH 07/11] perf symbols: Fix annotation of objects with debuginfo files |
| Message-ID | <s6yf1-327-67@gated-at.bofh.it> |
| In reply to | #1463203 |
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
[toc] | [prev] | [next] | [standalone]
| From | Arnaldo Carvalho de Melo <acme@kernel.org> |
|---|---|
| Date | 2016-08-16 15:40 +0200 |
| Subject | [GIT PULL v2 00/11] perf/urgent fixes |
| Message-ID | <s6ML0-3GS-41@gated-at.bofh.it> |
| In reply to | #1463203 |
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(-)
[toc] | [prev] | [next] | [standalone]
| From | Ingo Molnar <mingo@kernel.org> |
|---|---|
| Date | 2016-08-16 20:20 +0200 |
| Subject | Re: [GIT PULL v2 00/11] perf/urgent fixes |
| Message-ID | <s6R7Z-6tU-43@gated-at.bofh.it> |
| In reply to | #1463795 |
* 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
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web