Commit-ID: c4ccc8b90dfe244361db195bcac376fe1ad5f31a Gitweb: https://git.kernel.org/tip/c4ccc8b90dfe244361db195bcac376fe1ad5f31a Author: Reinette Chatre <reinette.cha...@intel.com> AuthorDate: Tue, 29 May 2018 05:57:27 -0700 Committer: Thomas Gleixner <t...@linutronix.de> CommitDate: Wed, 20 Jun 2018 00:56:27 +0200
x86/intel_rdt: Introduce RDT resource group mode At this time there are no constraints on how bitmasks represented by schemata can be associated with closids represented by resource groups. A bitmask of one class of service can without any objections overlap with the bitmask of another class of service. The concept of "mode" is introduced in preparation for support of control over whether cache regions can be shared between classes of service. At this time the only mode reflects the current cache allocations where all can potentially be shared. Signed-off-by: Reinette Chatre <reinette.cha...@intel.com> Signed-off-by: Thomas Gleixner <t...@linutronix.de> Cc: fenghua...@intel.com Cc: tony.l...@intel.com Cc: vikas.shiva...@linux.intel.com Cc: gavin.hind...@intel.com Cc: jithu.jos...@intel.com Cc: dave.han...@intel.com Cc: h...@zytor.com Link: https://lkml.kernel.org/r/ccdbc11e14508ce3800ac4370e788374d3855aee.1527593970.git.reinette.cha...@intel.com --- arch/x86/kernel/cpu/intel_rdt.h | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/arch/x86/kernel/cpu/intel_rdt.h b/arch/x86/kernel/cpu/intel_rdt.h index 39752825e376..c08eee73ecd3 100644 --- a/arch/x86/kernel/cpu/intel_rdt.h +++ b/arch/x86/kernel/cpu/intel_rdt.h @@ -80,6 +80,22 @@ enum rdt_group_type { RDT_NUM_GROUP, }; +/** + * enum rdtgrp_mode - Mode of a RDT resource group + * @RDT_MODE_SHAREABLE: This resource group allows sharing of its allocations + * + * The mode of a resource group enables control over the allowed overlap + * between allocations associated with different resource groups (classes + * of service). User is able to modify the mode of a resource group by + * writing to the "mode" resctrl file associated with the resource group. + */ +enum rdtgrp_mode { + RDT_MODE_SHAREABLE = 0, + + /* Must be last */ + RDT_NUM_MODES, +}; + /** * struct mongroup - store mon group's data in resctrl fs. * @mon_data_kn kernlfs node for the mon_data directory