lkml.org 
[lkml]   [2018]   [Sep]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[tip:x86/urgent] x86/intel_rdt: Fix invalid mode warning when multiple resources are managed
    Commit-ID:  47d53b184aee983ab9492503da11b0a81b19145b
    Gitweb: https://git.kernel.org/tip/47d53b184aee983ab9492503da11b0a81b19145b
    Author: Reinette Chatre <reinette.chatre@intel.com>
    AuthorDate: Sat, 15 Sep 2018 14:58:22 -0700
    Committer: Thomas Gleixner <tglx@linutronix.de>
    CommitDate: Tue, 18 Sep 2018 23:38:05 +0200

    x86/intel_rdt: Fix invalid mode warning when multiple resources are managed

    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: e651901187ab8 ("x86/intel_rdt: Introduce "bit_usage" to display cache allocations details")
    Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
    Signed-off-by: Fenghua Yu <fenghua.yu@intel.com>
    Signed-off-by: Thomas 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

    ---
    arch/x86/kernel/cpu/intel_rdt_rdtgroup.c | 2 +-
    1 file changed, 1 insertion(+), 1 deletion(-)

    diff --git a/arch/x86/kernel/cpu/intel_rdt_rdtgroup.c b/arch/x86/kernel/cpu/intel_rdt_rdtgroup.c
    index b372923eb209..ea91750ba27f 100644
    --- a/arch/x86/kernel/cpu/intel_rdt_rdtgroup.c
    +++ b/arch/x86/kernel/cpu/intel_rdt_rdtgroup.c
    @@ -809,7 +809,7 @@ static int rdt_bit_usage_show(struct kernfs_open_file *of,
    sw_shareable = 0;
    exclusive = 0;
    seq_printf(seq, "%d=", dom->id);
    - for (i = 0; i < r->num_closid; i++, ctrl++) {
    + for (i = 0; i < closids_supported(); i++, ctrl++) {
    if (!closid_allocated(i))
    continue;
    mode = rdtgroup_mode_by_closid(i);
    \
     
     \ /
      Last update: 2018-09-18 23:44    [W:3.656 / U:0.084 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site