[PATCH 1/3] x86/intel_rdt: Initialize bitmask of shareable resource if CDP enabled

From: Reinette Chatre
Date: Fri Oct 20 2017 - 13:18:33 EST


The platform informs us via CPUID.(EAX=0x10, ECX=res#):EBX[31:0] (valid
res# are only 1 for L3 and 2 for L2) which unit of the allocation may be
used by other entities in the platform. This information is valid whether
CDP (Code and Data Prioritization) is enabled or not.

Ensure that the bitmask of shareable resource is initialized when CDP is
enabled.

Fixes: 0dd2d7494cd8 ("x86/intel_rdt: Show bitmask of shareable resource
with other executing units"
Signed-off-by: Reinette Chatre <reinette.chatre@xxxxxxxxx>
Acked-by: Fenghua Yu <fenghua.yu@xxxxxxxxx>
Acked-by: Vikas Shivappa <vikas.shivappa@xxxxxxxxxxxxxxx>
Acked-by: Tony Luck <tony.luck@xxxxxxxxx>
---
arch/x86/kernel/cpu/intel_rdt.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/arch/x86/kernel/cpu/intel_rdt.c b/arch/x86/kernel/cpu/intel_rdt.c
index cd5fc61ba450..88dcf8479013 100644
--- a/arch/x86/kernel/cpu/intel_rdt.c
+++ b/arch/x86/kernel/cpu/intel_rdt.c
@@ -267,6 +267,7 @@ static void rdt_get_cdp_l3_config(int type)
r->num_closid = r_l3->num_closid / 2;
r->cache.cbm_len = r_l3->cache.cbm_len;
r->default_ctrl = r_l3->default_ctrl;
+ r->cache.shareable_bits = r_l3->cache.shareable_bits;
r->data_width = (r->cache.cbm_len + 3) / 4;
r->alloc_capable = true;
/*
--
2.13.5