Skip to content

Commit f1857a2

Browse files
Kan LiangIngo Molnar
authored andcommitted
perf/x86/cstate: Update C-state counters for Ice Lake
There is no Core C3 C-State counter for Ice Lake. Package C8/C9/C10 C-State counters are added for Ice Lake. Introduce a new event list, icl_cstates, for Ice Lake. Update the comments accordingly. Signed-off-by: Kan Liang <[email protected]> Signed-off-by: Peter Zijlstra (Intel) <[email protected]> Cc: Linus Torvalds <[email protected]> Cc: Peter Zijlstra <[email protected]> Cc: Thomas Gleixner <[email protected]> Fixes: f08c47d ("perf/x86/intel/cstate: Add Icelake support") Link: https://lkml.kernel.org/r/[email protected] Signed-off-by: Ingo Molnar <[email protected]>
1 parent 1a5da78 commit f1857a2

File tree

1 file changed

+25
-11
lines changed

1 file changed

+25
-11
lines changed

arch/x86/events/intel/cstate.c

Lines changed: 25 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -50,43 +50,44 @@
5050
* MSR_CORE_C6_RESIDENCY: CORE C6 Residency Counter
5151
* perf code: 0x02
5252
* Available model: SLM,AMT,NHM,WSM,SNB,IVB,HSW,BDW,
53-
* SKL,KNL,GLM,CNL,KBL,CML
53+
* SKL,KNL,GLM,CNL,KBL,CML,ICL
5454
* Scope: Core
5555
* MSR_CORE_C7_RESIDENCY: CORE C7 Residency Counter
5656
* perf code: 0x03
57-
* Available model: SNB,IVB,HSW,BDW,SKL,CNL,KBL,CML
57+
* Available model: SNB,IVB,HSW,BDW,SKL,CNL,KBL,CML,
58+
* ICL
5859
* Scope: Core
5960
* MSR_PKG_C2_RESIDENCY: Package C2 Residency Counter.
6061
* perf code: 0x00
6162
* Available model: SNB,IVB,HSW,BDW,SKL,KNL,GLM,CNL,
62-
* KBL,CML
63+
* KBL,CML,ICL
6364
* Scope: Package (physical package)
6465
* MSR_PKG_C3_RESIDENCY: Package C3 Residency Counter.
6566
* perf code: 0x01
6667
* Available model: NHM,WSM,SNB,IVB,HSW,BDW,SKL,KNL,
67-
* GLM,CNL,KBL,CML
68+
* GLM,CNL,KBL,CML,ICL
6869
* Scope: Package (physical package)
6970
* MSR_PKG_C6_RESIDENCY: Package C6 Residency Counter.
7071
* perf code: 0x02
7172
* Available model: SLM,AMT,NHM,WSM,SNB,IVB,HSW,BDW
72-
* SKL,KNL,GLM,CNL,KBL,CML
73+
* SKL,KNL,GLM,CNL,KBL,CML,ICL
7374
* Scope: Package (physical package)
7475
* MSR_PKG_C7_RESIDENCY: Package C7 Residency Counter.
7576
* perf code: 0x03
7677
* Available model: NHM,WSM,SNB,IVB,HSW,BDW,SKL,CNL,
77-
* KBL,CML
78+
* KBL,CML,ICL
7879
* Scope: Package (physical package)
7980
* MSR_PKG_C8_RESIDENCY: Package C8 Residency Counter.
8081
* perf code: 0x04
81-
* Available model: HSW ULT,KBL,CNL,CML
82+
* Available model: HSW ULT,KBL,CNL,CML,ICL
8283
* Scope: Package (physical package)
8384
* MSR_PKG_C9_RESIDENCY: Package C9 Residency Counter.
8485
* perf code: 0x05
85-
* Available model: HSW ULT,KBL,CNL,CML
86+
* Available model: HSW ULT,KBL,CNL,CML,ICL
8687
* Scope: Package (physical package)
8788
* MSR_PKG_C10_RESIDENCY: Package C10 Residency Counter.
8889
* perf code: 0x06
89-
* Available model: HSW ULT,KBL,GLM,CNL,CML
90+
* Available model: HSW ULT,KBL,GLM,CNL,CML,ICL
9091
* Scope: Package (physical package)
9192
*
9293
*/
@@ -546,6 +547,19 @@ static const struct cstate_model cnl_cstates __initconst = {
546547
BIT(PERF_CSTATE_PKG_C10_RES),
547548
};
548549

550+
static const struct cstate_model icl_cstates __initconst = {
551+
.core_events = BIT(PERF_CSTATE_CORE_C6_RES) |
552+
BIT(PERF_CSTATE_CORE_C7_RES),
553+
554+
.pkg_events = BIT(PERF_CSTATE_PKG_C2_RES) |
555+
BIT(PERF_CSTATE_PKG_C3_RES) |
556+
BIT(PERF_CSTATE_PKG_C6_RES) |
557+
BIT(PERF_CSTATE_PKG_C7_RES) |
558+
BIT(PERF_CSTATE_PKG_C8_RES) |
559+
BIT(PERF_CSTATE_PKG_C9_RES) |
560+
BIT(PERF_CSTATE_PKG_C10_RES),
561+
};
562+
549563
static const struct cstate_model slm_cstates __initconst = {
550564
.core_events = BIT(PERF_CSTATE_CORE_C1_RES) |
551565
BIT(PERF_CSTATE_CORE_C6_RES),
@@ -629,8 +643,8 @@ static const struct x86_cpu_id intel_cstates_match[] __initconst = {
629643

630644
X86_CSTATES_MODEL(INTEL_FAM6_ATOM_GOLDMONT_PLUS, glm_cstates),
631645

632-
X86_CSTATES_MODEL(INTEL_FAM6_ICELAKE_L, snb_cstates),
633-
X86_CSTATES_MODEL(INTEL_FAM6_ICELAKE, snb_cstates),
646+
X86_CSTATES_MODEL(INTEL_FAM6_ICELAKE_L, icl_cstates),
647+
X86_CSTATES_MODEL(INTEL_FAM6_ICELAKE, icl_cstates),
634648
{ },
635649
};
636650
MODULE_DEVICE_TABLE(x86cpu, intel_cstates_match);

0 commit comments

Comments
 (0)