mirror of
https://github.com/torvalds/linux.git
synced 2026-05-26 16:12:59 +02:00
x86/resctrl: Add an arch helper to reset one resource
On umount(), resctrl resets each resource back to its default configuration. It only ever does this for all resources in one go. reset_all_ctrls() is architecture specific as it works with struct rdt_hw_resource. Make reset_all_ctrls() an arch helper that resets one resource. Signed-off-by: James Morse <james.morse@arm.com> Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de> Reviewed-by: Tony Luck <tony.luck@intel.com> Reviewed-by: Reinette Chatre <reinette.chatre@intel.com> Reviewed-by: Fenghua Yu <fenghuay@nvidia.com> Reviewed-by: Babu Moger <babu.moger@amd.com> Reviewed-by: Shaopeng Tan <tan.shaopeng@jp.fujitsu.com> Tested-by: Peter Newman <peternewman@google.com> Tested-by: Shaopeng Tan <tan.shaopeng@jp.fujitsu.com> Tested-by: Amit Singh Tomar <amitsinght@marvell.com> # arm64 Tested-by: Shanker Donthineni <sdonthineni@nvidia.com> # arm64 Tested-by: Babu Moger <babu.moger@amd.com> Link: https://lore.kernel.org/r/20250311183715.16445-15-james.morse@arm.com
This commit is contained in:
parent
f16adbaf92
commit
9be68b144a
|
|
@ -2867,7 +2867,7 @@ static int rdt_init_fs_context(struct fs_context *fc)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int reset_all_ctrls(struct rdt_resource *r)
|
||||
void resctrl_arch_reset_all_ctrls(struct rdt_resource *r)
|
||||
{
|
||||
struct rdt_hw_resource *hw_res = resctrl_to_arch_res(r);
|
||||
struct rdt_hw_ctrl_domain *hw_dom;
|
||||
|
|
@ -2896,7 +2896,7 @@ static int reset_all_ctrls(struct rdt_resource *r)
|
|||
smp_call_function_any(&d->hdr.cpu_mask, rdt_ctrl_update, &msr_param, 1);
|
||||
}
|
||||
|
||||
return 0;
|
||||
return;
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
@ -3015,9 +3015,10 @@ static void rdt_kill_sb(struct super_block *sb)
|
|||
|
||||
rdt_disable_ctx();
|
||||
|
||||
/*Put everything back to default values. */
|
||||
/* Put everything back to default values. */
|
||||
for_each_alloc_capable_rdt_resource(r)
|
||||
reset_all_ctrls(r);
|
||||
resctrl_arch_reset_all_ctrls(r);
|
||||
|
||||
rmdir_all_sub();
|
||||
rdt_pseudo_lock_release();
|
||||
rdtgroup_default.mode = RDT_MODE_SHAREABLE;
|
||||
|
|
|
|||
|
|
@ -394,6 +394,15 @@ void resctrl_arch_reset_rmid(struct rdt_resource *r, struct rdt_mon_domain *d,
|
|||
*/
|
||||
void resctrl_arch_reset_rmid_all(struct rdt_resource *r, struct rdt_mon_domain *d);
|
||||
|
||||
/**
|
||||
* resctrl_arch_reset_all_ctrls() - Reset the control for each CLOSID to its
|
||||
* default.
|
||||
* @r: The resctrl resource to reset.
|
||||
*
|
||||
* This can be called from any CPU.
|
||||
*/
|
||||
void resctrl_arch_reset_all_ctrls(struct rdt_resource *r);
|
||||
|
||||
extern unsigned int resctrl_rmid_realloc_threshold;
|
||||
extern unsigned int resctrl_rmid_realloc_limit;
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user