From: Reinette Chatre Date: Fri, 22 Jun 2018 22:42:00 +0000 (-0700) Subject: x86/intel_rdt: Introduce new "exclusive" mode X-Git-Tag: v4.19-rc1~198^2~36 X-Git-Url: https://asedeno.scripts.mit.edu/gitweb/?a=commitdiff_plain;h=414dd2b4732949ddc972c2592a13c799434249c6;p=linux.git x86/intel_rdt: Introduce new "exclusive" mode At the moment all allocations are shareable. There is no way for a user to designate that an allocation associated with a resource group cannot be shared by another. Introduce the new mode "exclusive". When a resource group is marked as such it implies that no overlap is allowed between its allocation and that of another resource group. Signed-off-by: Reinette Chatre Signed-off-by: Thomas Gleixner Cc: fenghua.yu@intel.com Cc: tony.luck@intel.com Cc: vikas.shivappa@linux.intel.com Cc: gavin.hindman@intel.com Cc: jithu.joseph@intel.com Cc: dave.hansen@intel.com Cc: hpa@zytor.com Link: https://lkml.kernel.org/r/f6d24672a4280fe3b24cd2da9b5f50214439c1af.1529706536.git.reinette.chatre@intel.com --- diff --git a/arch/x86/kernel/cpu/intel_rdt.h b/arch/x86/kernel/cpu/intel_rdt.h index f2fbf4059b3f..c9033fd774d5 100644 --- a/arch/x86/kernel/cpu/intel_rdt.h +++ b/arch/x86/kernel/cpu/intel_rdt.h @@ -83,6 +83,7 @@ enum rdt_group_type { /** * enum rdtgrp_mode - Mode of a RDT resource group * @RDT_MODE_SHAREABLE: This resource group allows sharing of its allocations + * @RDT_MODE_EXCLUSIVE: No sharing of this resource group's allocations allowed * * The mode of a resource group enables control over the allowed overlap * between allocations associated with different resource groups (classes @@ -91,6 +92,7 @@ enum rdt_group_type { */ enum rdtgrp_mode { RDT_MODE_SHAREABLE = 0, + RDT_MODE_EXCLUSIVE, /* Must be last */ RDT_NUM_MODES, diff --git a/arch/x86/kernel/cpu/intel_rdt_rdtgroup.c b/arch/x86/kernel/cpu/intel_rdt_rdtgroup.c index 80ac09cf978b..910febef55e8 100644 --- a/arch/x86/kernel/cpu/intel_rdt_rdtgroup.c +++ b/arch/x86/kernel/cpu/intel_rdt_rdtgroup.c @@ -161,6 +161,7 @@ enum rdtgrp_mode rdtgroup_mode_by_closid(int closid) static const char * const rdt_mode_str[] = { [RDT_MODE_SHAREABLE] = "shareable", + [RDT_MODE_EXCLUSIVE] = "exclusive", }; /**