Skip to content

Commit

Permalink
x86/resctrl: Move RFTYPE flags to be managed by resctrl
Browse files Browse the repository at this point in the history
resctrl_file_fflags_init() is called from the architecture specific code to
make the 'thread_throttle_mode' file visible. The architecture specific code
has already set the membw.throttle_mode in the rdt_resource.

This forces the RFTYPE flags used by resctrl to be exposed to the architecture
specific code.

This doesn't need to be specific to the architecture, the throttle_mode can be
used by resctrl to determine if the 'thread_throttle_mode' file should be
visible. This allows the RFTYPE flags to be private to resctrl.

Add thread_throttle_mode_init(), and use it to call resctrl_file_fflags_init()
from resctrl_init(). This avoids publishing an extra function between the
architecture and filesystem code.

Signed-off-by: James Morse <james.morse@arm.com>
Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de>
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-28-james.morse@arm.com
  • Loading branch information
James Morse authored and Borislav Petkov (AMD) committed Mar 12, 2025
1 parent 4cf9acf commit 373af4e
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 3 deletions.
3 changes: 0 additions & 3 deletions arch/x86/kernel/cpu/resctrl/core.c
Original file line number Diff line number Diff line change
Expand Up @@ -227,9 +227,6 @@ static __init bool __get_mem_config_intel(struct rdt_resource *r)
else
r->membw.throttle_mode = THREAD_THROTTLE_MAX;

resctrl_file_fflags_init("thread_throttle_mode",
RFTYPE_CTRL_INFO | RFTYPE_RES_MB);

r->alloc_capable = true;

return true;
Expand Down
12 changes: 12 additions & 0 deletions arch/x86/kernel/cpu/resctrl/rdtgroup.c
Original file line number Diff line number Diff line change
Expand Up @@ -2064,6 +2064,16 @@ static struct rftype *rdtgroup_get_rftype_by_name(const char *name)
return NULL;
}

static void thread_throttle_mode_init(void)
{
struct rdt_resource *r_mba;

r_mba = resctrl_arch_get_resource(RDT_RESOURCE_MBA);
if (r_mba->membw.throttle_mode != THREAD_THROTTLE_UNDEFINED)
resctrl_file_fflags_init("thread_throttle_mode",
RFTYPE_CTRL_INFO | RFTYPE_RES_MB);
}

void resctrl_file_fflags_init(const char *config, unsigned long fflags)
{
struct rftype *rft;
Expand Down Expand Up @@ -4277,6 +4287,8 @@ int __init resctrl_init(void)

rdtgroup_setup_default();

thread_throttle_mode_init();

ret = resctrl_mon_resource_init();
if (ret)
return ret;
Expand Down

0 comments on commit 373af4e

Please sign in to comment.