perf tools fixes for v5.13: 1st batch
- Fix swapping of cpu_map and stat_config records. - Fix dynamic libbpf linking. - Disallow -c and -F option at the same time in 'perf record'. - Update headers with the kernel originals. - Silence warning for JSON ArchStd files. - Fix a build error on arm64 with clang. Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com> -----BEGIN PGP SIGNATURE----- iHUEABYIAB0WIQR2GiIUctdOfX2qHhGyPKLppCJ+JwUCYJls5AAKCRCyPKLppCJ+ J5dwAQDU/rlV0hgXT547BmLLQV8oMjOUeEEzdHtpd0R4Q36UEQEAyPacR5bfH8cZ u2hfq2SyeMJnoDSPRQrsXQFvVK/xYQs= =b5bE -----END PGP SIGNATURE----- Merge tag 'perf-tools-fixes-for-v5.13-2021-05-10' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux Pull perf tools fixes from Arnaldo Carvalho de Melo: - Fix swapping of cpu_map and stat_config records. - Fix dynamic libbpf linking. - Disallow -c and -F option at the same time in 'perf record'. - Update headers with the kernel originals. - Silence warning for JSON ArchStd files. - Fix a build error on arm64 with clang. * tag 'perf-tools-fixes-for-v5.13-2021-05-10' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux: tools headers UAPI: Sync perf_event.h with the kernel sources tools headers cpufeatures: Sync with the kernel sources tools include UAPI powerpc: Sync errno.h with the kernel headers tools arch: Update arch/x86/lib/mem{cpy,set}_64.S copies used in 'perf bench mem memcpy' tools headers UAPI: Sync linux/prctl.h with the kernel sources tools headers UAPI: Sync files changed by landlock, quotactl_path and mount_settattr new syscalls perf tools: Fix a build error on arm64 with clang tools headers kvm: Sync kvm headers with the kernel sources tools headers UAPI: Sync linux/kvm.h with the kernel sources perf tools: Fix dynamic libbpf link perf session: Fix swapping of cpu_map and stat_config records perf jevents: Silence warning for ArchStd files perf record: Disallow -c and -F option at the same time tools arch x86: Sync the msr-index.h copy with the kernel sources tools headers UAPI: Sync drm/i915_drm.h with the kernel sources tools headers UAPI: Update tools's copy of drm.h headers
This commit is contained in:
commit
1140ab592e
|
@ -2,6 +2,7 @@
|
|||
#ifndef _ASM_POWERPC_ERRNO_H
|
||||
#define _ASM_POWERPC_ERRNO_H
|
||||
|
||||
#undef EDEADLOCK
|
||||
#include <asm-generic/errno.h>
|
||||
|
||||
#undef EDEADLOCK
|
||||
|
|
|
@ -84,7 +84,7 @@
|
|||
|
||||
/* CPU types for specific tunings: */
|
||||
#define X86_FEATURE_K8 ( 3*32+ 4) /* "" Opteron, Athlon64 */
|
||||
#define X86_FEATURE_K7 ( 3*32+ 5) /* "" Athlon */
|
||||
/* FREE, was #define X86_FEATURE_K7 ( 3*32+ 5) "" Athlon */
|
||||
#define X86_FEATURE_P3 ( 3*32+ 6) /* "" P3 */
|
||||
#define X86_FEATURE_P4 ( 3*32+ 7) /* "" P4 */
|
||||
#define X86_FEATURE_CONSTANT_TSC ( 3*32+ 8) /* TSC ticks at a constant rate */
|
||||
|
@ -236,6 +236,8 @@
|
|||
#define X86_FEATURE_EPT_AD ( 8*32+17) /* Intel Extended Page Table access-dirty bit */
|
||||
#define X86_FEATURE_VMCALL ( 8*32+18) /* "" Hypervisor supports the VMCALL instruction */
|
||||
#define X86_FEATURE_VMW_VMMCALL ( 8*32+19) /* "" VMware prefers VMMCALL hypercall instruction */
|
||||
#define X86_FEATURE_PVUNLOCK ( 8*32+20) /* "" PV unlock function */
|
||||
#define X86_FEATURE_VCPUPREEMPT ( 8*32+21) /* "" PV vcpu_is_preempted function */
|
||||
|
||||
/* Intel-defined CPU features, CPUID level 0x00000007:0 (EBX), word 9 */
|
||||
#define X86_FEATURE_FSGSBASE ( 9*32+ 0) /* RDFSBASE, WRFSBASE, RDGSBASE, WRGSBASE instructions*/
|
||||
|
@ -290,6 +292,8 @@
|
|||
#define X86_FEATURE_FENCE_SWAPGS_KERNEL (11*32+ 5) /* "" LFENCE in kernel entry SWAPGS path */
|
||||
#define X86_FEATURE_SPLIT_LOCK_DETECT (11*32+ 6) /* #AC for split lock */
|
||||
#define X86_FEATURE_PER_THREAD_MBA (11*32+ 7) /* "" Per-thread Memory Bandwidth Allocation */
|
||||
#define X86_FEATURE_SGX1 (11*32+ 8) /* "" Basic SGX */
|
||||
#define X86_FEATURE_SGX2 (11*32+ 9) /* "" SGX Enclave Dynamic Memory Management (EDMM) */
|
||||
|
||||
/* Intel-defined CPU features, CPUID level 0x00000007:1 (EAX), word 12 */
|
||||
#define X86_FEATURE_AVX_VNNI (12*32+ 4) /* AVX VNNI instructions */
|
||||
|
@ -336,6 +340,7 @@
|
|||
#define X86_FEATURE_AVIC (15*32+13) /* Virtual Interrupt Controller */
|
||||
#define X86_FEATURE_V_VMSAVE_VMLOAD (15*32+15) /* Virtual VMSAVE VMLOAD */
|
||||
#define X86_FEATURE_VGIF (15*32+16) /* Virtual GIF */
|
||||
#define X86_FEATURE_V_SPEC_CTRL (15*32+20) /* Virtual SPEC_CTRL */
|
||||
#define X86_FEATURE_SVME_ADDR_CHK (15*32+28) /* "" SVME addr check */
|
||||
|
||||
/* Intel-defined CPU features, CPUID level 0x00000007:0 (ECX), word 16 */
|
||||
|
@ -354,6 +359,7 @@
|
|||
#define X86_FEATURE_AVX512_VPOPCNTDQ (16*32+14) /* POPCNT for vectors of DW/QW */
|
||||
#define X86_FEATURE_LA57 (16*32+16) /* 5-level page tables */
|
||||
#define X86_FEATURE_RDPID (16*32+22) /* RDPID instruction */
|
||||
#define X86_FEATURE_BUS_LOCK_DETECT (16*32+24) /* Bus Lock detect */
|
||||
#define X86_FEATURE_CLDEMOTE (16*32+25) /* CLDEMOTE instruction */
|
||||
#define X86_FEATURE_MOVDIRI (16*32+27) /* MOVDIRI instruction */
|
||||
#define X86_FEATURE_MOVDIR64B (16*32+28) /* MOVDIR64B instruction */
|
||||
|
@ -374,6 +380,7 @@
|
|||
#define X86_FEATURE_MD_CLEAR (18*32+10) /* VERW clears CPU buffers */
|
||||
#define X86_FEATURE_TSX_FORCE_ABORT (18*32+13) /* "" TSX_FORCE_ABORT */
|
||||
#define X86_FEATURE_SERIALIZE (18*32+14) /* SERIALIZE instruction */
|
||||
#define X86_FEATURE_HYBRID_CPU (18*32+15) /* "" This part has CPUs of more than one type */
|
||||
#define X86_FEATURE_TSXLDTRK (18*32+16) /* TSX Suspend Load Address Tracking */
|
||||
#define X86_FEATURE_PCONFIG (18*32+18) /* Intel PCONFIG */
|
||||
#define X86_FEATURE_ARCH_LBR (18*32+19) /* Intel ARCH LBR */
|
||||
|
|
|
@ -185,6 +185,9 @@
|
|||
#define MSR_PEBS_DATA_CFG 0x000003f2
|
||||
#define MSR_IA32_DS_AREA 0x00000600
|
||||
#define MSR_IA32_PERF_CAPABILITIES 0x00000345
|
||||
#define PERF_CAP_METRICS_IDX 15
|
||||
#define PERF_CAP_PT_IDX 16
|
||||
|
||||
#define MSR_PEBS_LD_LAT_THRESHOLD 0x000003f6
|
||||
|
||||
#define MSR_IA32_RTIT_CTL 0x00000570
|
||||
|
@ -265,6 +268,7 @@
|
|||
#define DEBUGCTLMSR_LBR (1UL << 0) /* last branch recording */
|
||||
#define DEBUGCTLMSR_BTF_SHIFT 1
|
||||
#define DEBUGCTLMSR_BTF (1UL << 1) /* single-step on branches */
|
||||
#define DEBUGCTLMSR_BUS_LOCK_DETECT (1UL << 2)
|
||||
#define DEBUGCTLMSR_TR (1UL << 6)
|
||||
#define DEBUGCTLMSR_BTS (1UL << 7)
|
||||
#define DEBUGCTLMSR_BTINT (1UL << 8)
|
||||
|
|
|
@ -27,6 +27,7 @@
|
|||
|
||||
|
||||
#define VMX_EXIT_REASONS_FAILED_VMENTRY 0x80000000
|
||||
#define VMX_EXIT_REASONS_SGX_ENCLAVE_MODE 0x08000000
|
||||
|
||||
#define EXIT_REASON_EXCEPTION_NMI 0
|
||||
#define EXIT_REASON_EXTERNAL_INTERRUPT 1
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
#include <linux/linkage.h>
|
||||
#include <asm/errno.h>
|
||||
#include <asm/cpufeatures.h>
|
||||
#include <asm/alternative-asm.h>
|
||||
#include <asm/alternative.h>
|
||||
#include <asm/export.h>
|
||||
|
||||
.pushsection .noinstr.text, "ax"
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
|
||||
#include <linux/linkage.h>
|
||||
#include <asm/cpufeatures.h>
|
||||
#include <asm/alternative-asm.h>
|
||||
#include <asm/alternative.h>
|
||||
#include <asm/export.h>
|
||||
|
||||
/*
|
||||
|
|
|
@ -863,9 +863,18 @@ __SYSCALL(__NR_process_madvise, sys_process_madvise)
|
|||
__SC_COMP(__NR_epoll_pwait2, sys_epoll_pwait2, compat_sys_epoll_pwait2)
|
||||
#define __NR_mount_setattr 442
|
||||
__SYSCALL(__NR_mount_setattr, sys_mount_setattr)
|
||||
#define __NR_quotactl_path 443
|
||||
__SYSCALL(__NR_quotactl_path, sys_quotactl_path)
|
||||
|
||||
#define __NR_landlock_create_ruleset 444
|
||||
__SYSCALL(__NR_landlock_create_ruleset, sys_landlock_create_ruleset)
|
||||
#define __NR_landlock_add_rule 445
|
||||
__SYSCALL(__NR_landlock_add_rule, sys_landlock_add_rule)
|
||||
#define __NR_landlock_restrict_self 446
|
||||
__SYSCALL(__NR_landlock_restrict_self, sys_landlock_restrict_self)
|
||||
|
||||
#undef __NR_syscalls
|
||||
#define __NR_syscalls 443
|
||||
#define __NR_syscalls 447
|
||||
|
||||
/*
|
||||
* 32 bit systems traditionally used different
|
||||
|
|
|
@ -625,30 +625,147 @@ struct drm_gem_open {
|
|||
__u64 size;
|
||||
};
|
||||
|
||||
/**
|
||||
* DRM_CAP_DUMB_BUFFER
|
||||
*
|
||||
* If set to 1, the driver supports creating dumb buffers via the
|
||||
* &DRM_IOCTL_MODE_CREATE_DUMB ioctl.
|
||||
*/
|
||||
#define DRM_CAP_DUMB_BUFFER 0x1
|
||||
/**
|
||||
* DRM_CAP_VBLANK_HIGH_CRTC
|
||||
*
|
||||
* If set to 1, the kernel supports specifying a CRTC index in the high bits of
|
||||
* &drm_wait_vblank_request.type.
|
||||
*
|
||||
* Starting kernel version 2.6.39, this capability is always set to 1.
|
||||
*/
|
||||
#define DRM_CAP_VBLANK_HIGH_CRTC 0x2
|
||||
/**
|
||||
* DRM_CAP_DUMB_PREFERRED_DEPTH
|
||||
*
|
||||
* The preferred bit depth for dumb buffers.
|
||||
*
|
||||
* The bit depth is the number of bits used to indicate the color of a single
|
||||
* pixel excluding any padding. This is different from the number of bits per
|
||||
* pixel. For instance, XRGB8888 has a bit depth of 24 but has 32 bits per
|
||||
* pixel.
|
||||
*
|
||||
* Note that this preference only applies to dumb buffers, it's irrelevant for
|
||||
* other types of buffers.
|
||||
*/
|
||||
#define DRM_CAP_DUMB_PREFERRED_DEPTH 0x3
|
||||
/**
|
||||
* DRM_CAP_DUMB_PREFER_SHADOW
|
||||
*
|
||||
* If set to 1, the driver prefers userspace to render to a shadow buffer
|
||||
* instead of directly rendering to a dumb buffer. For best speed, userspace
|
||||
* should do streaming ordered memory copies into the dumb buffer and never
|
||||
* read from it.
|
||||
*
|
||||
* Note that this preference only applies to dumb buffers, it's irrelevant for
|
||||
* other types of buffers.
|
||||
*/
|
||||
#define DRM_CAP_DUMB_PREFER_SHADOW 0x4
|
||||
/**
|
||||
* DRM_CAP_PRIME
|
||||
*
|
||||
* Bitfield of supported PRIME sharing capabilities. See &DRM_PRIME_CAP_IMPORT
|
||||
* and &DRM_PRIME_CAP_EXPORT.
|
||||
*
|
||||
* PRIME buffers are exposed as dma-buf file descriptors. See
|
||||
* Documentation/gpu/drm-mm.rst, section "PRIME Buffer Sharing".
|
||||
*/
|
||||
#define DRM_CAP_PRIME 0x5
|
||||
/**
|
||||
* DRM_PRIME_CAP_IMPORT
|
||||
*
|
||||
* If this bit is set in &DRM_CAP_PRIME, the driver supports importing PRIME
|
||||
* buffers via the &DRM_IOCTL_PRIME_FD_TO_HANDLE ioctl.
|
||||
*/
|
||||
#define DRM_PRIME_CAP_IMPORT 0x1
|
||||
/**
|
||||
* DRM_PRIME_CAP_EXPORT
|
||||
*
|
||||
* If this bit is set in &DRM_CAP_PRIME, the driver supports exporting PRIME
|
||||
* buffers via the &DRM_IOCTL_PRIME_HANDLE_TO_FD ioctl.
|
||||
*/
|
||||
#define DRM_PRIME_CAP_EXPORT 0x2
|
||||
/**
|
||||
* DRM_CAP_TIMESTAMP_MONOTONIC
|
||||
*
|
||||
* If set to 0, the kernel will report timestamps with ``CLOCK_REALTIME`` in
|
||||
* struct drm_event_vblank. If set to 1, the kernel will report timestamps with
|
||||
* ``CLOCK_MONOTONIC``. See ``clock_gettime(2)`` for the definition of these
|
||||
* clocks.
|
||||
*
|
||||
* Starting from kernel version 2.6.39, the default value for this capability
|
||||
* is 1. Starting kernel version 4.15, this capability is always set to 1.
|
||||
*/
|
||||
#define DRM_CAP_TIMESTAMP_MONOTONIC 0x6
|
||||
/**
|
||||
* DRM_CAP_ASYNC_PAGE_FLIP
|
||||
*
|
||||
* If set to 1, the driver supports &DRM_MODE_PAGE_FLIP_ASYNC.
|
||||
*/
|
||||
#define DRM_CAP_ASYNC_PAGE_FLIP 0x7
|
||||
/*
|
||||
* The CURSOR_WIDTH and CURSOR_HEIGHT capabilities return a valid widthxheight
|
||||
* combination for the hardware cursor. The intention is that a hardware
|
||||
* agnostic userspace can query a cursor plane size to use.
|
||||
/**
|
||||
* DRM_CAP_CURSOR_WIDTH
|
||||
*
|
||||
* The ``CURSOR_WIDTH`` and ``CURSOR_HEIGHT`` capabilities return a valid
|
||||
* width x height combination for the hardware cursor. The intention is that a
|
||||
* hardware agnostic userspace can query a cursor plane size to use.
|
||||
*
|
||||
* Note that the cross-driver contract is to merely return a valid size;
|
||||
* drivers are free to attach another meaning on top, eg. i915 returns the
|
||||
* maximum plane size.
|
||||
*/
|
||||
#define DRM_CAP_CURSOR_WIDTH 0x8
|
||||
/**
|
||||
* DRM_CAP_CURSOR_HEIGHT
|
||||
*
|
||||
* See &DRM_CAP_CURSOR_WIDTH.
|
||||
*/
|
||||
#define DRM_CAP_CURSOR_HEIGHT 0x9
|
||||
/**
|
||||
* DRM_CAP_ADDFB2_MODIFIERS
|
||||
*
|
||||
* If set to 1, the driver supports supplying modifiers in the
|
||||
* &DRM_IOCTL_MODE_ADDFB2 ioctl.
|
||||
*/
|
||||
#define DRM_CAP_ADDFB2_MODIFIERS 0x10
|
||||
/**
|
||||
* DRM_CAP_PAGE_FLIP_TARGET
|
||||
*
|
||||
* If set to 1, the driver supports the &DRM_MODE_PAGE_FLIP_TARGET_ABSOLUTE and
|
||||
* &DRM_MODE_PAGE_FLIP_TARGET_RELATIVE flags in
|
||||
* &drm_mode_crtc_page_flip_target.flags for the &DRM_IOCTL_MODE_PAGE_FLIP
|
||||
* ioctl.
|
||||
*/
|
||||
#define DRM_CAP_PAGE_FLIP_TARGET 0x11
|
||||
/**
|
||||
* DRM_CAP_CRTC_IN_VBLANK_EVENT
|
||||
*
|
||||
* If set to 1, the kernel supports reporting the CRTC ID in
|
||||
* &drm_event_vblank.crtc_id for the &DRM_EVENT_VBLANK and
|
||||
* &DRM_EVENT_FLIP_COMPLETE events.
|
||||
*
|
||||
* Starting kernel version 4.12, this capability is always set to 1.
|
||||
*/
|
||||
#define DRM_CAP_CRTC_IN_VBLANK_EVENT 0x12
|
||||
/**
|
||||
* DRM_CAP_SYNCOBJ
|
||||
*
|
||||
* If set to 1, the driver supports sync objects. See
|
||||
* Documentation/gpu/drm-mm.rst, section "DRM Sync Objects".
|
||||
*/
|
||||
#define DRM_CAP_SYNCOBJ 0x13
|
||||
/**
|
||||
* DRM_CAP_SYNCOBJ_TIMELINE
|
||||
*
|
||||
* If set to 1, the driver supports timeline operations on sync objects. See
|
||||
* Documentation/gpu/drm-mm.rst, section "DRM Sync Objects".
|
||||
*/
|
||||
#define DRM_CAP_SYNCOBJ_TIMELINE 0x14
|
||||
|
||||
/* DRM_IOCTL_GET_CAP ioctl argument type */
|
||||
|
|
|
@ -943,6 +943,7 @@ struct drm_i915_gem_exec_object {
|
|||
__u64 offset;
|
||||
};
|
||||
|
||||
/* DRM_IOCTL_I915_GEM_EXECBUFFER was removed in Linux 5.13 */
|
||||
struct drm_i915_gem_execbuffer {
|
||||
/**
|
||||
* List of buffers to be validated with their relocations to be
|
||||
|
|
|
@ -1078,6 +1078,10 @@ struct kvm_ppc_resize_hpt {
|
|||
#define KVM_CAP_DIRTY_LOG_RING 192
|
||||
#define KVM_CAP_X86_BUS_LOCK_EXIT 193
|
||||
#define KVM_CAP_PPC_DAWR1 194
|
||||
#define KVM_CAP_SET_GUEST_DEBUG2 195
|
||||
#define KVM_CAP_SGX_ATTRIBUTE 196
|
||||
#define KVM_CAP_VM_COPY_ENC_CONTEXT_FROM 197
|
||||
#define KVM_CAP_PTP_KVM 198
|
||||
|
||||
#ifdef KVM_CAP_IRQ_ROUTING
|
||||
|
||||
|
@ -1671,6 +1675,8 @@ enum sev_cmd_id {
|
|||
KVM_SEV_CERT_EXPORT,
|
||||
/* Attestation report */
|
||||
KVM_SEV_GET_ATTESTATION_REPORT,
|
||||
/* Guest Migration Extension */
|
||||
KVM_SEV_SEND_CANCEL,
|
||||
|
||||
KVM_SEV_NR_MAX,
|
||||
};
|
||||
|
@ -1729,6 +1735,45 @@ struct kvm_sev_attestation_report {
|
|||
__u32 len;
|
||||
};
|
||||
|
||||
struct kvm_sev_send_start {
|
||||
__u32 policy;
|
||||
__u64 pdh_cert_uaddr;
|
||||
__u32 pdh_cert_len;
|
||||
__u64 plat_certs_uaddr;
|
||||
__u32 plat_certs_len;
|
||||
__u64 amd_certs_uaddr;
|
||||
__u32 amd_certs_len;
|
||||
__u64 session_uaddr;
|
||||
__u32 session_len;
|
||||
};
|
||||
|
||||
struct kvm_sev_send_update_data {
|
||||
__u64 hdr_uaddr;
|
||||
__u32 hdr_len;
|
||||
__u64 guest_uaddr;
|
||||
__u32 guest_len;
|
||||
__u64 trans_uaddr;
|
||||
__u32 trans_len;
|
||||
};
|
||||
|
||||
struct kvm_sev_receive_start {
|
||||
__u32 handle;
|
||||
__u32 policy;
|
||||
__u64 pdh_uaddr;
|
||||
__u32 pdh_len;
|
||||
__u64 session_uaddr;
|
||||
__u32 session_len;
|
||||
};
|
||||
|
||||
struct kvm_sev_receive_update_data {
|
||||
__u64 hdr_uaddr;
|
||||
__u32 hdr_len;
|
||||
__u64 guest_uaddr;
|
||||
__u32 guest_len;
|
||||
__u64 trans_uaddr;
|
||||
__u32 trans_len;
|
||||
};
|
||||
|
||||
#define KVM_DEV_ASSIGN_ENABLE_IOMMU (1 << 0)
|
||||
#define KVM_DEV_ASSIGN_PCI_2_3 (1 << 1)
|
||||
#define KVM_DEV_ASSIGN_MASK_INTX (1 << 2)
|
||||
|
|
|
@ -127,6 +127,7 @@ enum perf_sw_ids {
|
|||
PERF_COUNT_SW_EMULATION_FAULTS = 8,
|
||||
PERF_COUNT_SW_DUMMY = 9,
|
||||
PERF_COUNT_SW_BPF_OUTPUT = 10,
|
||||
PERF_COUNT_SW_CGROUP_SWITCHES = 11,
|
||||
|
||||
PERF_COUNT_SW_MAX, /* non-ABI */
|
||||
};
|
||||
|
@ -326,6 +327,7 @@ enum perf_event_read_format {
|
|||
#define PERF_ATTR_SIZE_VER4 104 /* add: sample_regs_intr */
|
||||
#define PERF_ATTR_SIZE_VER5 112 /* add: aux_watermark */
|
||||
#define PERF_ATTR_SIZE_VER6 120 /* add: aux_sample_size */
|
||||
#define PERF_ATTR_SIZE_VER7 128 /* add: sig_data */
|
||||
|
||||
/*
|
||||
* Hardware event_id to monitor via a performance monitoring event:
|
||||
|
@ -404,7 +406,10 @@ struct perf_event_attr {
|
|||
cgroup : 1, /* include cgroup events */
|
||||
text_poke : 1, /* include text poke events */
|
||||
build_id : 1, /* use build id in mmap2 events */
|
||||
__reserved_1 : 29;
|
||||
inherit_thread : 1, /* children only inherit if cloned with CLONE_THREAD */
|
||||
remove_on_exec : 1, /* event is removed from task on exec */
|
||||
sigtrap : 1, /* send synchronous SIGTRAP on event */
|
||||
__reserved_1 : 26;
|
||||
|
||||
union {
|
||||
__u32 wakeup_events; /* wakeup every n events */
|
||||
|
@ -456,6 +461,12 @@ struct perf_event_attr {
|
|||
__u16 __reserved_2;
|
||||
__u32 aux_sample_size;
|
||||
__u32 __reserved_3;
|
||||
|
||||
/*
|
||||
* User provided data if sigtrap=1, passed back to user via
|
||||
* siginfo_t::si_perf, e.g. to permit user to identify the event.
|
||||
*/
|
||||
__u64 sig_data;
|
||||
};
|
||||
|
||||
/*
|
||||
|
@ -1171,10 +1182,15 @@ enum perf_callchain_context {
|
|||
/**
|
||||
* PERF_RECORD_AUX::flags bits
|
||||
*/
|
||||
#define PERF_AUX_FLAG_TRUNCATED 0x01 /* record was truncated to fit */
|
||||
#define PERF_AUX_FLAG_OVERWRITE 0x02 /* snapshot from overwrite mode */
|
||||
#define PERF_AUX_FLAG_PARTIAL 0x04 /* record contains gaps */
|
||||
#define PERF_AUX_FLAG_COLLISION 0x08 /* sample collided with another */
|
||||
#define PERF_AUX_FLAG_TRUNCATED 0x01 /* record was truncated to fit */
|
||||
#define PERF_AUX_FLAG_OVERWRITE 0x02 /* snapshot from overwrite mode */
|
||||
#define PERF_AUX_FLAG_PARTIAL 0x04 /* record contains gaps */
|
||||
#define PERF_AUX_FLAG_COLLISION 0x08 /* sample collided with another */
|
||||
#define PERF_AUX_FLAG_PMU_FORMAT_TYPE_MASK 0xff00 /* PMU specific trace format type */
|
||||
|
||||
/* CoreSight PMU AUX buffer formats */
|
||||
#define PERF_AUX_FLAG_CORESIGHT_FORMAT_CORESIGHT 0x0000 /* Default for backward compatibility */
|
||||
#define PERF_AUX_FLAG_CORESIGHT_FORMAT_RAW 0x0100 /* Raw format of the source */
|
||||
|
||||
#define PERF_FLAG_FD_NO_GROUP (1UL << 0)
|
||||
#define PERF_FLAG_FD_OUTPUT (1UL << 1)
|
||||
|
|
|
@ -255,4 +255,8 @@ struct prctl_mm_map {
|
|||
# define SYSCALL_DISPATCH_FILTER_ALLOW 0
|
||||
# define SYSCALL_DISPATCH_FILTER_BLOCK 1
|
||||
|
||||
/* Set/get enabled arm64 pointer authentication keys */
|
||||
#define PR_PAC_SET_ENABLED_KEYS 60
|
||||
#define PR_PAC_GET_ENABLED_KEYS 61
|
||||
|
||||
#endif /* _LINUX_PRCTL_H */
|
||||
|
|
|
@ -540,6 +540,7 @@ ifndef NO_LIBELF
|
|||
ifdef LIBBPF_DYNAMIC
|
||||
ifeq ($(feature-libbpf), 1)
|
||||
EXTLIBS += -lbpf
|
||||
$(call detected,CONFIG_LIBBPF_DYNAMIC)
|
||||
else
|
||||
dummy := $(error Error: No libbpf devel library found, please install libbpf-devel);
|
||||
endif
|
||||
|
|
|
@ -71,7 +71,7 @@ struct kvm_reg_events_ops kvm_reg_events_ops[] = {
|
|||
.name = "vmexit",
|
||||
.ops = &exit_events,
|
||||
},
|
||||
{ NULL },
|
||||
{ NULL, NULL },
|
||||
};
|
||||
|
||||
const char * const kvm_skip_events[] = {
|
||||
|
|
|
@ -356,3 +356,8 @@
|
|||
439 n64 faccessat2 sys_faccessat2
|
||||
440 n64 process_madvise sys_process_madvise
|
||||
441 n64 epoll_pwait2 sys_epoll_pwait2
|
||||
442 n64 mount_setattr sys_mount_setattr
|
||||
443 n64 quotactl_path sys_quotactl_path
|
||||
444 n64 landlock_create_ruleset sys_landlock_create_ruleset
|
||||
445 n64 landlock_add_rule sys_landlock_add_rule
|
||||
446 n64 landlock_restrict_self sys_landlock_restrict_self
|
||||
|
|
|
@ -522,3 +522,7 @@
|
|||
440 common process_madvise sys_process_madvise
|
||||
441 common epoll_pwait2 sys_epoll_pwait2 compat_sys_epoll_pwait2
|
||||
442 common mount_setattr sys_mount_setattr
|
||||
443 common quotactl_path sys_quotactl_path
|
||||
444 common landlock_create_ruleset sys_landlock_create_ruleset
|
||||
445 common landlock_add_rule sys_landlock_add_rule
|
||||
446 common landlock_restrict_self sys_landlock_restrict_self
|
||||
|
|
|
@ -445,3 +445,7 @@
|
|||
440 common process_madvise sys_process_madvise sys_process_madvise
|
||||
441 common epoll_pwait2 sys_epoll_pwait2 compat_sys_epoll_pwait2
|
||||
442 common mount_setattr sys_mount_setattr sys_mount_setattr
|
||||
443 common quotactl_path sys_quotactl_path sys_quotactl_path
|
||||
444 common landlock_create_ruleset sys_landlock_create_ruleset sys_landlock_create_ruleset
|
||||
445 common landlock_add_rule sys_landlock_add_rule sys_landlock_add_rule
|
||||
446 common landlock_restrict_self sys_landlock_restrict_self sys_landlock_restrict_self
|
||||
|
|
|
@ -364,6 +364,10 @@
|
|||
440 common process_madvise sys_process_madvise
|
||||
441 common epoll_pwait2 sys_epoll_pwait2
|
||||
442 common mount_setattr sys_mount_setattr
|
||||
443 common quotactl_path sys_quotactl_path
|
||||
444 common landlock_create_ruleset sys_landlock_create_ruleset
|
||||
445 common landlock_add_rule sys_landlock_add_rule
|
||||
446 common landlock_restrict_self sys_landlock_restrict_self
|
||||
|
||||
#
|
||||
# Due to a historical design error, certain syscalls are numbered differently
|
||||
|
|
|
@ -1123,8 +1123,10 @@ static int process_one_file(const char *fpath, const struct stat *sb,
|
|||
mapfile = strdup(fpath);
|
||||
return 0;
|
||||
}
|
||||
|
||||
pr_info("%s: Ignoring file %s\n", prog, fpath);
|
||||
if (is_json_file(bname))
|
||||
pr_debug("%s: ArchStd json is preprocessed %s\n", prog, fpath);
|
||||
else
|
||||
pr_info("%s: Ignoring file %s\n", prog, fpath);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
|
@ -5,7 +5,7 @@ group_fd=-1
|
|||
flags=0|8
|
||||
cpu=*
|
||||
type=0|1
|
||||
size=120
|
||||
size=128
|
||||
config=0
|
||||
sample_period=*
|
||||
sample_type=263
|
||||
|
|
|
@ -5,7 +5,7 @@ group_fd=-1
|
|||
flags=0|8
|
||||
cpu=*
|
||||
type=0
|
||||
size=120
|
||||
size=128
|
||||
config=0
|
||||
sample_period=0
|
||||
sample_type=65536
|
||||
|
|
|
@ -7,7 +7,7 @@ cpu=*
|
|||
pid=-1
|
||||
flags=8
|
||||
type=1
|
||||
size=120
|
||||
size=128
|
||||
config=9
|
||||
sample_period=4000
|
||||
sample_type=455
|
||||
|
|
|
@ -145,7 +145,14 @@ perf-$(CONFIG_LIBELF) += symbol-elf.o
|
|||
perf-$(CONFIG_LIBELF) += probe-file.o
|
||||
perf-$(CONFIG_LIBELF) += probe-event.o
|
||||
|
||||
ifdef CONFIG_LIBBPF_DYNAMIC
|
||||
hashmap := 1
|
||||
endif
|
||||
ifndef CONFIG_LIBBPF
|
||||
hashmap := 1
|
||||
endif
|
||||
|
||||
ifdef hashmap
|
||||
perf-y += hashmap.o
|
||||
endif
|
||||
|
||||
|
|
|
@ -157,9 +157,15 @@ static int get_max_rate(unsigned int *rate)
|
|||
static int record_opts__config_freq(struct record_opts *opts)
|
||||
{
|
||||
bool user_freq = opts->user_freq != UINT_MAX;
|
||||
bool user_interval = opts->user_interval != ULLONG_MAX;
|
||||
unsigned int max_rate;
|
||||
|
||||
if (opts->user_interval != ULLONG_MAX)
|
||||
if (user_interval && user_freq) {
|
||||
pr_err("cannot set frequency and period at the same time\n");
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (user_interval)
|
||||
opts->default_interval = opts->user_interval;
|
||||
if (user_freq)
|
||||
opts->freq = opts->user_freq;
|
||||
|
|
|
@ -904,7 +904,7 @@ static void perf_event__cpu_map_swap(union perf_event *event,
|
|||
struct perf_record_record_cpu_map *mask;
|
||||
unsigned i;
|
||||
|
||||
data->type = bswap_64(data->type);
|
||||
data->type = bswap_16(data->type);
|
||||
|
||||
switch (data->type) {
|
||||
case PERF_CPU_MAP__CPUS:
|
||||
|
@ -937,7 +937,7 @@ static void perf_event__stat_config_swap(union perf_event *event,
|
|||
{
|
||||
u64 size;
|
||||
|
||||
size = event->stat_config.nr * sizeof(event->stat_config.data[0]);
|
||||
size = bswap_64(event->stat_config.nr) * sizeof(event->stat_config.data[0]);
|
||||
size += 1; /* nr item itself */
|
||||
mem_bswap_64(&event->stat_config.nr, size);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue