[ 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@amazon.com Commit author: Kan Liang kan.liang@linux.intel.com
Status in newer kernel trees: 6.12.y | Present (exact SHA1) 6.11.y | Present (exact SHA1) 6.6.y | Not found 6.1.y | Not found
Note: The patch differs from the upstream commit: --- 1: 556a7c039a52c ! 1: 39f65e280d338 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@infradead.org Tested-by: Dongli Zhang dongli.zhang@oracle.com Link: https://lkml.kernel.org/r/20240708193336.1192217-2-kan.liang@linux.intel.com + [ Minor changes to make it work on 6.1 ] + Signed-off-by: Hagar Hemdan hagarhem@amazon.com
## 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.1.y | Success | Success |