mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-01-11 09:00:12 +00:00
perf-tools fixes and updates for v6.19
A number of small updates: - skip building BPF skeletons if libopenssl is missing - a couple of test updates - handle error cases of filename__read_build_id() - support NVIDIA Olympus for ARM SPE profiling - update tool headers to sync with the kernel Signed-off-by: Namhyung Kim <namhyung@kernel.org> -----BEGIN PGP SIGNATURE----- iHUEABYKAB0WIQSo2x5BnqMqsoHtzsmMstVUGiXMgwUCaVg+TgAKCRCMstVUGiXM g1RGAQCdCKNbdPm45ALTQp6BNg5hLmglzwXG85KPsqwI2r+xIAEAnpYShUMfBCiw sigdkXJUkD3TFE1NdXenz92iNThV9Ag= =UT5P -----END PGP SIGNATURE----- Merge tag 'perf-tools-fixes-for-v6.19-2026-01-02' of git://git.kernel.org/pub/scm/linux/kernel/git/perf/perf-tools Pull perf tool fixes and from Namhyung Kim: - skip building BPF skeletons if libopenssl is missing - a couple of test updates - handle error cases of filename__read_build_id() - support NVIDIA Olympus for ARM SPE profiling - update tool headers to sync with the kernel * tag 'perf-tools-fixes-for-v6.19-2026-01-02' of git://git.kernel.org/pub/scm/linux/kernel/git/perf/perf-tools: tools build: Fix the common set of features test wrt libopenssl tools headers: Sync syscall table with kernel sources tools headers: Sync linux/socket.h with kernel sources tools headers: Sync linux/gfp_types.h with kernel sources tools headers: Sync arm64 headers with kernel sources tools headers: Sync x86 headers with kernel sources tools headers: Sync UAPI sound/asound.h with kernel sources tools headers: Sync UAPI linux/mount.h with kernel sources tools headers: Sync UAPI linux/fs.h with kernel sources tools headers: Sync UAPI linux/fcntl.h with kernel sources tools headers: Sync UAPI KVM headers with kernel sources tools headers: Sync UAPI drm/drm.h with kernel sources perf arm-spe: Add NVIDIA Olympus to neoverse list tools headers arm64: Add NVIDIA Olympus part perf tests top: Make the test exclusive perf tests kvm: Avoid leaving perf.data.guest file around perf symbol: Fix ENOENT case for filename__read_build_id perf tools: Disable BPF skeleton if no libopenssl found tools/build: Add a feature test for libopenssl
This commit is contained in:
commit
805f9a0613
@ -81,7 +81,6 @@
|
||||
#define ARM_CPU_PART_CORTEX_A78AE 0xD42
|
||||
#define ARM_CPU_PART_CORTEX_X1 0xD44
|
||||
#define ARM_CPU_PART_CORTEX_A510 0xD46
|
||||
#define ARM_CPU_PART_CORTEX_X1C 0xD4C
|
||||
#define ARM_CPU_PART_CORTEX_A520 0xD80
|
||||
#define ARM_CPU_PART_CORTEX_A710 0xD47
|
||||
#define ARM_CPU_PART_CORTEX_A715 0xD4D
|
||||
@ -93,6 +92,7 @@
|
||||
#define ARM_CPU_PART_NEOVERSE_V2 0xD4F
|
||||
#define ARM_CPU_PART_CORTEX_A720 0xD81
|
||||
#define ARM_CPU_PART_CORTEX_X4 0xD82
|
||||
#define ARM_CPU_PART_NEOVERSE_V3AE 0xD83
|
||||
#define ARM_CPU_PART_NEOVERSE_V3 0xD84
|
||||
#define ARM_CPU_PART_CORTEX_X925 0xD85
|
||||
#define ARM_CPU_PART_CORTEX_A725 0xD87
|
||||
@ -130,6 +130,7 @@
|
||||
|
||||
#define NVIDIA_CPU_PART_DENVER 0x003
|
||||
#define NVIDIA_CPU_PART_CARMEL 0x004
|
||||
#define NVIDIA_CPU_PART_OLYMPUS 0x010
|
||||
|
||||
#define FUJITSU_CPU_PART_A64FX 0x001
|
||||
|
||||
@ -171,7 +172,6 @@
|
||||
#define MIDR_CORTEX_A78AE MIDR_CPU_MODEL(ARM_CPU_IMP_ARM, ARM_CPU_PART_CORTEX_A78AE)
|
||||
#define MIDR_CORTEX_X1 MIDR_CPU_MODEL(ARM_CPU_IMP_ARM, ARM_CPU_PART_CORTEX_X1)
|
||||
#define MIDR_CORTEX_A510 MIDR_CPU_MODEL(ARM_CPU_IMP_ARM, ARM_CPU_PART_CORTEX_A510)
|
||||
#define MIDR_CORTEX_X1C MIDR_CPU_MODEL(ARM_CPU_IMP_ARM, ARM_CPU_PART_CORTEX_X1C)
|
||||
#define MIDR_CORTEX_A520 MIDR_CPU_MODEL(ARM_CPU_IMP_ARM, ARM_CPU_PART_CORTEX_A520)
|
||||
#define MIDR_CORTEX_A710 MIDR_CPU_MODEL(ARM_CPU_IMP_ARM, ARM_CPU_PART_CORTEX_A710)
|
||||
#define MIDR_CORTEX_A715 MIDR_CPU_MODEL(ARM_CPU_IMP_ARM, ARM_CPU_PART_CORTEX_A715)
|
||||
@ -183,6 +183,7 @@
|
||||
#define MIDR_NEOVERSE_V2 MIDR_CPU_MODEL(ARM_CPU_IMP_ARM, ARM_CPU_PART_NEOVERSE_V2)
|
||||
#define MIDR_CORTEX_A720 MIDR_CPU_MODEL(ARM_CPU_IMP_ARM, ARM_CPU_PART_CORTEX_A720)
|
||||
#define MIDR_CORTEX_X4 MIDR_CPU_MODEL(ARM_CPU_IMP_ARM, ARM_CPU_PART_CORTEX_X4)
|
||||
#define MIDR_NEOVERSE_V3AE MIDR_CPU_MODEL(ARM_CPU_IMP_ARM, ARM_CPU_PART_NEOVERSE_V3AE)
|
||||
#define MIDR_NEOVERSE_V3 MIDR_CPU_MODEL(ARM_CPU_IMP_ARM, ARM_CPU_PART_NEOVERSE_V3)
|
||||
#define MIDR_CORTEX_X925 MIDR_CPU_MODEL(ARM_CPU_IMP_ARM, ARM_CPU_PART_CORTEX_X925)
|
||||
#define MIDR_CORTEX_A725 MIDR_CPU_MODEL(ARM_CPU_IMP_ARM, ARM_CPU_PART_CORTEX_A725)
|
||||
@ -222,6 +223,7 @@
|
||||
|
||||
#define MIDR_NVIDIA_DENVER MIDR_CPU_MODEL(ARM_CPU_IMP_NVIDIA, NVIDIA_CPU_PART_DENVER)
|
||||
#define MIDR_NVIDIA_CARMEL MIDR_CPU_MODEL(ARM_CPU_IMP_NVIDIA, NVIDIA_CPU_PART_CARMEL)
|
||||
#define MIDR_NVIDIA_OLYMPUS MIDR_CPU_MODEL(ARM_CPU_IMP_NVIDIA, NVIDIA_CPU_PART_OLYMPUS)
|
||||
#define MIDR_FUJITSU_A64FX MIDR_CPU_MODEL(ARM_CPU_IMP_FUJITSU, FUJITSU_CPU_PART_A64FX)
|
||||
#define MIDR_HISI_TSV110 MIDR_CPU_MODEL(ARM_CPU_IMP_HISI, HISI_CPU_PART_TSV110)
|
||||
#define MIDR_HISI_HIP09 MIDR_CPU_MODEL(ARM_CPU_IMP_HISI, HISI_CPU_PART_HIP09)
|
||||
@ -245,7 +247,7 @@
|
||||
/* Fujitsu Erratum 010001 affects A64FX 1.0 and 1.1, (v0r0 and v1r0) */
|
||||
#define MIDR_FUJITSU_ERRATUM_010001 MIDR_FUJITSU_A64FX
|
||||
#define MIDR_FUJITSU_ERRATUM_010001_MASK (~MIDR_CPU_VAR_REV(1, 0))
|
||||
#define TCR_CLEAR_FUJITSU_ERRATUM_010001 (TCR_NFD1 | TCR_NFD0)
|
||||
#define TCR_CLEAR_FUJITSU_ERRATUM_010001 (TCR_EL1_NFD1 | TCR_EL1_NFD0)
|
||||
|
||||
#ifndef __ASSEMBLER__
|
||||
|
||||
|
||||
@ -314,6 +314,7 @@
|
||||
#define X86_FEATURE_SM4 (12*32+ 2) /* SM4 instructions */
|
||||
#define X86_FEATURE_AVX_VNNI (12*32+ 4) /* "avx_vnni" AVX VNNI instructions */
|
||||
#define X86_FEATURE_AVX512_BF16 (12*32+ 5) /* "avx512_bf16" AVX512 BFLOAT16 instructions */
|
||||
#define X86_FEATURE_LASS (12*32+ 6) /* "lass" Linear Address Space Separation */
|
||||
#define X86_FEATURE_CMPCCXADD (12*32+ 7) /* CMPccXADD instructions */
|
||||
#define X86_FEATURE_ARCH_PERFMON_EXT (12*32+ 8) /* Intel Architectural PerfMon Extension */
|
||||
#define X86_FEATURE_FZRM (12*32+10) /* Fast zero-length REP MOVSB */
|
||||
@ -338,6 +339,7 @@
|
||||
#define X86_FEATURE_AMD_STIBP (13*32+15) /* Single Thread Indirect Branch Predictors */
|
||||
#define X86_FEATURE_AMD_STIBP_ALWAYS_ON (13*32+17) /* Single Thread Indirect Branch Predictors always-on preferred */
|
||||
#define X86_FEATURE_AMD_IBRS_SAME_MODE (13*32+19) /* Indirect Branch Restricted Speculation same mode protection*/
|
||||
#define X86_FEATURE_EFER_LMSLE_MBZ (13*32+20) /* EFER.LMSLE must be zero */
|
||||
#define X86_FEATURE_AMD_PPIN (13*32+23) /* "amd_ppin" Protected Processor Inventory Number */
|
||||
#define X86_FEATURE_AMD_SSBD (13*32+24) /* Speculative Store Bypass Disable */
|
||||
#define X86_FEATURE_VIRT_SSBD (13*32+25) /* "virt_ssbd" Virtualized Speculative Store Bypass Disable */
|
||||
@ -502,6 +504,15 @@
|
||||
#define X86_FEATURE_IBPB_EXIT_TO_USER (21*32+14) /* Use IBPB on exit-to-userspace, see VMSCAPE bug */
|
||||
#define X86_FEATURE_ABMC (21*32+15) /* Assignable Bandwidth Monitoring Counters */
|
||||
#define X86_FEATURE_MSR_IMM (21*32+16) /* MSR immediate form instructions */
|
||||
#define X86_FEATURE_SGX_EUPDATESVN (21*32+17) /* Support for ENCLS[EUPDATESVN] instruction */
|
||||
|
||||
#define X86_FEATURE_SDCIAE (21*32+18) /* L3 Smart Data Cache Injection Allocation Enforcement */
|
||||
#define X86_FEATURE_CLEAR_CPU_BUF_VM_MMIO (21*32+19) /*
|
||||
* Clear CPU buffers before VM-Enter if the vCPU
|
||||
* can access host MMIO (ignored for all intents
|
||||
* and purposes if CLEAR_CPU_BUF_VM is set).
|
||||
*/
|
||||
#define X86_FEATURE_X2AVIC_EXT (21*32+20) /* AMD SVM x2AVIC support for 4k vCPUs */
|
||||
|
||||
/*
|
||||
* BUG word(s)
|
||||
|
||||
@ -166,6 +166,10 @@
|
||||
* Processor MMIO stale data
|
||||
* vulnerabilities.
|
||||
*/
|
||||
#define ARCH_CAP_MCU_ENUM BIT(16) /*
|
||||
* Indicates the presence of microcode update
|
||||
* feature enumeration and status information.
|
||||
*/
|
||||
#define ARCH_CAP_FB_CLEAR BIT(17) /*
|
||||
* VERW clears CPU fill buffer
|
||||
* even on MDS_NO CPUs.
|
||||
@ -327,6 +331,26 @@
|
||||
PERF_CAP_PEBS_FORMAT | PERF_CAP_PEBS_BASELINE | \
|
||||
PERF_CAP_PEBS_TIMING_INFO)
|
||||
|
||||
/* Arch PEBS */
|
||||
#define MSR_IA32_PEBS_BASE 0x000003f4
|
||||
#define MSR_IA32_PEBS_INDEX 0x000003f5
|
||||
#define ARCH_PEBS_OFFSET_MASK 0x7fffff
|
||||
#define ARCH_PEBS_INDEX_WR_SHIFT 4
|
||||
|
||||
#define ARCH_PEBS_RELOAD 0xffffffff
|
||||
#define ARCH_PEBS_CNTR_ALLOW BIT_ULL(35)
|
||||
#define ARCH_PEBS_CNTR_GP BIT_ULL(36)
|
||||
#define ARCH_PEBS_CNTR_FIXED BIT_ULL(37)
|
||||
#define ARCH_PEBS_CNTR_METRICS BIT_ULL(38)
|
||||
#define ARCH_PEBS_LBR_SHIFT 40
|
||||
#define ARCH_PEBS_LBR (0x3ull << ARCH_PEBS_LBR_SHIFT)
|
||||
#define ARCH_PEBS_VECR_XMM BIT_ULL(49)
|
||||
#define ARCH_PEBS_GPR BIT_ULL(61)
|
||||
#define ARCH_PEBS_AUX BIT_ULL(62)
|
||||
#define ARCH_PEBS_EN BIT_ULL(63)
|
||||
#define ARCH_PEBS_CNTR_MASK (ARCH_PEBS_CNTR_GP | ARCH_PEBS_CNTR_FIXED | \
|
||||
ARCH_PEBS_CNTR_METRICS)
|
||||
|
||||
#define MSR_IA32_RTIT_CTL 0x00000570
|
||||
#define RTIT_CTL_TRACEEN BIT(0)
|
||||
#define RTIT_CTL_CYCLEACC BIT(1)
|
||||
@ -929,6 +953,10 @@
|
||||
#define MSR_IA32_APICBASE_BASE (0xfffff<<12)
|
||||
|
||||
#define MSR_IA32_UCODE_WRITE 0x00000079
|
||||
|
||||
#define MSR_IA32_MCU_ENUMERATION 0x0000007b
|
||||
#define MCU_STAGING BIT(4)
|
||||
|
||||
#define MSR_IA32_UCODE_REV 0x0000008b
|
||||
|
||||
/* Intel SGX Launch Enclave Public Key Hash MSRs */
|
||||
@ -1226,6 +1254,8 @@
|
||||
#define MSR_IA32_VMX_VMFUNC 0x00000491
|
||||
#define MSR_IA32_VMX_PROCBASED_CTLS3 0x00000492
|
||||
|
||||
#define MSR_IA32_MCU_STAGING_MBOX_ADDR 0x000007a5
|
||||
|
||||
/* Resctrl MSRs: */
|
||||
/* - Intel: */
|
||||
#define MSR_IA32_L3_QOS_CFG 0xc81
|
||||
|
||||
@ -502,6 +502,7 @@ struct kvm_sync_regs {
|
||||
/* vendor-specific groups and attributes for system fd */
|
||||
#define KVM_X86_GRP_SEV 1
|
||||
# define KVM_X86_SEV_VMSA_FEATURES 0
|
||||
# define KVM_X86_SNP_POLICY_BITS 1
|
||||
|
||||
struct kvm_vmx_nested_state_data {
|
||||
__u8 vmcs12[KVM_STATE_NESTED_VMX_VMCS_SIZE];
|
||||
|
||||
@ -99,7 +99,8 @@ FEATURE_TESTS_BASIC := \
|
||||
libzstd \
|
||||
disassembler-four-args \
|
||||
disassembler-init-styled \
|
||||
file-handle
|
||||
file-handle \
|
||||
libopenssl
|
||||
|
||||
# FEATURE_TESTS_BASIC + FEATURE_TESTS_EXTRA is the complete list
|
||||
# of all feature tests
|
||||
@ -147,7 +148,8 @@ FEATURE_DISPLAY ?= \
|
||||
lzma \
|
||||
bpf \
|
||||
libaio \
|
||||
libzstd
|
||||
libzstd \
|
||||
libopenssl
|
||||
|
||||
#
|
||||
# Declare group members of a feature to display the logical OR of the detection
|
||||
|
||||
@ -67,12 +67,13 @@ FILES= \
|
||||
test-libopencsd.bin \
|
||||
test-clang.bin \
|
||||
test-llvm.bin \
|
||||
test-llvm-perf.bin \
|
||||
test-llvm-perf.bin \
|
||||
test-libaio.bin \
|
||||
test-libzstd.bin \
|
||||
test-clang-bpf-co-re.bin \
|
||||
test-file-handle.bin \
|
||||
test-libpfm4.bin
|
||||
test-libpfm4.bin \
|
||||
test-libopenssl.bin
|
||||
|
||||
FILES := $(addprefix $(OUTPUT),$(FILES))
|
||||
|
||||
@ -106,7 +107,7 @@ all: $(FILES)
|
||||
__BUILD = $(CC) $(CFLAGS) -MD -Wall -Werror -o $@ $(patsubst %.bin,%.c,$(@F)) $(LDFLAGS)
|
||||
BUILD = $(__BUILD) > $(@:.bin=.make.output) 2>&1
|
||||
BUILD_BFD = $(BUILD) -DPACKAGE='"perf"' -lbfd -ldl
|
||||
BUILD_ALL = $(BUILD) -fstack-protector-all -O2 -D_FORTIFY_SOURCE=2 -ldw -lelf -lnuma -lelf -lslang $(FLAGS_PERL_EMBED) $(FLAGS_PYTHON_EMBED) -ldl -lz -llzma -lzstd
|
||||
BUILD_ALL = $(BUILD) -fstack-protector-all -O2 -D_FORTIFY_SOURCE=2 -ldw -lelf -lnuma -lelf -lslang $(FLAGS_PERL_EMBED) $(FLAGS_PYTHON_EMBED) -ldl -lz -llzma -lzstd -lssl
|
||||
|
||||
__BUILDXX = $(CXX) $(CXXFLAGS) -MD -Wall -Werror -o $@ $(patsubst %.bin,%.cpp,$(@F)) $(LDFLAGS)
|
||||
BUILDXX = $(__BUILDXX) > $(@:.bin=.make.output) 2>&1
|
||||
@ -381,6 +382,9 @@ $(OUTPUT)test-file-handle.bin:
|
||||
$(OUTPUT)test-libpfm4.bin:
|
||||
$(BUILD) -lpfm
|
||||
|
||||
$(OUTPUT)test-libopenssl.bin:
|
||||
$(BUILD) -lssl
|
||||
|
||||
$(OUTPUT)test-bpftool-skeletons.bin:
|
||||
$(SYSTEM_BPFTOOL) version | grep '^features:.*skeletons' \
|
||||
> $(@:.bin=.make.output) 2>&1
|
||||
|
||||
@ -142,6 +142,10 @@
|
||||
# include "test-libtraceevent.c"
|
||||
#undef main
|
||||
|
||||
#define main main_test_libopenssl
|
||||
# include "test-libopenssl.c"
|
||||
#undef main
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
main_test_libpython();
|
||||
@ -173,6 +177,7 @@ int main(int argc, char *argv[])
|
||||
main_test_reallocarray();
|
||||
main_test_libzstd();
|
||||
main_test_libtraceevent();
|
||||
main_test_libopenssl();
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
7
tools/build/feature/test-libopenssl.c
Normal file
7
tools/build/feature/test-libopenssl.c
Normal file
@ -0,0 +1,7 @@
|
||||
#include <openssl/ssl.h>
|
||||
#include <openssl/opensslv.h>
|
||||
|
||||
int main(void)
|
||||
{
|
||||
return SSL_library_init();
|
||||
}
|
||||
@ -55,9 +55,7 @@ enum {
|
||||
#ifdef CONFIG_LOCKDEP
|
||||
___GFP_NOLOCKDEP_BIT,
|
||||
#endif
|
||||
#ifdef CONFIG_SLAB_OBJ_EXT
|
||||
___GFP_NO_OBJ_EXT_BIT,
|
||||
#endif
|
||||
___GFP_LAST_BIT
|
||||
};
|
||||
|
||||
@ -98,11 +96,7 @@ enum {
|
||||
#else
|
||||
#define ___GFP_NOLOCKDEP 0
|
||||
#endif
|
||||
#ifdef CONFIG_SLAB_OBJ_EXT
|
||||
#define ___GFP_NO_OBJ_EXT BIT(___GFP_NO_OBJ_EXT_BIT)
|
||||
#else
|
||||
#define ___GFP_NO_OBJ_EXT 0
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Physical address zone modifiers (see linux/mmzone.h - low four bits)
|
||||
|
||||
@ -857,9 +857,11 @@ __SYSCALL(__NR_open_tree_attr, sys_open_tree_attr)
|
||||
__SYSCALL(__NR_file_getattr, sys_file_getattr)
|
||||
#define __NR_file_setattr 469
|
||||
__SYSCALL(__NR_file_setattr, sys_file_setattr)
|
||||
#define __NR_listns 470
|
||||
__SYSCALL(__NR_listns, sys_listns)
|
||||
|
||||
#undef __NR_syscalls
|
||||
#define __NR_syscalls 470
|
||||
#define __NR_syscalls 471
|
||||
|
||||
/*
|
||||
* 32 bit systems traditionally used different
|
||||
|
||||
@ -906,6 +906,21 @@ struct drm_get_cap {
|
||||
*/
|
||||
#define DRM_CLIENT_CAP_CURSOR_PLANE_HOTSPOT 6
|
||||
|
||||
/**
|
||||
* DRM_CLIENT_CAP_PLANE_COLOR_PIPELINE
|
||||
*
|
||||
* If set to 1 the DRM core will allow setting the COLOR_PIPELINE
|
||||
* property on a &drm_plane, as well as drm_colorop properties.
|
||||
*
|
||||
* Setting of these plane properties will be rejected when this client
|
||||
* cap is set:
|
||||
* - COLOR_ENCODING
|
||||
* - COLOR_RANGE
|
||||
*
|
||||
* The client must enable &DRM_CLIENT_CAP_ATOMIC first.
|
||||
*/
|
||||
#define DRM_CLIENT_CAP_PLANE_COLOR_PIPELINE 7
|
||||
|
||||
/* DRM_IOCTL_SET_CLIENT_CAP ioctl argument type */
|
||||
struct drm_set_client_cap {
|
||||
__u64 capability;
|
||||
|
||||
@ -179,6 +179,7 @@ struct kvm_xen_exit {
|
||||
#define KVM_EXIT_LOONGARCH_IOCSR 38
|
||||
#define KVM_EXIT_MEMORY_FAULT 39
|
||||
#define KVM_EXIT_TDX 40
|
||||
#define KVM_EXIT_ARM_SEA 41
|
||||
|
||||
/* For KVM_EXIT_INTERNAL_ERROR */
|
||||
/* Emulate instruction failed. */
|
||||
@ -473,6 +474,14 @@ struct kvm_run {
|
||||
} setup_event_notify;
|
||||
};
|
||||
} tdx;
|
||||
/* KVM_EXIT_ARM_SEA */
|
||||
struct {
|
||||
#define KVM_EXIT_ARM_SEA_FLAG_GPA_VALID (1ULL << 0)
|
||||
__u64 flags;
|
||||
__u64 esr;
|
||||
__u64 gva;
|
||||
__u64 gpa;
|
||||
} arm_sea;
|
||||
/* Fix the size of the union. */
|
||||
char padding[256];
|
||||
};
|
||||
@ -963,6 +972,8 @@ struct kvm_enable_cap {
|
||||
#define KVM_CAP_RISCV_MP_STATE_RESET 242
|
||||
#define KVM_CAP_ARM_CACHEABLE_PFNMAP_SUPPORTED 243
|
||||
#define KVM_CAP_GUEST_MEMFD_FLAGS 244
|
||||
#define KVM_CAP_ARM_SEA_TO_USER 245
|
||||
#define KVM_CAP_S390_USER_OPEREXEC 246
|
||||
|
||||
struct kvm_irq_routing_irqchip {
|
||||
__u32 irqchip;
|
||||
|
||||
@ -701,6 +701,11 @@ ifndef NO_LIBBPF
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(feature-libopenssl), 1)
|
||||
$(call detected,CONFIG_LIBOPENSSL)
|
||||
CFLAGS += -DHAVE_LIBOPENSSL_SUPPORT
|
||||
endif
|
||||
|
||||
ifndef BUILD_BPF_SKEL
|
||||
# BPF skeletons control a large number of perf features, by default
|
||||
# they are enabled.
|
||||
@ -717,6 +722,9 @@ ifeq ($(BUILD_BPF_SKEL),1)
|
||||
else ifeq ($(filter -DHAVE_LIBBPF_SUPPORT, $(CFLAGS)),)
|
||||
$(warning Warning: Disabled BPF skeletons as libbpf is required)
|
||||
BUILD_BPF_SKEL := 0
|
||||
else ifeq ($(filter -DHAVE_LIBOPENSSL_SUPPORT, $(CFLAGS)),)
|
||||
$(warning Warning: Disabled BPF skeletons as libopenssl is required)
|
||||
BUILD_BPF_SKEL := 0
|
||||
else ifeq ($(call get-executable,$(CLANG)),)
|
||||
$(warning Warning: Disabled BPF skeletons as clang ($(CLANG)) is missing)
|
||||
BUILD_BPF_SKEL := 0
|
||||
|
||||
@ -484,3 +484,4 @@
|
||||
467 common open_tree_attr sys_open_tree_attr
|
||||
468 common file_getattr sys_file_getattr
|
||||
469 common file_setattr sys_file_setattr
|
||||
470 common listns sys_listns
|
||||
|
||||
@ -384,3 +384,4 @@
|
||||
467 n64 open_tree_attr sys_open_tree_attr
|
||||
468 n64 file_getattr sys_file_getattr
|
||||
469 n64 file_setattr sys_file_setattr
|
||||
470 n64 listns sys_listns
|
||||
|
||||
@ -560,3 +560,4 @@
|
||||
467 common open_tree_attr sys_open_tree_attr
|
||||
468 common file_getattr sys_file_getattr
|
||||
469 common file_setattr sys_file_setattr
|
||||
470 common listns sys_listns
|
||||
|
||||
@ -472,3 +472,4 @@
|
||||
467 common open_tree_attr sys_open_tree_attr sys_open_tree_attr
|
||||
468 common file_getattr sys_file_getattr sys_file_getattr
|
||||
469 common file_setattr sys_file_setattr sys_file_setattr
|
||||
470 common listns sys_listns sys_listns
|
||||
|
||||
@ -473,3 +473,4 @@
|
||||
467 common open_tree_attr sys_open_tree_attr
|
||||
468 common file_getattr sys_file_getattr
|
||||
469 common file_setattr sys_file_setattr
|
||||
470 common listns sys_listns
|
||||
|
||||
@ -515,3 +515,4 @@
|
||||
467 common open_tree_attr sys_open_tree_attr
|
||||
468 common file_getattr sys_file_getattr
|
||||
469 common file_setattr sys_file_setattr
|
||||
470 common listns sys_listns
|
||||
|
||||
@ -475,3 +475,4 @@
|
||||
467 i386 open_tree_attr sys_open_tree_attr
|
||||
468 i386 file_getattr sys_file_getattr
|
||||
469 i386 file_setattr sys_file_setattr
|
||||
470 i386 listns sys_listns
|
||||
|
||||
@ -394,6 +394,7 @@
|
||||
467 common open_tree_attr sys_open_tree_attr
|
||||
468 common file_getattr sys_file_getattr
|
||||
469 common file_setattr sys_file_setattr
|
||||
470 common listns sys_listns
|
||||
|
||||
#
|
||||
# Due to a historical design error, certain syscalls are numbered differently
|
||||
|
||||
@ -440,3 +440,4 @@
|
||||
467 common open_tree_attr sys_open_tree_attr
|
||||
468 common file_getattr sys_file_getattr
|
||||
469 common file_setattr sys_file_setattr
|
||||
470 common listns sys_listns
|
||||
|
||||
@ -276,12 +276,14 @@ static bool dso__missing_buildid_cache(struct dso *dso, int parm __maybe_unused)
|
||||
{
|
||||
char filename[PATH_MAX];
|
||||
struct build_id bid = { .size = 0, };
|
||||
int err;
|
||||
|
||||
if (!dso__build_id_filename(dso, filename, sizeof(filename), false))
|
||||
return true;
|
||||
|
||||
if (filename__read_build_id(filename, &bid) == -1) {
|
||||
if (errno == ENOENT)
|
||||
err = filename__read_build_id(filename, &bid);
|
||||
if (err < 0) {
|
||||
if (err == -ENOENT)
|
||||
return false;
|
||||
|
||||
pr_warning("Problems with %s file, consider removing it from the cache\n",
|
||||
|
||||
@ -118,7 +118,7 @@ setup_qemu() {
|
||||
skip "/dev/kvm not accessible"
|
||||
fi
|
||||
|
||||
if ! perf kvm stat record -a sleep 0.01 >/dev/null 2>&1; then
|
||||
if ! perf kvm stat record -o /dev/null -a sleep 0.01 >/dev/null 2>&1; then
|
||||
skip "No permission to record kvm events"
|
||||
fi
|
||||
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
#!/bin/bash
|
||||
# perf top tests
|
||||
# perf top tests (exclusive)
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
set -e
|
||||
|
||||
@ -32,11 +32,29 @@ typedef __kernel_sa_family_t sa_family_t;
|
||||
* 1003.1g requires sa_family_t and that sa_data is char.
|
||||
*/
|
||||
|
||||
/* Deprecated for in-kernel use. Use struct sockaddr_unsized instead. */
|
||||
struct sockaddr {
|
||||
sa_family_t sa_family; /* address family, AF_xxx */
|
||||
char sa_data[14]; /* 14 bytes of protocol address */
|
||||
};
|
||||
|
||||
/**
|
||||
* struct sockaddr_unsized - Unspecified size sockaddr for callbacks
|
||||
* @sa_family: Address family (AF_UNIX, AF_INET, AF_INET6, etc.)
|
||||
* @sa_data: Flexible array for address data
|
||||
*
|
||||
* This structure is designed for callback interfaces where the
|
||||
* total size is known via the sockaddr_len parameter. Unlike struct
|
||||
* sockaddr which has a fixed 14-byte sa_data limit or struct
|
||||
* sockaddr_storage which has a fixed 128-byte sa_data limit, this
|
||||
* structure can accommodate addresses of any size, but must be used
|
||||
* carefully.
|
||||
*/
|
||||
struct sockaddr_unsized {
|
||||
__kernel_sa_family_t sa_family; /* address family, AF_xxx */
|
||||
char sa_data[]; /* flexible address data */
|
||||
};
|
||||
|
||||
struct linger {
|
||||
int l_onoff; /* Linger active */
|
||||
int l_linger; /* How long to linger for */
|
||||
@ -450,10 +468,10 @@ extern int __sys_connect(int fd, struct sockaddr __user *uservaddr,
|
||||
int addrlen);
|
||||
extern int __sys_listen(int fd, int backlog);
|
||||
extern int __sys_listen_socket(struct socket *sock, int backlog);
|
||||
extern int do_getsockname(struct socket *sock, int peer,
|
||||
struct sockaddr __user *usockaddr, int __user *usockaddr_len);
|
||||
extern int __sys_getsockname(int fd, struct sockaddr __user *usockaddr,
|
||||
int __user *usockaddr_len);
|
||||
extern int __sys_getpeername(int fd, struct sockaddr __user *usockaddr,
|
||||
int __user *usockaddr_len);
|
||||
int __user *usockaddr_len, int peer);
|
||||
extern int __sys_socketpair(int family, int type, int protocol,
|
||||
int __user *usockvec);
|
||||
extern int __sys_shutdown_sock(struct socket *sock, int how);
|
||||
|
||||
@ -4,6 +4,7 @@
|
||||
|
||||
#include <asm/fcntl.h>
|
||||
#include <linux/openat2.h>
|
||||
#include <linux/types.h>
|
||||
|
||||
#define F_SETLEASE (F_LINUX_SPECIFIC_BASE + 0)
|
||||
#define F_GETLEASE (F_LINUX_SPECIFIC_BASE + 1)
|
||||
@ -79,6 +80,17 @@
|
||||
*/
|
||||
#define RWF_WRITE_LIFE_NOT_SET RWH_WRITE_LIFE_NOT_SET
|
||||
|
||||
/* Set/Get delegations */
|
||||
#define F_GETDELEG (F_LINUX_SPECIFIC_BASE + 15)
|
||||
#define F_SETDELEG (F_LINUX_SPECIFIC_BASE + 16)
|
||||
|
||||
/* Argument structure for F_GETDELEG and F_SETDELEG */
|
||||
struct delegation {
|
||||
__u32 d_flags; /* Must be 0 */
|
||||
__u16 d_type; /* F_RDLCK, F_WRLCK, F_UNLCK */
|
||||
__u16 __pad; /* Must be 0 */
|
||||
};
|
||||
|
||||
/*
|
||||
* Types of directory notifications that may be requested.
|
||||
*/
|
||||
|
||||
@ -298,8 +298,9 @@ struct file_attr {
|
||||
#define BLKROTATIONAL _IO(0x12,126)
|
||||
#define BLKZEROOUT _IO(0x12,127)
|
||||
#define BLKGETDISKSEQ _IOR(0x12,128,__u64)
|
||||
/* 130-136 are used by zoned block device ioctls (uapi/linux/blkzoned.h) */
|
||||
/* 130-136 and 142 are used by zoned block device ioctls (uapi/linux/blkzoned.h) */
|
||||
/* 137-141 are used by blk-crypto ioctls (uapi/linux/blk-crypto.h) */
|
||||
#define BLKTRACESETUP2 _IOWR(0x12, 142, struct blk_user_trace_setup2)
|
||||
|
||||
#define BMAP_IOCTL 1 /* obsolete - kept for compatibility */
|
||||
#define FIBMAP _IO(0x00,1) /* bmap access */
|
||||
|
||||
@ -197,7 +197,7 @@ struct statmount {
|
||||
*/
|
||||
struct mnt_id_req {
|
||||
__u32 size;
|
||||
__u32 spare;
|
||||
__u32 mnt_ns_fd;
|
||||
__u64 mnt_id;
|
||||
__u64 param;
|
||||
__u64 mnt_ns_id;
|
||||
|
||||
@ -60,7 +60,7 @@ struct snd_cea_861_aud_if {
|
||||
unsigned char db2_sf_ss; /* sample frequency and size */
|
||||
unsigned char db3; /* not used, all zeros */
|
||||
unsigned char db4_ca; /* channel allocation code */
|
||||
unsigned char db5_dminh_lsv; /* downmix inhibit & level-shit values */
|
||||
unsigned char db5_dminh_lsv; /* downmix inhibit & level-shift values */
|
||||
};
|
||||
|
||||
/****************************************************************************
|
||||
|
||||
@ -587,6 +587,7 @@ static const struct midr_range common_ds_encoding_cpus[] = {
|
||||
MIDR_ALL_VERSIONS(MIDR_NEOVERSE_V1),
|
||||
MIDR_ALL_VERSIONS(MIDR_NEOVERSE_V2),
|
||||
MIDR_ALL_VERSIONS(MIDR_NEOVERSE_V3),
|
||||
MIDR_ALL_VERSIONS(MIDR_NVIDIA_OLYMPUS),
|
||||
{},
|
||||
};
|
||||
|
||||
|
||||
@ -426,8 +426,10 @@ int libbfd__read_build_id(const char *filename, struct build_id *bid)
|
||||
|
||||
if (!filename)
|
||||
return -EFAULT;
|
||||
|
||||
errno = 0;
|
||||
if (!is_regular_file(filename))
|
||||
return -EWOULDBLOCK;
|
||||
return errno == 0 ? -EWOULDBLOCK : -errno;
|
||||
|
||||
fd = open(filename, O_RDONLY);
|
||||
if (fd < 0)
|
||||
|
||||
@ -902,8 +902,10 @@ int filename__read_build_id(const char *filename, struct build_id *bid)
|
||||
|
||||
if (!filename)
|
||||
return -EFAULT;
|
||||
|
||||
errno = 0;
|
||||
if (!is_regular_file(filename))
|
||||
return -EWOULDBLOCK;
|
||||
return errno == 0 ? -EWOULDBLOCK : -errno;
|
||||
|
||||
err = kmod_path__parse(&m, filename);
|
||||
if (err)
|
||||
|
||||
@ -104,8 +104,10 @@ int filename__read_build_id(const char *filename, struct build_id *bid)
|
||||
|
||||
if (!filename)
|
||||
return -EFAULT;
|
||||
|
||||
errno = 0;
|
||||
if (!is_regular_file(filename))
|
||||
return -EWOULDBLOCK;
|
||||
return errno == 0 ? -EWOULDBLOCK : -errno;
|
||||
|
||||
fd = open(filename, O_RDONLY);
|
||||
if (fd < 0)
|
||||
|
||||
@ -410,3 +410,4 @@
|
||||
467 common open_tree_attr sys_open_tree_attr
|
||||
468 common file_getattr sys_file_getattr
|
||||
469 common file_setattr sys_file_setattr
|
||||
470 common listns sys_listns
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user