lkml.org 
[lkml]   [2022]   [Aug]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Subject[PATCH v3 00/10] x86/resctrl: Support for AMD QoS new features and bug fix
    From
    Date
    New AMD processors can now support following QoS features.
    1. Slow Memory Bandwidth Configuration
    With this feature, the QOS enforcement policies can be applied
    to the external slow memory connected to the host. QOS enforcement
    is accomplished by assigning a Class Of Service (COS) to a processor
    and specifying allocations or limits for that COS for each resource
    to be allocated.

    2. Bandwidth Monitoring Event Configuration (BMEC)
    The bandwidth monitoring events mbm_total_event and mbm_local_event
    are set to count all the total and local reads/writes respectively.
    With the introduction of slow memory, the two counters are not enough
    to count all the different types are memory events. With the feature
    BMEC, the users have the option to configure mbm_total_event and
    mbm_local_event to count the specific type of events.

    Following are the bitmaps of events supported.
    Bits Description
    6 Dirty Victims from the QOS domain to all types of memory
    5 Reads to slow memory in the non-local NUMA domain
    4 Reads to slow memory in the local NUMA domain
    3 Non-temporal writes to non-local NUMA domain
    2 Non-temporal writes to local NUMA domain
    1 Reads to memory in the non-local NUMA domain
    0 Reads to memory in the local NUMA domain

    This series adds support for these features.

    Feature description is available in the specification, "AMD64 Technology Platform Quality
    of Service Extensions, Revision: 1.03 Publication # 56375 Revision: 1.03 Issue Date: February 2022".

    Link: https://www.amd.com/en/support/tech-docs/amd64-technology-platform-quality-service-extensions
    Link: https://bugzilla.kernel.org/show_bug.cgi?id=206537
    ---

    v3:
    a. Rebased the patches to latest tip. Resolved some conflicts.
    https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git
    b. Taken care of feedback from Bagas Sanjaya.
    c. Added Reviewed by from Mingo.
    Note: I am still looking for comments from Reinette or Fenghua.

    v2:
    a. Rebased the patches to latest stable tree (v5.18.15). Resolved some conflicts.
    b. Added the patch to fix CBM issue on AMD. This was originally discussed
    https://lore.kernel.org/lkml/20220517001234.3137157-1-eranian@google.com/
    https://lore.kernel.org/lkml/165938717220.724959.10931629283087443782.stgit@bmoger-ubuntu/

    v1:
    https://lore.kernel.org/lkml/165757543252.416408.13547339307237713464.stgit@bmoger-ubuntu/

    Babu Moger (10):
    x86/resctrl: Fix min_cbm_bits for AMD
    x86/cpufeatures: Add Slow Memory Bandwidth Allocation feature flag
    x86/resctrl: Add a new resource type RDT_RESOURCE_SMBA
    x86/resctrl: Detect and configure Slow Memory Bandwidth allocation
    x86/cpufeatures: Add Bandwidth Monitoring Event Configuration feature flag
    x86/resctrl: Introduce mon_configurable to detect Bandwidth Monitoring Event Configuration
    x86/resctrl: Add sysfs interface files to read/write event configuration
    x86/resctrl: Add the sysfs interface to read the event configuration
    x86/resctrl: Add sysfs interface to write the event configuration
    Documentation/x86: Update resctrl_ui.rst for new features


    Documentation/x86/resctrl.rst | 126 ++++++++++++
    arch/x86/include/asm/cpufeatures.h | 2 +
    arch/x86/kernel/cpu/resctrl/core.c | 70 ++++++-
    arch/x86/kernel/cpu/resctrl/ctrlmondata.c | 2 +-
    arch/x86/kernel/cpu/resctrl/internal.h | 26 +++
    arch/x86/kernel/cpu/resctrl/monitor.c | 16 ++
    arch/x86/kernel/cpu/resctrl/rdtgroup.c | 237 +++++++++++++++++++++-
    arch/x86/kernel/cpu/scattered.c | 2 +
    include/linux/resctrl.h | 1 +
    9 files changed, 472 insertions(+), 10 deletions(-)

    --

    \
     
     \ /
      Last update: 2022-08-22 15:43    [W:4.078 / U:0.168 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site