Skip to content

Commit faaeff9

Browse files
Kan LiangIngo Molnar
authored andcommitted
perf/x86/intel: Add more Icelake CPUIDs
Add new model number for Icelake desktop and server to perf. The data source encoding for Icelake server is the same as Skylake server. 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]> Cc: [email protected] Cc: [email protected] Cc: [email protected] Cc: [email protected] Link: https://lkml.kernel.org/r/[email protected] Signed-off-by: Ingo Molnar <[email protected]>
1 parent 2a538fd commit faaeff9

File tree

1 file changed

+9
-4
lines changed

1 file changed

+9
-4
lines changed

arch/x86/events/intel/core.c

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4485,6 +4485,7 @@ __init int intel_pmu_init(void)
44854485
struct event_constraint *c;
44864486
unsigned int unused;
44874487
struct extra_reg *er;
4488+
bool pmem = false;
44884489
int version, i;
44894490
char *name;
44904491

@@ -4936,9 +4937,10 @@ __init int intel_pmu_init(void)
49364937
name = "knights-landing";
49374938
break;
49384939

4940+
case INTEL_FAM6_SKYLAKE_X:
4941+
pmem = true;
49394942
case INTEL_FAM6_SKYLAKE_MOBILE:
49404943
case INTEL_FAM6_SKYLAKE_DESKTOP:
4941-
case INTEL_FAM6_SKYLAKE_X:
49424944
case INTEL_FAM6_KABYLAKE_MOBILE:
49434945
case INTEL_FAM6_KABYLAKE_DESKTOP:
49444946
x86_add_quirk(intel_pebs_isolation_quirk);
@@ -4970,8 +4972,7 @@ __init int intel_pmu_init(void)
49704972
td_attr = hsw_events_attrs;
49714973
mem_attr = hsw_mem_events_attrs;
49724974
tsx_attr = hsw_tsx_events_attrs;
4973-
intel_pmu_pebs_data_source_skl(
4974-
boot_cpu_data.x86_model == INTEL_FAM6_SKYLAKE_X);
4975+
intel_pmu_pebs_data_source_skl(pmem);
49754976

49764977
if (boot_cpu_has(X86_FEATURE_TSX_FORCE_ABORT)) {
49774978
x86_pmu.flags |= PMU_FL_TFA;
@@ -4985,7 +4986,11 @@ __init int intel_pmu_init(void)
49854986
name = "skylake";
49864987
break;
49874988

4989+
case INTEL_FAM6_ICELAKE_X:
4990+
case INTEL_FAM6_ICELAKE_XEON_D:
4991+
pmem = true;
49884992
case INTEL_FAM6_ICELAKE_MOBILE:
4993+
case INTEL_FAM6_ICELAKE_DESKTOP:
49894994
x86_pmu.late_ack = true;
49904995
memcpy(hw_cache_event_ids, skl_hw_cache_event_ids, sizeof(hw_cache_event_ids));
49914996
memcpy(hw_cache_extra_regs, skl_hw_cache_extra_regs, sizeof(hw_cache_extra_regs));
@@ -5009,7 +5014,7 @@ __init int intel_pmu_init(void)
50095014
tsx_attr = icl_tsx_events_attrs;
50105015
x86_pmu.rtm_abort_event = X86_CONFIG(.event=0xca, .umask=0x02);
50115016
x86_pmu.lbr_pt_coexist = true;
5012-
intel_pmu_pebs_data_source_skl(false);
5017+
intel_pmu_pebs_data_source_skl(pmem);
50135018
pr_cont("Icelake events, ");
50145019
name = "icelake";
50155020
break;

0 commit comments

Comments
 (0)