Merge branch 'x86-cache-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git...
authorLinus Torvalds <torvalds@linux-foundation.org>
Wed, 26 Dec 2018 20:17:43 +0000 (12:17 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Wed, 26 Dec 2018 20:17:43 +0000 (12:17 -0800)
Pull x86 cache control updates from Borislav Petkov:

 - The generalization of the RDT code to accommodate the addition of
   AMD's very similar implementation of the cache monitoring feature.

   This entails a subsystem move into a separate and generic
   arch/x86/kernel/cpu/resctrl/ directory along with adding
   vendor-specific initialization and feature detection helpers.

   Ontop of that is the unification of user-visible strings, both in the
   resctrl filesystem error handling and Kconfig.

   Provided by Babu Moger and Sherry Hurwitz.

 - Code simplifications and error handling improvements by Reinette
   Chatre.

* 'x86-cache-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  x86/resctrl: Fix rdt_find_domain() return value and checks
  x86/resctrl: Remove unnecessary check for cbm_validate()
  x86/resctrl: Use rdt_last_cmd_puts() where possible
  MAINTAINERS: Update resctrl filename patterns
  Documentation: Rename and update intel_rdt_ui.txt to resctrl_ui.txt
  x86/resctrl: Introduce AMD QOS feature
  x86/resctrl: Fixup the user-visible strings
  x86/resctrl: Add AMD's X86_FEATURE_MBA to the scattered CPUID features
  x86/resctrl: Rename the config option INTEL_RDT to RESCTRL
  x86/resctrl: Add vendor check for the MBA software controller
  x86/resctrl: Bring cbm_validate() into the resource structure
  x86/resctrl: Initialize the vendor-specific resource functions
  x86/resctrl: Move all the macros to resctrl/internal.h
  x86/resctrl: Re-arrange the RDT init code
  x86/resctrl: Rename the RDT functions and definitions
  x86/resctrl: Rename and move rdt files to a separate directory

1  2 
MAINTAINERS
arch/x86/Kconfig
arch/x86/kernel/cpu/resctrl/ctrlmondata.c
arch/x86/kernel/process_32.c
arch/x86/kernel/process_64.c
include/linux/sched.h

diff --cc MAINTAINERS
Simple merge
index c2a22a74abee858dcf3a6032c88c397d9fbbb306,2d0577e805d24c6ae9b7239c09181508dc5b6688..c7094f813183e9609c9c4d0fa16c60e90086e416
@@@ -444,15 -444,27 +444,23 @@@ config RETPOLIN
          branches. Requires a compiler with -mindirect-branch=thunk-extern
          support for full protection. The kernel may run slower.
  
- config INTEL_RDT
-       bool "Intel Resource Director Technology support"
-       depends on X86 && CPU_SUP_INTEL
 -        Without compiler support, at least indirect branches in assembler
 -        code are eliminated. Since this includes the syscall entry path,
 -        it is not entirely pointless.
 -
+ config RESCTRL
+       bool "Resource Control support"
+       depends on X86 && (CPU_SUP_INTEL || CPU_SUP_AMD)
        select KERNFS
        help
-         Select to enable resource allocation and monitoring which are
-         sub-features of Intel Resource Director Technology(RDT). More
-         information about RDT can be found in the Intel x86
-         Architecture Software Developer Manual.
+         Enable Resource Control support.
+         Provide support for the allocation and monitoring of system resources
+         usage by the CPU.
+         Intel calls this Intel Resource Director Technology
+         (Intel(R) RDT). More information about RDT can be found in the
+         Intel x86 Architecture Software Developer Manual.
+         AMD calls this AMD Platform Quality of Service (AMD QoS).
+         More information about AMD QoS can be found in the AMD64 Technology
+         Platform Quality of Service Extensions manual.
  
          Say N if unsure.
  
index d3e593eb189f0ba8545d960c287c9ebb224888ed,dc4d92764d1a498847b16ff04519959db289bd82..9d08f0510620f1d5da4400a2f659a7ca0ea29606
  #include <asm/debugreg.h>
  #include <asm/switch_to.h>
  #include <asm/vm86.h>
- #include <asm/intel_rdt_sched.h>
+ #include <asm/resctrl_sched.h>
  #include <asm/proto.h>
  
 +#include "process.h"
 +
  void __show_regs(struct pt_regs *regs, enum show_regs_mode mode)
  {
        unsigned long cr0 = 0L, cr2 = 0L, cr3 = 0L, cr4 = 0L;
Simple merge
Simple merge