Commit a050a6d2 authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge tag 'perf-tools-fixes-for-v5.13-2021-05-24' of...

Merge tag 'perf-tools-fixes-for-v5.13-2021-05-24' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux

Pull perf tool fixes from Arnaldo Carvalho de Melo:

 - Fix 'perf script' decoding of Intel PT traces for abort handling and
   sample instruction bytes.

 - Add missing PERF_IP_FLAG_CHARS for VM-Entry and VM-Exit to Intel PT
   'perf script' decoder.

 - Fixes for the python based Intel PT trace viewer GUI.

 - Sync UAPI copies (unwire quotactl_path, some comment fixes).

 - Fix handling of missing kernel software events, such as the recently
   added 'cgroup-switches', and add the trivial glue for it in the
   tooling side, since it was added in this merge window.

 - Add missing initialization of zstd_data in 'perf buildid-list',
   detected with valgrind's memcheck.

 - Remove needless event enable/disable when all events uses BPF.

 - Fix libpfm4 support (63) test error for nested event groups.

* tag 'perf-tools-fixes-for-v5.13-2021-05-24' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux:
  perf stat: Skip evlist__[enable|disable] when all events uses BPF
  perf script: Add missing PERF_IP_FLAG_CHARS for VM-Entry and VM-Exit
  perf scripts python: exported-sql-viewer.py: Fix warning display
  perf scripts python: exported-sql-viewer.py: Fix Array TypeError
  perf scripts python: exported-sql-viewer.py: Fix copy to clipboard from Top Calls by elapsed Time report
  tools headers UAPI: Sync files changed by the quotactl_path unwiring
  tools headers UAPI: Sync linux/perf_event.h with the kernel sources
  tools headers UAPI: Sync linux/fs.h with the kernel sources
  perf parse-events: Check if the software events array slots are populated
  perf tools: Add 'cgroup-switches' software event
  perf intel-pt: Remove redundant setting of ptq->insn_len
  perf intel-pt: Fix sample instruction bytes
  perf intel-pt: Fix transaction abort handling
  perf test: Fix libpfm4 support (63) test error for nested event groups
  tools arch kvm: Sync kvm headers with the kernel sources
  perf buildid-list: Initialize zstd_data
parents 1434a312 f8b61bd2
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -437,6 +437,8 @@ struct kvm_vmx_nested_state_hdr {
		__u16 flags;
	} smm;

	__u16 pad;

	__u32 flags;
	__u64 preemption_timer_deadline;
};
+1 −1
Original line number Diff line number Diff line
@@ -185,7 +185,7 @@ struct fsxattr {
#define BLKROTATIONAL _IO(0x12,126)
#define BLKZEROOUT _IO(0x12,127)
/*
 * A jump here: 130-131 are reserved for zoned block devices
 * A jump here: 130-136 are reserved for zoned block devices
 * (see uapi/linux/blkzoned.h)
 */

+1 −1
Original line number Diff line number Diff line
@@ -464,7 +464,7 @@ struct perf_event_attr {

	/*
	 * User provided data if sigtrap=1, passed back to user via
	 * siginfo_t::si_perf, e.g. to permit user to identify the event.
	 * siginfo_t::si_perf_data, e.g. to permit user to identify the event.
	 */
	__u64	sig_data;
};
+3 −3
Original line number Diff line number Diff line
@@ -108,9 +108,9 @@ displayed as follows:

	perf script --itrace=ibxwpe -F+flags

The flags are "bcrosyiABEx" which stand for branch, call, return, conditional,
system, asynchronous, interrupt, transaction abort, trace begin, trace end, and
in transaction, respectively.
The flags are "bcrosyiABExgh" which stand for branch, call, return, conditional,
system, asynchronous, interrupt, transaction abort, trace begin, trace end,
in transaction, VM-entry, and VM-exit respectively.

perf script also supports higher level ways to dump instruction traces:

+4 −3
Original line number Diff line number Diff line
@@ -183,14 +183,15 @@ OPTIONS
	At this point usage is displayed, and perf-script exits.

	The flags field is synthesized and may have a value when Instruction
	Trace decoding. The flags are "bcrosyiABEx" which stand for branch,
	Trace decoding. The flags are "bcrosyiABExgh" which stand for branch,
	call, return, conditional, system, asynchronous, interrupt,
	transaction abort, trace begin, trace end, and in transaction,
	transaction abort, trace begin, trace end, in transaction, VM-Entry, and VM-Exit
	respectively. Known combinations of flags are printed more nicely e.g.
	"call" for "bc", "return" for "br", "jcc" for "bo", "jmp" for "b",
	"int" for "bci", "iret" for "bri", "syscall" for "bcs", "sysret" for "brs",
	"async" for "by", "hw int" for "bcyi", "tx abrt" for "bA", "tr strt" for "bB",
	"tr end" for "bE". However the "x" flag will be display separately in those
	"tr end" for "bE", "vmentry" for "bcg", "vmexit" for "bch".
	However the "x" flag will be displayed separately in those
	cases e.g. "jcc     (x)" for a condition branch within a transaction.

	The callindent field is synthesized and may have a value when
Loading