mirror of
https://github.com/lkl/linux.git
synced 2025-12-19 16:13:19 +09:00
x86/resctrl: Add a helper to read/set the CDP configuration
Whether CDP is enabled for a hardware resource like the L3 cache can be found by inspecting the alloc_enabled flags of the L3CODE/L3DATA struct rdt_hw_resources, even if they aren't in use. Once these resources are merged, the flags can't be compared. Whether CDP is enabled needs tracking explicitly. If another architecture is emulating CDP the behaviour may not be per-resource. 'cdp_capable' needs to be visible to resctrl, even if its not in use, as this affects the padding of the schemata table visible to user-space. Add cdp_enabled to struct rdt_hw_resource and cdp_capable to struct rdt_resource. Add resctrl_arch_set_cdp_enabled() to let resctrl enable or disable CDP on a resource. resctrl_arch_get_cdp_enabled() lets it read the current state. Signed-off-by: James Morse <james.morse@arm.com> Signed-off-by: Borislav Petkov <bp@suse.de> Reviewed-by: Jamie Iles <jamie@nuviainc.com> Reviewed-by: Reinette Chatre <reinette.chatre@intel.com> Tested-by: Babu Moger <babu.moger@amd.com> Link: https://lkml.kernel.org/r/20210728170637.25610-12-james.morse@arm.com
This commit is contained in:
committed by
Borislav Petkov
parent
32150edd3f
commit
c091e90721
@@ -142,6 +142,7 @@ struct resctrl_schema;
|
||||
* @parse_ctrlval: Per resource function pointer to parse control values
|
||||
* @evt_list: List of monitoring events
|
||||
* @fflags: flags to choose base and info files
|
||||
* @cdp_capable: Is the CDP feature available on this resource
|
||||
*/
|
||||
struct rdt_resource {
|
||||
int rid;
|
||||
@@ -163,7 +164,7 @@ struct rdt_resource {
|
||||
struct rdt_domain *d);
|
||||
struct list_head evt_list;
|
||||
unsigned long fflags;
|
||||
|
||||
bool cdp_capable;
|
||||
};
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user