Skip to content

Commit b1412bd

Browse files
committed
Merge tag 'perf-tools-for-v5.14-2021-07-10' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux
Pull more perf tool updates from Arnaldo Carvalho de Melo: "New features: - Enable use of BPF counters with 'perf stat --for-each-cgroup', using per-CPU 'cgroup-switch' events with an attached BPF program that does aggregation per-cgroup in the kernel instead of using per-cgroup perf events. - Add Topdown metrics L2 events as default events in 'perf stat' for systems having those events. Hardware tracing: - Add a config for max loops without consuming a packet in the Intel PT packet decoder, set via 'perf config intel-pt.max-loops=N' Hardware enablement: - Disable misleading NMI watchdog message in 'perf stat' on hybrid systems such as Intel Alder Lake. - Add a dummy event on hybrid systems to collect metadata records. - Add 24x7 nest metric events for the Power10 platform. Fixes: - Fix event parsing for PMUs starting with the same prefix. - Fix the 'perf trace' 'trace' alias installation dir. - Fix buffer size to report iregs in perf script python scripts, supporting the extended registers in PowerPC. - Fix overflow in elf_sec__is_text(). - Fix 's' on source line when disasm is empty in the annotation TUI, accessible via 'perf annotate', 'perf report' and 'perf top'. - Plug leaks in scandir() returned dirent entries in 'perf test' when sorting the shell tests. - Fix --task and --stat with pipe input in 'perf report'. - Fix 'perf probe' use of debuginfo files by build id. - If a DSO has both dynsym and symtab ELF sections, read from both when loading the symbol table, fixing a problem processing Fedora 32 glibc DSOs. Libraries: - Add grouping of events to libperf, from code in tools/perf, allowing libperf users to use that mode. Misc: - Filter plt stubs from the 'perf probe --functions' output. - Update UAPI header copies for asound, DRM, mman-common.h and the ones affected by the quotactl_fd syscall" * tag 'perf-tools-for-v5.14-2021-07-10' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux: (29 commits) perf test: Add free() calls for scandir() returned dirent entries libperf: Add tests for perf_evlist__set_leader() libperf: Remove BUG_ON() from library code in get_group_fd() libperf: Add group support to perf_evsel__open() perf tools: Fix pattern matching for same substring in different PMU type perf record: Add a dummy event on hybrid systems to collect metadata records perf stat: Add Topdown metrics L2 events as default events libperf: Adopt evlist__set_leader() from tools/perf as perf_evlist__set_leader() libperf: Move 'nr_groups' from tools/perf to evlist::nr_groups libperf: Move 'leader' from tools/perf to perf_evsel::leader libperf: Move 'idx' from tools/perf to perf_evsel::idx libperf: Change tests to single static and shared binaries perf intel-pt: Add a config for max loops without consuming a packet perf stat: Disable the NMI watchdog message on hybrid perf vendor events power10: Adds 24x7 nest metric events for power10 platform perf script python: Fix buffer size to report iregs in perf script perf trace: Fix the perf trace link location perf top: Fix overflow in elf_sec__is_text() perf annotate: Fix 's' on source line when disasm is empty perf probe: Do not show @plt function by default ...
2 parents de55409 + eb7261f commit b1412bd

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

77 files changed

+1872
-331
lines changed

tools/include/uapi/asm-generic/mman-common.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,9 @@
7272
#define MADV_COLD 20 /* deactivate these pages */
7373
#define MADV_PAGEOUT 21 /* reclaim these pages */
7474

75+
#define MADV_POPULATE_READ 22 /* populate (prefault) page tables readable */
76+
#define MADV_POPULATE_WRITE 23 /* populate (prefault) page tables writable */
77+
7578
/* compatibility flags */
7679
#define MAP_FILE 0
7780

tools/include/uapi/asm-generic/unistd.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -863,7 +863,8 @@ __SYSCALL(__NR_process_madvise, sys_process_madvise)
863863
__SC_COMP(__NR_epoll_pwait2, sys_epoll_pwait2, compat_sys_epoll_pwait2)
864864
#define __NR_mount_setattr 442
865865
__SYSCALL(__NR_mount_setattr, sys_mount_setattr)
866-
/* 443 is reserved for quotactl_path */
866+
#define __NR_quotactl_fd 443
867+
__SYSCALL(__NR_quotactl_fd, sys_quotactl_fd)
867868

868869
#define __NR_landlock_create_ruleset 444
869870
__SYSCALL(__NR_landlock_create_ruleset, sys_landlock_create_ruleset)

tools/include/uapi/drm/drm.h

Lines changed: 24 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -777,9 +777,12 @@ struct drm_get_cap {
777777
/**
778778
* DRM_CLIENT_CAP_STEREO_3D
779779
*
780-
* if set to 1, the DRM core will expose the stereo 3D capabilities of the
780+
* If set to 1, the DRM core will expose the stereo 3D capabilities of the
781781
* monitor by advertising the supported 3D layouts in the flags of struct
782-
* drm_mode_modeinfo.
782+
* drm_mode_modeinfo. See ``DRM_MODE_FLAG_3D_*``.
783+
*
784+
* This capability is always supported for all drivers starting from kernel
785+
* version 3.13.
783786
*/
784787
#define DRM_CLIENT_CAP_STEREO_3D 1
785788

@@ -788,6 +791,9 @@ struct drm_get_cap {
788791
*
789792
* If set to 1, the DRM core will expose all planes (overlay, primary, and
790793
* cursor) to userspace.
794+
*
795+
* This capability has been introduced in kernel version 3.15. Starting from
796+
* kernel version 3.17, this capability is always supported for all drivers.
791797
*/
792798
#define DRM_CLIENT_CAP_UNIVERSAL_PLANES 2
793799

@@ -797,22 +803,36 @@ struct drm_get_cap {
797803
* If set to 1, the DRM core will expose atomic properties to userspace. This
798804
* implicitly enables &DRM_CLIENT_CAP_UNIVERSAL_PLANES and
799805
* &DRM_CLIENT_CAP_ASPECT_RATIO.
806+
*
807+
* If the driver doesn't support atomic mode-setting, enabling this capability
808+
* will fail with -EOPNOTSUPP.
809+
*
810+
* This capability has been introduced in kernel version 4.0. Starting from
811+
* kernel version 4.2, this capability is always supported for atomic-capable
812+
* drivers.
800813
*/
801814
#define DRM_CLIENT_CAP_ATOMIC 3
802815

803816
/**
804817
* DRM_CLIENT_CAP_ASPECT_RATIO
805818
*
806819
* If set to 1, the DRM core will provide aspect ratio information in modes.
820+
* See ``DRM_MODE_FLAG_PIC_AR_*``.
821+
*
822+
* This capability is always supported for all drivers starting from kernel
823+
* version 4.18.
807824
*/
808825
#define DRM_CLIENT_CAP_ASPECT_RATIO 4
809826

810827
/**
811828
* DRM_CLIENT_CAP_WRITEBACK_CONNECTORS
812829
*
813830
* If set to 1, the DRM core will expose special connectors to be used for
814-
* writing back to memory the scene setup in the commit. Depends on client
815-
* also supporting DRM_CLIENT_CAP_ATOMIC
831+
* writing back to memory the scene setup in the commit. The client must enable
832+
* &DRM_CLIENT_CAP_ATOMIC first.
833+
*
834+
* This capability is always supported for atomic-capable drivers starting from
835+
* kernel version 4.19.
816836
*/
817837
#define DRM_CLIENT_CAP_WRITEBACK_CONNECTORS 5
818838

0 commit comments

Comments
 (0)