linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v9 00/13] arch/resctrl: AMD QoS support
@ 2018-11-21 20:28 Moger, Babu
  2018-11-21 20:28 ` [PATCH v9 01/13] x86/resctrl: Rename and move rdt files to new directory Moger, Babu
                   ` (12 more replies)
  0 siblings, 13 replies; 43+ messages in thread
From: Moger, Babu @ 2018-11-21 20:28 UTC (permalink / raw)
  To: tglx, mingo, bp, corbet, fenghua.yu, reinette.chatre, peterz,
	gregkh, davem, akpm
  Cc: hpa, x86, mchehab+samsung, arnd, kstewart, pombredanne, rafael,
	kirill.shutemov, tony.luck, qianyue.zj, xiaochen.shen, pbonzini,
	Singh, Brijesh, Hurwitz, Sherry, dwmw2, Lendacky, Thomas, luto,
	joro, jannh, vkuznets, rian, jpoimboe, Moger, Babu, linux-kernel,
	linux-doc

This series adds support for AMD64 architectural extensions for Platform
Quality of Service. These extensions are intended to provide for the
monitoring of the usage of certain system resources by one or more
processors and for the separate allocation and enforcement of limits on
the use of certain system resources by one or more processors.

The monitoring and enforcement are not necessarily applied across the
entire system, but in general apply to a QOS domain which corresponds to
some shared system resource.  The set of resources which are monitored and
the set for which the enforcement of limits is provided are implementation
dependent. Platform QOS features are implemented on a logical processor
basis. Therefore, multiple hardware threads of a single physical CPU core
may have independent resource monitoring and enforcement configurations.

AMD's next generation of processors support following QoS sub-features.
- L3 Cache allocation enforcement
- L3 Cache occupancy monitoring
- L3 Code-Data Prioritization support
- Memory Bandwidth Enforcement(Allocation)

The public specification for this feature is available at
https://developer.amd.com/wp-content/resources/56375.pdf

Obviously, there are multiple ways we can go about these changes. We felt
it is appropriate to rename and re-organize the code little bit before
making the functional changes. The first few patches(1-10) renames and
re-organizes the sources in preparation. Rest of the patches(7-11) adds
support for AMD QoS features.

Please review.

