[ Sasha's backport helper bot ] Hi, The upstream commit SHA1 provided is correct: 556a7c039a52c21da33eaae9269984a1ef59189b WARNING: Author mismatch between patch and upstream commit: Backport author: Hagar Hemdan <hagarhem@xxxxxxxxxx> Commit author: Kan Liang <kan.liang@xxxxxxxxxxxxxxx> Status in newer kernel trees: 6.12.y | Present (exact SHA1) 6.11.y | Present (exact SHA1) 6.6.y | Not found Note: The patch differs from the upstream commit: --- 1: 556a7c039a52c ! 1: 46084b673b37e perf/x86/intel: Hide Topdown metrics events if the feature is not enumerated @@ Metadata ## Commit message ## perf/x86/intel: Hide Topdown metrics events if the feature is not enumerated + [ Upstream commit 556a7c039a52c21da33eaae9269984a1ef59189b ] + The below error is observed on Ice Lake VM. $ perf stat @@ Commit message Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Tested-by: Dongli Zhang <dongli.zhang@xxxxxxxxxx> Link: https://lkml.kernel.org/r/20240708193336.1192217-2-kan.liang@xxxxxxxxxxxxxxx + [ Minor changes to make it work on 6.6 ] + Signed-off-by: Hagar Hemdan <hagarhem@xxxxxxxxxx> ## arch/x86/events/intel/core.c ## -@@ arch/x86/events/intel/core.c: exra_is_visible(struct kobject *kobj, struct attribute *attr, int i) - return x86_pmu.version >= 2 ? attr->mode : 0; +@@ arch/x86/events/intel/core.c: default_is_visible(struct kobject *kobj, struct attribute *attr, int i) + return attr->mode; } +static umode_t @@ arch/x86/events/intel/core.c: exra_is_visible(struct kobject *kobj, struct attri static struct attribute_group group_events_mem = { @@ arch/x86/events/intel/core.c: static umode_t hybrid_format_is_visible(struct kobject *kobj, - return (cpu >= 0) && (pmu->pmu_type & pmu_attr->pmu_type) ? attr->mode : 0; + return (cpu >= 0) && (pmu->cpu_type & pmu_attr->pmu_type) ? attr->mode : 0; } +static umode_t hybrid_td_is_visible(struct kobject *kobj, @@ arch/x86/events/intel/core.c: static umode_t hybrid_format_is_visible(struct kob + + + /* Only the big core supports perf metrics */ -+ if (pmu->pmu_type == hybrid_big) ++ if (pmu->cpu_type == hybrid_big) + return pmu->intel_cap.perf_metrics ? attr->mode : 0; + + return attr->mode; --- Results of testing on various branches: | Branch | Patch Apply | Build Test | |---------------------------|-------------|------------| | stable/linux-6.6.y | Success | Success |