mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
synced 2025-01-15 21:23:23 +00:00
x86/resctrl: Introduce resctrl_file_fflags_init() to initialize fflags
thread_throttle_mode_init() and mbm_config_rftype_init() both initialize fflags for resctrl files. Adding new files will involve adding another function to initialize the fflags. This can be simplified by adding a new function resctrl_file_fflags_init() and passing the file name and flags to be initialized. Consolidate fflags initialization into resctrl_file_fflags_init() and remove thread_throttle_mode_init() and mbm_config_rftype_init(). [ Tony: Drop __init attribute so resctrl_file_fflags_init() can be used at run time. ] Signed-off-by: Babu Moger <babu.moger@amd.com> Signed-off-by: Tony Luck <tony.luck@intel.com> Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de> Reviewed-by: Reinette Chatre <reinette.chatre@intel.com> Link: https://lore.kernel.org/r/20241206163148.83828-2-tony.luck@intel.com
This commit is contained in:
parent
135eef38d7
commit
2937f9c361
@ -234,7 +234,9 @@ static __init bool __get_mem_config_intel(struct rdt_resource *r)
|
||||
r->membw.throttle_mode = THREAD_THROTTLE_PER_THREAD;
|
||||
else
|
||||
r->membw.throttle_mode = THREAD_THROTTLE_MAX;
|
||||
thread_throttle_mode_init();
|
||||
|
||||
resctrl_file_fflags_init("thread_throttle_mode",
|
||||
RFTYPE_CTRL_INFO | RFTYPE_RES_MB);
|
||||
|
||||
r->alloc_capable = true;
|
||||
|
||||
|
@ -647,8 +647,7 @@ void cqm_handle_limbo(struct work_struct *work);
|
||||
bool has_busy_rmid(struct rdt_mon_domain *d);
|
||||
void __check_limbo(struct rdt_mon_domain *d, bool force_free);
|
||||
void rdt_domain_reconfigure_cdp(struct rdt_resource *r);
|
||||
void __init thread_throttle_mode_init(void);
|
||||
void __init mbm_config_rftype_init(const char *config);
|
||||
void resctrl_file_fflags_init(const char *config, unsigned long fflags);
|
||||
void rdt_staged_configs_clear(void);
|
||||
bool closid_allocated(unsigned int closid);
|
||||
int resctrl_find_cleanest_closid(void);
|
||||
|
@ -1224,11 +1224,13 @@ int __init rdt_get_mon_l3_config(struct rdt_resource *r)
|
||||
|
||||
if (rdt_cpu_has(X86_FEATURE_CQM_MBM_TOTAL)) {
|
||||
mbm_total_event.configurable = true;
|
||||
mbm_config_rftype_init("mbm_total_bytes_config");
|
||||
resctrl_file_fflags_init("mbm_total_bytes_config",
|
||||
RFTYPE_MON_INFO | RFTYPE_RES_CACHE);
|
||||
}
|
||||
if (rdt_cpu_has(X86_FEATURE_CQM_MBM_LOCAL)) {
|
||||
mbm_local_event.configurable = true;
|
||||
mbm_config_rftype_init("mbm_local_bytes_config");
|
||||
resctrl_file_fflags_init("mbm_local_bytes_config",
|
||||
RFTYPE_MON_INFO | RFTYPE_RES_CACHE);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -2020,24 +2020,13 @@ static struct rftype *rdtgroup_get_rftype_by_name(const char *name)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
void __init thread_throttle_mode_init(void)
|
||||
{
|
||||
struct rftype *rft;
|
||||
|
||||
rft = rdtgroup_get_rftype_by_name("thread_throttle_mode");
|
||||
if (!rft)
|
||||
return;
|
||||
|
||||
rft->fflags = RFTYPE_CTRL_INFO | RFTYPE_RES_MB;
|
||||
}
|
||||
|
||||
void __init mbm_config_rftype_init(const char *config)
|
||||
void resctrl_file_fflags_init(const char *config, unsigned long fflags)
|
||||
{
|
||||
struct rftype *rft;
|
||||
|
||||
rft = rdtgroup_get_rftype_by_name(config);
|
||||
if (rft)
|
||||
rft->fflags = RFTYPE_MON_INFO | RFTYPE_RES_CACHE;
|
||||
rft->fflags = fflags;
|
||||
}
|
||||
|
||||
/**
|
||||
|
Loading…
x
Reference in New Issue
Block a user