Changes from v8 -> v9:
https://lore.kernel.org/lkml/20181116205407.10457-1-babu.moger@amd.com/
 a. Addressed numerous comments from Borislav Petkov.
    1. Moved all the resctrl code to new directory under
       arch/x86/kernel/cpu/resctrl. Updated makefies(patch #1)
    2. Little bit rework and rename of RDT initialization code(patch #3)
    3. Merged the patch 5 and 9.
    4. Few corrections and code indentation work on patch 11.
    5. Some more text corrections.
 b. Addressed few text comments from Randy Dunlap.

Changes from v7 -> v8:
https://lore.kernel.org/lkml/20181109205153.14811-1-babu.moger@amd.com/
 a. Addressed comments from Borislav Petkov.
    Changed the subject line to arch/resctrl from arch/x86.
    Few code cleanup related changes on patch 2 and 3.

Changes from v6 -> v7:
 a. Mainly addressed the comments from Mattew Wilcox. Removed both 
    CONFIG_INTEL_RDT and CONFIG_AMD_QOS config parameter. We dont need
    to use two separate config parameter to enable this feature. The
    final code will be same in both the cases. So, used the new vendor
    neutral parameter CONFIG_RESCTRL to enable resource control feature
    for both Intel and AMD 

Changes from v5 -> v6:
https://lore.kernel.org/lkml/20181106154034.15386-1-babu.moger@amd.com/
 a. Addressed comments from Fenghua Yu. Added vendor check while
    detecting MBA software controller support.
 a. Rebased again on top of
    git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git x86/cache

Changes from v4 -> v5:
https://lore.kernel.org/lkml/20181018225124.23043-1-babu.moger@amd.com/
 a. Addressed comments from Fenghua Yu.
 b. The functions update_mba_bw and set_mba_sc is not required for AMD.
    Removed all the changes related to these functions.

Changes from v3 -> v4:
https://lore.kernel.org/lkml/20181015205514.25387-1-babu.moger@amd.com/
 a. Addressed comments from Reinette Chatre and Borislav Petkov.
 b. Removed X86 dependency for CONFIG_AMD_QOS. Implicitly is it already
    dependent on X86.
 c. Updated the MAINTAINER file for name changes.
 d. Addressed most of "checkpatch.pl --strict" issues.
 d. Updated Documentation/x86/resctrl_ui.txt(previously
    intel_rdt_ui.txt) file with AMD specific details. Changed few names
    to resctrl from intel_rdt.

Changes from v2 -> v3:
 https://lore.kernel.org/lkml/20181011203223.18157-1-babu.moger@amd.com/
 a. Rebased the patches on top of below branch as suggested by Thomas Gleixner.
    git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git x86/cache
 b. Addressed comments from Reinette Chatre, Fenghua Yu and Borislav Petkov.
 c. Main changes are related to renaming the files and functions.
    Renamed from intel_rdt to more generic resctrl(patches 1 to 3).
 d. Config parameter changed from PLATFORM_QOS to more generic RESCTRL.
 e. Fixed minor indentation issues.

Changes from v1 -> v2:
 https://lore.kernel.org/lkml/20181005205512.29545-1-babu.moger@amd.com/
 a. Removed RFC from subject header. Based on the discussion so far, 
    plan is to go ahead with these patches and eventually re-structure
    the code to make arch and non-arch separate.
 b. Addressed comments from Reinette Chatre and Fenghua Yu.
 c. Separated quirks and MBA from rdt init code. Kept the rest of the
    code as is.
 d. Added _intel suffixes all the Intel only code just like AMD code.
 e. Added one more patch to bring the macros into header file.
 f. Few minor text changes.

v1:
 https://lore.kernel.org/lkml/20180924191841.29111-1-babu.moger@amd.com/


Babu Moger (12):
  x86/resctrl: Rename and move rdt files to new directory
  x86/resctrl: Rename the RDT functions and definitions
  x86/resctrl: Re-arrange RDT init code
  x86/resctrl: Bring all the macros to resctrl/internal.h
  x86/resctrl: Initialize the resource functions that are different
  x86/resctrl: Bring cbm_validate function into the resource structure
  x86/resctrl: Add vendor check for MBA software controller
  x86/resctrl: Rename config parameter INTEL_RDT to RESCTRL
  x86/resctrl: Fix the messages in rdt_last_cmd_printf and
    rdt_last_cmd_puts
  x86/resctrl: Introduce QOS feature for AMD
  Documentation: Rename and update intel_rdt_ui.txt to resctrl_ui.txt
  MAINTAINERS: Update the file and documentation names in arch/x86

Sherry Hurwitz (1):
  x86/resctrl: Add AMD feature bit X86_FEATURE_MBA in cpuid bits array

 .../x86/{intel_rdt_ui.txt => resctrl_ui.txt}  |   9 +-
 MAINTAINERS                                   |   6 +-
 arch/x86/Kconfig                              |  23 ++-
 .../{intel_rdt_sched.h => resctrl_sched.h}    |  28 +--
 arch/x86/kernel/cpu/Makefile                  |   5 +-
 arch/x86/kernel/cpu/resctrl/Makefile          |   7 +
 .../cpu/{intel_rdt.c => resctrl/core.c}       | 184 ++++++++++++++----
 .../ctrlmondata.c}                            | 102 ++++++++--
 .../cpu/{intel_rdt.h => resctrl/internal.h}   |  47 +++--
 .../monitor.c}                                |  16 +-
 .../pseudo_lock.c}                            |  40 ++--
 .../pseudo_lock_event.h}                      |   2 +-
 .../rdtgroup.c}                               |  59 +++---
 arch/x86/kernel/cpu/scattered.c               |   7 +-
 arch/x86/kernel/process_32.c                  |   4 +-
 arch/x86/kernel/process_64.c                  |   4 +-
 include/linux/sched.h                         |   2 +-
 17 files changed, 380 insertions(+), 165 deletions(-)
 rename Documentation/x86/{intel_rdt_ui.txt => resctrl_ui.txt} (99%)
 rename arch/x86/include/asm/{intel_rdt_sched.h => resctrl_sched.h} (77%)
 create mode 100644 arch/x86/kernel/cpu/resctrl/Makefile
 rename arch/x86/kernel/cpu/{intel_rdt.c => resctrl/core.c} (83%)
 rename arch/x86/kernel/cpu/{intel_rdt_ctrlmondata.c => resctrl/ctrlmondata.c} (81%)
 rename arch/x86/kernel/cpu/{intel_rdt.h => resctrl/internal.h} (92%)
 rename arch/x86/kernel/cpu/{intel_rdt_monitor.c => resctrl/monitor.c} (98%)
 rename arch/x86/kernel/cpu/{intel_rdt_pseudo_lock.c => resctrl/pseudo_lock.c} (97%)
 rename arch/x86/kernel/cpu/{intel_rdt_pseudo_lock_event.h => resctrl/pseudo_lock_event.h} (95%)
 rename arch/x86/kernel/cpu/{intel_rdt_rdtgroup.c => resctrl/rdtgroup.c} (98%)

-- 
2.17.1


^ permalink raw reply	[flat|nested] 43+ messages in thread

end of thread, other threads:[~2018-12-26 17:15 UTC | newest]

