FAILED: patch "[PATCH] x86/resctrl: Add missing resctrl initialization for Hygon" failed to apply to 5.10-stable tree
Subsystems (3)
[email protected]
maintainerThe patch below does not apply to the 5.10-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.
To reproduce the conflict and resubmit, you may use the following commands:
git fetch https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/ linux-5.10.y
git checkout FETCH_HEAD
git cherry-pick -x 6ee98aabdc700b5705e4f1833e2edc82a826b53b
# <resolve conflicts, build, test, etc.>
git commit -s
git send-email --to '<[email protected]>' --in-reply-to '2026012056-existing-collide-49ad@gregkh' --subject-prefix 'PATCH 5.10.y' HEAD^..
Possible dependencies:
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
From 6ee98aabdc700b5705e4f1833e2edc82a826b53b Mon Sep 17 00:00:00 2001
From: Xiaochen Shen <[email protected]>
Date: Tue, 9 Dec 2025 14:26:49 +0800
Subject: [PATCH] x86/resctrl: Add missing resctrl initialization for Hygon
Hygon CPUs supporting Platform QoS features currently undergo partial resctrl initialization through resctrl_cpu_detect() in the Hygon BSP init helper and AMD/Hygon common initialization code. However, several critical data structures remain uninitialized for Hygon CPUs in the following paths:
- get_mem_config()-> __rdt_get_mem_config_amd():
rdt_resource::membw,alloc_capable
hw_res::num_closid
- rdt_init_res_defs()->rdt_init_res_defs_amd():
rdt_resource::cache
hw_res::msr_base,msr_update
Add the missing AMD/Hygon common initialization to ensure proper Platform QoS functionality on Hygon CPUs.
arch/x86/kernel/cpu/resctrl/core.c +4 -2
@@ -825,7 +825,8 @@ static __init bool get_mem_config(void)if (boot_cpu_data.x86_vendor ==X86_VENDOR_INTEL )return __get_mem_config_intel (&hw_res->r_resctrl); -else if (boot_cpu_data.x86_vendor ==X86_VENDOR_AMD ) +else if (boot_cpu_data.x86_vendor ==X86_VENDOR_AMD || + boot_cpu_data.x86_vendor ==X86_VENDOR_HYGON )return __rdt_get_mem_config_amd (&hw_res->r_resctrl);return false;
@@ -987,7 +988,8 @@ static __init void rdt_init_res_defs(void) {if (boot_cpu_data.x86_vendor ==X86_VENDOR_INTEL )rdt_init_res_defs_intel (); -else if (boot_cpu_data.x86_vendor ==X86_VENDOR_AMD ) +else if (boot_cpu_data.x86_vendor ==X86_VENDOR_AMD || + boot_cpu_data.x86_vendor ==X86_VENDOR_HYGON )rdt_init_res_defs_amd (); }
Sasha Levin
maintainerPATCH 1/2 x86/resctrl: Fix kernel-doc in internal.h
From: "Fabio M. De Francesco" <[email protected]>
[ Upstream commit fd2afa70eff057fab57c9e06708b68677b261a0c ]
Add description of undocumented parameters. Issues detected by scripts/kernel-doc.
Stable-dep-of: 6ee98aabdc70 ("x86/resctrl: Add missing resctrl initialization for Hygon")
--- arch/x86/kernel/cpu/resctrl/internal.h | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-)
arch/x86/kernel/cpu/resctrl/internal.h +14 -7
@@ -70,6 +70,7 @@ DECLARE_STATIC_KEY_FALSE(rdt_mon_enable_key);* struct mon_evt - Entry in the event list of a resource * @evtid: event id * @name: name of the event +* @list: entry in &rdt_resource->evt_list */ struct mon_evt {u32 evtid;
@@ -78,10 +79,13 @@ struct mon_evt { };/** -* struct mon_data_bits - Monitoring details for each event file -* @rid: Resource id associated with the event file. +* union mon_data_bits - Monitoring details for each event file +* @priv: Used to store monitoring event data in @u +* as kernfs private data +* @rid: Resource id associated with the event file * @evtid: Event id associated with the event file * @domid: The domain to which the event file belongs +* @u: Name of the bit fields struct */ union mon_data_bits {void *priv;
@@ -119,6 +123,7 @@ enum rdt_group_type {* @RDT_MODE_PSEUDO_LOCKSETUP: Resource group will be used for Pseudo-Locking * @RDT_MODE_PSEUDO_LOCKED: No sharing of this resource group's allocations * allowed AND the allocations are Cache Pseudo-Locked +* @RDT_NUM_MODES: Total number of modes * * The mode of a resource group enables control over the allowed overlap * between allocations associated with different resource groups (classes
@@ -142,7 +147,7 @@ enum rdtgrp_mode {/** * struct mongroup - store mon group's data in resctrl fs. -* @mon_data_kn kernlfs node for the mon_data directory +* @mon_data_kn: kernfs node for the mon_data directory * @parent: parent rdtgrp * @crdtgrp_list: child rdtgroup node list * @rmid: rmid for this rdtgroup
@@ -282,11 +287,11 @@ struct rftype {/** * struct mbm_state - status for each MBM counter in each domain * @chunks: Total data moved (multiply by rdt_group.mon_scale to get bytes) -* @prev_msr Value of IA32_QM_CTR for this RMID last time we read it +* @prev_msr: Value of IA32_QM_CTR for this RMID last time we read it * @prev_bw_msr:Value of previous IA32_QM_CTR for bandwidth counting -* @prev_bw The most recent bandwidth in MBps -* @delta_bw Difference between the current and previous bandwidth -* @delta_comp Indicates whether to compute the delta_bw +* @prev_bw: The most recent bandwidth in MBps +* @delta_bw: Difference between the current and previous bandwidth +* @delta_comp: Indicates whether to compute the delta_bw */ struct mbm_state {u64 chunks;
@@ -456,11 +461,13 @@ struct rdt_parse_data {* @data_width: Character width of data when displaying * @domains: All domains for this resource * @cache: Cache allocation related data +* @membw: If the component has bandwidth controls, their properties. * @format_str: Per resource format string to show domain value * @parse_ctrlval: Per resource function pointer to parse control values * @evt_list: List of monitoring events * @num_rmid: Number of RMIDs available * @mon_scale: cqm counter * mon_scale = occupancy in bytes +* @mbm_width: Monitor width, to detect and correct for overflow. * @fflags: flags to choose base and info files */ struct rdt_resource {
Signature · 1 line
2.51.0
Sasha Levin
maintainerPATCH 2/2 x86/resctrl: Add missing resctrl initialization for Hygon
From: Xiaochen Shen <[email protected]>
[ Upstream commit 6ee98aabdc700b5705e4f1833e2edc82a826b53b ]
Hygon CPUs supporting Platform QoS features currently undergo partial resctrl initialization through resctrl_cpu_detect() in the Hygon BSP init helper and AMD/Hygon common initialization code. However, several critical data structures remain uninitialized for Hygon CPUs in the following paths:
- get_mem_config()-> __rdt_get_mem_config_amd():
rdt_resource::membw,alloc_capable
hw_res::num_closid
- rdt_init_res_defs()->rdt_init_res_defs_amd():
rdt_resource::cache
hw_res::msr_base,msr_update
Add the missing AMD/Hygon common initialization to ensure proper Platform QoS functionality on Hygon CPUs.
--- arch/x86/kernel/cpu/resctrl/core.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-)
arch/x86/kernel/cpu/resctrl/core.c +4 -2
@@ -834,7 +834,8 @@ static __init bool get_mem_config(void)if (boot_cpu_data.x86_vendor ==X86_VENDOR_INTEL )return __get_mem_config_intel (&rdt_resources_all[RDT_RESOURCE_MBA ]); -else if (boot_cpu_data.x86_vendor ==X86_VENDOR_AMD ) +else if (boot_cpu_data.x86_vendor ==X86_VENDOR_AMD || + boot_cpu_data.x86_vendor ==X86_VENDOR_HYGON )return __rdt_get_mem_config_amd (&rdt_resources_all[RDT_RESOURCE_MBA ]);return false;
@@ -960,7 +961,8 @@ static __init void rdt_init_res_defs(void) {if (boot_cpu_data.x86_vendor ==X86_VENDOR_INTEL )rdt_init_res_defs_intel (); -else if (boot_cpu_data.x86_vendor ==X86_VENDOR_AMD ) +else if (boot_cpu_data.x86_vendor ==X86_VENDOR_AMD || + boot_cpu_data.x86_vendor ==X86_VENDOR_HYGON )rdt_init_res_defs_amd (); }
Signature · 1 line
2.51.0
Reinette Chatre
maintainerRe: [PATCH 5.10.y 1/2] x86/resctrl: Fix kernel-doc in internal.h
In reply to Sasha LevinHi Sasha,
Quoted 4 lines · Sasha Levin
From: "Fabio M. De Francesco" <[email protected]>
[ Upstream commit
fd2afa70eff057fab57c9e06708b68677b261a0c]
Quoted 8 lines
Add description of undocumented parameters. Issues detected by
scripts/kernel-doc.Signed-off-by Fabio M. De Francesco <[email protected]>Signed-off-by Borislav Petkov <[email protected]>Reviewed-by Reinette Chatre <[email protected]>Stable-dep-of:
6ee98aabdc70("x86/resctrl: Add missing resctrl initialization for Hygon")
I cannot see how this patch is a dependency for above since it only adjusts kernel-doc in a different file.
Reinette
Sasha Levin
maintainerRe: [PATCH 5.10.y 1/2] x86/resctrl: Fix kernel-doc in internal.h
Quoted 10 lines · Reinette Chatre
Hi Sasha,
Quoted 7 lines · Sasha Levin
From: "Fabio M. De Francesco" <[email protected]>
[ Upstream commit
fd2afa70eff057fab57c9e06708b68677b261a0c]Add description of undocumented parameters. Issues detected by
scripts/kernel-doc.
Quoted 8 lines
Quoted 5 lines
Signed-off-by Fabio M. De Francesco <[email protected]>Signed-off-by Borislav Petkov <[email protected]>Reviewed-by Reinette Chatre <[email protected]>Stable-dep-of:
6ee98aabdc70("x86/resctrl: Add missing resctrl initialization for Hygon")I cannot see how this patch is a dependency for above since it only adjusts kernel-doc in a different file.
You're obviously correct :)
The full dependency chain is:
6ee98aabdc70 ("x86/resctrl: Add missing resctrl initialization for Hygon") 63c8b1231929 ("x86/resctrl: Split struct rdt_resource") fd2afa70eff0 ("x86/resctrl: Fix kernel-doc in internal.h")
After applying that, I've decided to drop 63c8b1231929 as it's fairly big and just rework 6ee98aabdc70.
I should have dropped fd2afa70eff0 too.
Signature · 2 lines
Thanks, Sasha
Reinette Chatre
maintainerRe: [PATCH 5.10.y 1/2] x86/resctrl: Fix kernel-doc in internal.h
Hi Sasha,
Quoted 24 lines · Sasha Levin
Quoted 10 lines · Reinette Chatre
Hi Sasha,
Quoted 7 lines · Sasha Levin
From: "Fabio M. De Francesco" <[email protected]>
[ Upstream commit
fd2afa70eff057fab57c9e06708b68677b261a0c]Add description of undocumented parameters. Issues detected by
scripts/kernel-doc.Quoted 8 lines
Quoted 5 lines
Signed-off-by Fabio M. De Francesco <[email protected]>Signed-off-by Borislav Petkov <[email protected]>Reviewed-by Reinette Chatre <[email protected]>Stable-dep-of:
6ee98aabdc70("x86/resctrl: Add missing resctrl initialization for Hygon")I cannot see how this patch is a dependency for above since it only adjusts kernel-doc in a different file.
You're obviously correct :)
The full dependency chain is:
Quoted 9 lines
6ee98aabdc70("x86/resctrl: Add missing resctrl initialization for Hygon")63c8b1231929("x86/resctrl: Split structrdt_resource")fd2afa70eff0("x86/resctrl: Fix kernel-doc ininternal.h")After applying that, I've decided to drop
63c8b1231929as it's fairly big and just rework6ee98aabdc70.I should have dropped
fd2afa70eff0too.
Ah - I see. Thank you very much for handling the backport of the fix.
Reinette