• Reinette Chatre's avatar
    x86/intel_rdt: Fix invalid mode warning when multiple resources are managed · 47d53b18
    Reinette Chatre authored
    When multiple resources are managed by RDT, the number of CLOSIDs used
    is the minimum of the CLOSIDs supported by each resource. In the function
    rdt_bit_usage_show(), the annotated bitmask is created to depict how the
    CAT supporting caches are being used. During this annotated bitmask
    creation, each resource group is queried for its mode that is used as a
    label in the annotated bitmask.
    
    The maximum number of resource groups is currently assumed to be the
    number of CLOSIDs supported by the resource for which the information is
    being displayed. This is incorrect since the number of active CLOSIDs is
    the minimum across all resources.
    
    If information for a cache instance with more CLOSIDs than another is
    being generated we thus encounter a warning like:
    
    invalid mode for closid 8
    WARNING: CPU: 88 PID: 1791 at [SNIP]/arch/x86/kernel/cpu/intel_rdt_rdtgroup.c
    :827 rdt_bit_usage_show+0x221/0x2b0
    
    Fix this by ensuring that only the number of supported CLOSIDs are
    considered.
    
    Fixes: e6519011 ("x86/intel_rdt: Introduce "bit_usage" to display cache allocations details")
    Signed-off-by: default avatarReinette Chatre <reinette.chatre@intel.com>
    Signed-off-by: default avatarFenghua Yu <fenghua.yu@intel.com>
    Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
    Cc: "H Peter Anvin" <hpa@zytor.com>
    Cc: "Tony Luck" <tony.luck@intel.com>
    Cc: "Xiaochen Shen" <xiaochen.shen@intel.com>
    Cc: "Chen Yu" <yu.c.chen@intel.com>
    Link: https://lkml.kernel.org/r/1537048707-76280-5-git-send-email-fenghua.yu@intel.com
    47d53b18
intel_rdt_rdtgroup.c 70.3 KB