Thread overview: 43+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-11-21 20:28 [PATCH v9 00/13] arch/resctrl: AMD QoS support Moger, Babu
2018-11-21 20:28 ` [PATCH v9 01/13] x86/resctrl: Rename and move rdt files to new directory Moger, Babu
2018-11-22 18:06   ` Borislav Petkov
2018-11-22 21:45   ` [tip:x86/cache] x86/resctrl: Rename and move rdt files to a separate directory tip-bot for Babu Moger
2018-11-23  7:28   ` [PATCH v9 01/13] x86/resctrl: Rename and move rdt files to new directory Ingo Molnar
2018-11-23  8:22     ` Borislav Petkov
2018-11-23  8:41       ` Ingo Molnar
2018-11-23  9:00         ` Borislav Petkov
2018-11-23 11:41           ` Ingo Molnar
2018-11-23 12:43             ` Thomas Gleixner
2018-11-26 18:31           ` Luck, Tony
2018-11-26 19:05             ` Borislav Petkov
2018-12-23 18:27   ` [PATCH v9 00/13] arch/resctrl: AMD QoS support Jan Engelhardt
2018-12-26 17:14     ` Moger, Babu
2018-11-21 20:28 ` [PATCH v9 02/13] x86/resctrl: Rename the RDT functions and definitions Moger, Babu
2018-11-22 21:46   ` [tip:x86/cache] " tip-bot for Babu Moger
2018-11-21 20:28 ` [PATCH v9 03/13] x86/resctrl: Re-arrange RDT init code Moger, Babu
2018-11-22 21:47   ` [tip:x86/cache] x86/resctrl: Re-arrange the " tip-bot for Babu Moger
2018-11-21 20:28 ` [PATCH v9 04/13] x86/resctrl: Bring all the macros to resctrl/internal.h Moger, Babu
2018-11-22 21:47   ` [tip:x86/cache] x86/resctrl: Move " tip-bot for Babu Moger
2018-11-21 20:28 ` [PATCH v9 05/13] x86/resctrl: Initialize the resource functions that are different Moger, Babu
2018-11-22 21:48   ` [tip:x86/cache] x86/resctrl: Initialize the vendor-specific resource functions tip-bot for Babu Moger
2018-11-21 20:28 ` [PATCH v9 06/13] x86/resctrl: Bring cbm_validate function into the resource structure Moger, Babu
2018-11-22 21:48   ` [tip:x86/cache] x86/resctrl: Bring cbm_validate() " tip-bot for Babu Moger
2018-11-21 20:28 ` [PATCH v9 07/13] x86/resctrl: Add vendor check for MBA software controller Moger, Babu
2018-11-22 21:49   ` [tip:x86/cache] x86/resctrl: Add vendor check for the " tip-bot for Babu Moger
2018-11-21 20:28 ` [PATCH v9 08/13] x86/resctrl: Rename config parameter INTEL_RDT to RESCTRL Moger, Babu
2018-11-22 18:46   ` Borislav Petkov
2018-11-22 21:49   ` [tip:x86/cache] x86/resctrl: Rename the config option " tip-bot for Babu Moger
2018-11-21 20:28 ` [PATCH v9 09/13] x86/resctrl: Add AMD feature bit X86_FEATURE_MBA in cpuid bits array Moger, Babu
2018-11-22 21:50   ` [tip:x86/cache] x86/resctrl: Add AMD's X86_FEATURE_MBA to the scattered CPUID features tip-bot for Sherry Hurwitz
2018-11-21 20:28 ` [PATCH v9 10/13] x86/resctrl: Fix the messages in rdt_last_cmd_printf and rdt_last_cmd_puts Moger, Babu
2018-11-22 21:51   ` [tip:x86/cache] x86/resctrl: Fixup the user-visible strings tip-bot for Babu Moger
2018-11-26 22:16   ` [PATCH v9 10/13] x86/resctrl: Fix the messages in rdt_last_cmd_printf and rdt_last_cmd_puts Reinette Chatre
2018-11-26 22:28     ` Borislav Petkov
2018-11-26 22:44       ` Reinette Chatre
2018-11-21 20:28 ` [PATCH v9 11/13] x86/resctrl: Introduce QOS feature for AMD Moger, Babu
2018-11-22 21:51   ` [tip:x86/cache] x86/resctrl: Introduce AMD QOS feature tip-bot for Babu Moger
2018-11-21 20:28 ` [PATCH v9 12/13] Documentation: Rename and update intel_rdt_ui.txt to resctrl_ui.txt Moger, Babu
2018-11-22 21:52   ` [tip:x86/cache] " tip-bot for Babu Moger
2018-11-25  9:07   ` [PATCH v9 12/13] " Pavel Machek
2018-11-21 20:28 ` [PATCH v9 13/13] MAINTAINERS: Update the file and documentation names in arch/x86 Moger, Babu
2018-11-22 21:52   ` [tip:x86/cache] MAINTAINERS: Update resctrl filename patterns tip-bot for Babu Moger

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).