x86/intel_rdt: Initialize bitmask of shareable resource if CDP enabled
authorReinette Chatre <reinette.chatre@intel.com>
Fri, 20 Oct 2017 09:16:57 +0000 (02:16 -0700)
committerThomas Gleixner <tglx@linutronix.de>
Sat, 21 Oct 2017 15:12:21 +0000 (17:12 +0200)
The platform informs 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@intel.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Acked-by: Fenghua Yu <fenghua.yu@intel.com>
Acked-by: Vikas Shivappa <vikas.shivappa@linux.intel.com>
Acked-by: Tony Luck <tony.luck@intel.com>
Link: https://lkml.kernel.org/r/815747bddc820ca221a8924edaf4d1a7324547e4.1508490116.git.reinette.chatre@intel.com
arch/x86/kernel/cpu/intel_rdt.c

index cd5fc61..88dcf84 100644 (file)
@@ -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;
        /*