Merge tag 'perf_urgent_for_v6.1_rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

Pull perf fixes from Borislav Petkov:

- Add Cooper Lake's stepping to the PEBS guest/host events isolation
fixed microcode revisions checking quirk

- Update Icelake and Sapphire Rapids events constraints

- Use the standard energy unit for Sapphire Rapids in RAPL

- Fix the hw_breakpoint test to fail more graciously on !SMP configs

* tag 'perf_urgent_for_v6.1_rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
perf/x86/intel: Add Cooper Lake stepping to isolation_ucodes[]
perf/x86/intel: Fix pebs event constraints for SPR
perf/x86/intel: Fix pebs event constraints for ICL
perf/x86/rapl: Use standard Energy Unit for SPR Dram RAPL domain
perf/hw_breakpoint: test: Skip the test if dependencies unmet

Changed files
+18 -11
arch
x86
events
kernel
+1
arch/x86/events/intel/core.c
··· 4911 4911 INTEL_CPU_DESC(INTEL_FAM6_SKYLAKE_X, 5, 0x00000000), 4912 4912 INTEL_CPU_DESC(INTEL_FAM6_SKYLAKE_X, 6, 0x00000000), 4913 4913 INTEL_CPU_DESC(INTEL_FAM6_SKYLAKE_X, 7, 0x00000000), 4914 + INTEL_CPU_DESC(INTEL_FAM6_SKYLAKE_X, 11, 0x00000000), 4914 4915 INTEL_CPU_DESC(INTEL_FAM6_SKYLAKE_L, 3, 0x0000007c), 4915 4916 INTEL_CPU_DESC(INTEL_FAM6_SKYLAKE, 3, 0x0000007c), 4916 4917 INTEL_CPU_DESC(INTEL_FAM6_KABYLAKE, 9, 0x0000004e),
+14 -4
arch/x86/events/intel/ds.c
··· 982 982 INTEL_FLAGS_UEVENT_CONSTRAINT(0x0400, 0x800000000ULL), /* SLOTS */ 983 983 984 984 INTEL_PLD_CONSTRAINT(0x1cd, 0xff), /* MEM_TRANS_RETIRED.LOAD_LATENCY */ 985 - INTEL_FLAGS_UEVENT_CONSTRAINT_DATALA_LD(0x1d0, 0xf), /* MEM_INST_RETIRED.LOAD */ 986 - INTEL_FLAGS_UEVENT_CONSTRAINT_DATALA_ST(0x2d0, 0xf), /* MEM_INST_RETIRED.STORE */ 985 + INTEL_FLAGS_UEVENT_CONSTRAINT_DATALA_LD(0x11d0, 0xf), /* MEM_INST_RETIRED.STLB_MISS_LOADS */ 986 + INTEL_FLAGS_UEVENT_CONSTRAINT_DATALA_ST(0x12d0, 0xf), /* MEM_INST_RETIRED.STLB_MISS_STORES */ 987 + INTEL_FLAGS_UEVENT_CONSTRAINT_DATALA_LD(0x21d0, 0xf), /* MEM_INST_RETIRED.LOCK_LOADS */ 988 + INTEL_FLAGS_UEVENT_CONSTRAINT_DATALA_LD(0x41d0, 0xf), /* MEM_INST_RETIRED.SPLIT_LOADS */ 989 + INTEL_FLAGS_UEVENT_CONSTRAINT_DATALA_ST(0x42d0, 0xf), /* MEM_INST_RETIRED.SPLIT_STORES */ 990 + INTEL_FLAGS_UEVENT_CONSTRAINT_DATALA_LD(0x81d0, 0xf), /* MEM_INST_RETIRED.ALL_LOADS */ 991 + INTEL_FLAGS_UEVENT_CONSTRAINT_DATALA_ST(0x82d0, 0xf), /* MEM_INST_RETIRED.ALL_STORES */ 987 992 988 993 INTEL_FLAGS_EVENT_CONSTRAINT_DATALA_LD_RANGE(0xd1, 0xd4, 0xf), /* MEM_LOAD_*_RETIRED.* */ 989 994 ··· 1009 1004 INTEL_FLAGS_EVENT_CONSTRAINT(0xc0, 0xfe), 1010 1005 INTEL_PLD_CONSTRAINT(0x1cd, 0xfe), 1011 1006 INTEL_PSD_CONSTRAINT(0x2cd, 0x1), 1012 - INTEL_FLAGS_UEVENT_CONSTRAINT_DATALA_LD(0x1d0, 0xf), 1013 - INTEL_FLAGS_UEVENT_CONSTRAINT_DATALA_ST(0x2d0, 0xf), 1007 + INTEL_FLAGS_UEVENT_CONSTRAINT_DATALA_LD(0x11d0, 0xf), /* MEM_INST_RETIRED.STLB_MISS_LOADS */ 1008 + INTEL_FLAGS_UEVENT_CONSTRAINT_DATALA_ST(0x12d0, 0xf), /* MEM_INST_RETIRED.STLB_MISS_STORES */ 1009 + INTEL_FLAGS_UEVENT_CONSTRAINT_DATALA_LD(0x21d0, 0xf), /* MEM_INST_RETIRED.LOCK_LOADS */ 1010 + INTEL_FLAGS_UEVENT_CONSTRAINT_DATALA_LD(0x41d0, 0xf), /* MEM_INST_RETIRED.SPLIT_LOADS */ 1011 + INTEL_FLAGS_UEVENT_CONSTRAINT_DATALA_ST(0x42d0, 0xf), /* MEM_INST_RETIRED.SPLIT_STORES */ 1012 + INTEL_FLAGS_UEVENT_CONSTRAINT_DATALA_LD(0x81d0, 0xf), /* MEM_INST_RETIRED.ALL_LOADS */ 1013 + INTEL_FLAGS_UEVENT_CONSTRAINT_DATALA_ST(0x82d0, 0xf), /* MEM_INST_RETIRED.ALL_STORES */ 1014 1014 1015 1015 INTEL_FLAGS_EVENT_CONSTRAINT_DATALA_LD_RANGE(0xd1, 0xd4, 0xf), 1016 1016
+1 -5
arch/x86/events/rapl.c
··· 619 619 case RAPL_UNIT_QUIRK_INTEL_HSW: 620 620 rapl_hw_unit[PERF_RAPL_RAM] = 16; 621 621 break; 622 - /* 623 - * SPR shares the same DRAM domain energy unit as HSW, plus it 624 - * also has a fixed energy unit for Psys domain. 625 - */ 622 + /* SPR uses a fixed energy unit for Psys domain. */ 626 623 case RAPL_UNIT_QUIRK_INTEL_SPR: 627 - rapl_hw_unit[PERF_RAPL_RAM] = 16; 628 624 rapl_hw_unit[PERF_RAPL_PSYS] = 0; 629 625 break; 630 626 default:
+2 -2
kernel/events/hw_breakpoint_test.c
··· 295 295 { 296 296 /* Most test cases want 2 distinct CPUs. */ 297 297 if (num_online_cpus() < 2) 298 - return -EINVAL; 298 + kunit_skip(test, "not enough cpus"); 299 299 300 300 /* Want the system to not use breakpoints elsewhere. */ 301 301 if (hw_breakpoint_is_used()) 302 - return -EBUSY; 302 + kunit_skip(test, "hw breakpoint already in use"); 303 303 304 304 return 0; 305 305 }