mirror of
https://github.com/torvalds/linux.git
synced 2026-07-30 11:11:26 +02:00
Miscelaneous fixes:
- Fix Intel Lunar Lake build-in event definitions
- Fall back to (compatible) legacy features on new Intel PEBS
format v6 hardware
- Enable uncore support on Intel Clearwater Forest CPUs, which is the same
as the existing Sierra Forest uncore driver.
Signed-off-by: Ingo Molnar <mingo@kernel.org>
-----BEGIN PGP SIGNATURE-----
iQJFBAABCgAvFiEEBpT5eoXrXCwVQwEKEnMQ0APhK1gFAmdxD+ARHG1pbmdvQGtl
cm5lbC5vcmcACgkQEnMQ0APhK1hYKQ//bFPzPsWKeObYGEE1Pak80Evkw9jkcbiz
89ALflvJXG2neCGScUxVbgfh6a8hw/+FEjkVtKBcsrQRiFDn8LzF0oD5OzJhbbAA
oyhe3JYiIswaAFvmRt+R0Xte7i9UHHF9+LM69DajvhuA4ISGGEfbEOhgAUdp2PZu
1w8S1Tmk960jXeCHTMDncKqEIwwr+tandKPmQuAMmlDC04yGkVLMEF6kxzwLX6Q8
09TLWoABoGmn32iTGHn0JQ/zW9HCFeCOzwRsYhHQKEpUYgJUl3Tienc+1gfyABM9
0osYyQrBXU49HwcRhAbx0ajkQ95S9Xt7JuTWcV89OyWg7+g2UxeIletER7oNrV6g
YvQc+G3axrsQLySondK9Zj0QPdX3cGniHXLE7VAm5Y761rypLcvbGrZWMvgfuLO8
uFAb+7YyxX87hqjCqY7l8ICBtrMrUw6BX/G1oOhERKzvlzoU7rBtq9him2P7TgBz
++sfullezocqhD2UnPrcJCxkHz2InE0LWLq5rOcM2xpo83OlcQaWzK/f4zsVobUJ
XRYgbRi95KkZPsLxpRA8w9aozWmvTe38bso8JM/ys5JPUHxRNqJsv40AzOaevgzG
Xpa5GBxjPeLfDVmAZ2RQD2jSnruZEWIRFIctFEP+HrWwrnFVrERKO9nFT6b0TjVy
AQu8jy/6rns=
=os4o
-----END PGP SIGNATURE-----
Merge tag 'perf-urgent-2024-12-29' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull x86 perf fixes from Ingo Molnar:
- Fix Intel Lunar Lake build-in event definitions
- Fall back to (compatible) legacy features on new Intel PEBS format v6
hardware
- Enable uncore support on Intel Clearwater Forest CPUs, which is the
same as the existing Sierra Forest uncore driver
* tag 'perf-urgent-2024-12-29' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
perf/x86/intel: Fix bitmask of OCR and FRONTEND events for LNC
perf/x86/intel/ds: Add PEBS format 6
perf/x86/intel/uncore: Add Clearwater Forest support
This commit is contained in:
commit
f65832a32f
|
|
@ -429,6 +429,16 @@ static struct event_constraint intel_lnc_event_constraints[] = {
|
|||
EVENT_CONSTRAINT_END
|
||||
};
|
||||
|
||||
static struct extra_reg intel_lnc_extra_regs[] __read_mostly = {
|
||||
INTEL_UEVENT_EXTRA_REG(0x012a, MSR_OFFCORE_RSP_0, 0xfffffffffffull, RSP_0),
|
||||
INTEL_UEVENT_EXTRA_REG(0x012b, MSR_OFFCORE_RSP_1, 0xfffffffffffull, RSP_1),
|
||||
INTEL_UEVENT_PEBS_LDLAT_EXTRA_REG(0x01cd),
|
||||
INTEL_UEVENT_EXTRA_REG(0x02c6, MSR_PEBS_FRONTEND, 0x9, FE),
|
||||
INTEL_UEVENT_EXTRA_REG(0x03c6, MSR_PEBS_FRONTEND, 0x7fff1f, FE),
|
||||
INTEL_UEVENT_EXTRA_REG(0x40ad, MSR_PEBS_FRONTEND, 0xf, FE),
|
||||
INTEL_UEVENT_EXTRA_REG(0x04c2, MSR_PEBS_FRONTEND, 0x8, FE),
|
||||
EVENT_EXTRA_END
|
||||
};
|
||||
|
||||
EVENT_ATTR_STR(mem-loads, mem_ld_nhm, "event=0x0b,umask=0x10,ldlat=3");
|
||||
EVENT_ATTR_STR(mem-loads, mem_ld_snb, "event=0xcd,umask=0x1,ldlat=3");
|
||||
|
|
@ -6422,7 +6432,7 @@ static __always_inline void intel_pmu_init_lnc(struct pmu *pmu)
|
|||
intel_pmu_init_glc(pmu);
|
||||
hybrid(pmu, event_constraints) = intel_lnc_event_constraints;
|
||||
hybrid(pmu, pebs_constraints) = intel_lnc_pebs_event_constraints;
|
||||
hybrid(pmu, extra_regs) = intel_rwc_extra_regs;
|
||||
hybrid(pmu, extra_regs) = intel_lnc_extra_regs;
|
||||
}
|
||||
|
||||
static __always_inline void intel_pmu_init_skt(struct pmu *pmu)
|
||||
|
|
|
|||
|
|
@ -2517,6 +2517,7 @@ void __init intel_ds_init(void)
|
|||
x86_pmu.large_pebs_flags |= PERF_SAMPLE_TIME;
|
||||
break;
|
||||
|
||||
case 6:
|
||||
case 5:
|
||||
x86_pmu.pebs_ept = 1;
|
||||
fallthrough;
|
||||
|
|
|
|||
|
|
@ -1910,6 +1910,7 @@ static const struct x86_cpu_id intel_uncore_match[] __initconst = {
|
|||
X86_MATCH_VFM(INTEL_ATOM_GRACEMONT, &adl_uncore_init),
|
||||
X86_MATCH_VFM(INTEL_ATOM_CRESTMONT_X, &gnr_uncore_init),
|
||||
X86_MATCH_VFM(INTEL_ATOM_CRESTMONT, &gnr_uncore_init),
|
||||
X86_MATCH_VFM(INTEL_ATOM_DARKMONT_X, &gnr_uncore_init),
|
||||
{},
|
||||
};
|
||||
MODULE_DEVICE_TABLE(x86cpu, intel_uncore_match);
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user