Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

perf/x86/intel/cstate: Add Nova Lake support

Similar to Lunar Lake and Panther Lake, Nova Lake supports CC1/CC6/CC7
and PC2/PC6/PC10 residency counters; it also adds support for MC6.

Signed-off-by: Zide Chen <zide.chen@intel.com>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Reviewed-by: Dapeng Mi <dapeng1.mi@linux.intel.com>
Link: https://patch.msgid.link/20251215182520.115822-2-zide.chen@intel.com

authored by

Zide Chen and committed by
Ingo Molnar
7e760ac4 6d4b8d05

+22 -7
+22 -7
arch/x86/events/intel/cstate.c
··· 41 41 * MSR_CORE_C1_RES: CORE C1 Residency Counter 42 42 * perf code: 0x00 43 43 * Available model: SLM,AMT,GLM,CNL,ICX,TNT,ADL,RPL 44 - * MTL,SRF,GRR,ARL,LNL,PTL,WCL 44 + * MTL,SRF,GRR,ARL,LNL,PTL,WCL,NVL 45 45 * Scope: Core (each processor core has a MSR) 46 46 * MSR_CORE_C3_RESIDENCY: CORE C3 Residency Counter 47 47 * perf code: 0x01 ··· 53 53 * Available model: SLM,AMT,NHM,WSM,SNB,IVB,HSW,BDW, 54 54 * SKL,KNL,GLM,CNL,KBL,CML,ICL,ICX, 55 55 * TGL,TNT,RKL,ADL,RPL,SPR,MTL,SRF, 56 - * GRR,ARL,LNL,PTL,WCL 56 + * GRR,ARL,LNL,PTL,WCL,NVL 57 57 * Scope: Core 58 58 * MSR_CORE_C7_RESIDENCY: CORE C7 Residency Counter 59 59 * perf code: 0x03 60 60 * Available model: SNB,IVB,HSW,BDW,SKL,CNL,KBL,CML, 61 61 * ICL,TGL,RKL,ADL,RPL,MTL,ARL,LNL, 62 - * PTL,WCL 62 + * PTL,WCL,NVL 63 63 * Scope: Core 64 64 * MSR_PKG_C2_RESIDENCY: Package C2 Residency Counter. 65 65 * perf code: 0x00 66 66 * Available model: SNB,IVB,HSW,BDW,SKL,KNL,GLM,CNL, 67 67 * KBL,CML,ICL,ICX,TGL,TNT,RKL,ADL, 68 - * RPL,SPR,MTL,ARL,LNL,SRF,PTL,WCL 68 + * RPL,SPR,MTL,ARL,LNL,SRF,PTL,WCL, 69 + * NVL 69 70 * Scope: Package (physical package) 70 71 * MSR_PKG_C3_RESIDENCY: Package C3 Residency Counter. 71 72 * perf code: 0x01 ··· 79 78 * Available model: SLM,AMT,NHM,WSM,SNB,IVB,HSW,BDW, 80 79 * SKL,KNL,GLM,CNL,KBL,CML,ICL,ICX, 81 80 * TGL,TNT,RKL,ADL,RPL,SPR,MTL,SRF, 82 - * ARL,LNL,PTL,WCL 81 + * ARL,LNL,PTL,WCL,NVL 83 82 * Scope: Package (physical package) 84 83 * MSR_PKG_C7_RESIDENCY: Package C7 Residency Counter. 85 84 * perf code: 0x03 ··· 99 98 * perf code: 0x06 100 99 * Available model: HSW ULT,KBL,GLM,CNL,CML,ICL,TGL, 101 100 * TNT,RKL,ADL,RPL,MTL,ARL,LNL,PTL, 102 - * WCL 101 + * WCL,NVL 103 102 * Scope: Package (physical package) 104 103 * MSR_MODULE_C6_RES_MS: Module C6 Residency Counter. 105 104 * perf code: 0x00 106 - * Available model: SRF,GRR 105 + * Available model: SRF,GRR,NVL 107 106 * Scope: A cluster of cores shared L2 cache 108 107 * 109 108 */ ··· 529 528 BIT(PERF_CSTATE_PKG_C10_RES), 530 529 }; 531 530 531 + static const struct cstate_model nvl_cstates __initconst = { 532 + .core_events = BIT(PERF_CSTATE_CORE_C1_RES) | 533 + BIT(PERF_CSTATE_CORE_C6_RES) | 534 + BIT(PERF_CSTATE_CORE_C7_RES), 535 + 536 + .module_events = BIT(PERF_CSTATE_MODULE_C6_RES), 537 + 538 + .pkg_events = BIT(PERF_CSTATE_PKG_C2_RES) | 539 + BIT(PERF_CSTATE_PKG_C6_RES) | 540 + BIT(PERF_CSTATE_PKG_C10_RES), 541 + }; 542 + 532 543 static const struct cstate_model slm_cstates __initconst = { 533 544 .core_events = BIT(PERF_CSTATE_CORE_C1_RES) | 534 545 BIT(PERF_CSTATE_CORE_C6_RES), ··· 669 656 X86_MATCH_VFM(INTEL_LUNARLAKE_M, &lnl_cstates), 670 657 X86_MATCH_VFM(INTEL_PANTHERLAKE_L, &lnl_cstates), 671 658 X86_MATCH_VFM(INTEL_WILDCATLAKE_L, &lnl_cstates), 659 + X86_MATCH_VFM(INTEL_NOVALAKE, &nvl_cstates), 660 + X86_MATCH_VFM(INTEL_NOVALAKE_L, &nvl_cstates), 672 661 { }, 673 662 }; 674 663 MODULE_DEVICE_TABLE(x86cpu, intel_cstates_match);