[PATCH V1 00/21] x86/cqm3: Resctrl based cqm

From: Vikas Shivappa
Date: Mon Jun 26 2017 - 14:54:56 EST


Sending a version of resctrl based cqm and mbm patches as per the
requirements discussed here:
https://marc.info/?l=linux-kernel&m=148891934720489

Several attempts were made to fix the existing upstream perf based cqm
but were NACKed by the community which led to the above discussions.

Patches are based on 4.12-rc4.

Acknowledgements:
- Thanks to Thomas for all the feedback on the requirements and design.
- Thanks to Stephane Eranian <eranian@xxxxxxxxxx> and David
Carrillo-Cisneros <davidcc@xxxxxxxxxx> for going through all the
churning during requirements and design phase and code reviews.
- Thanks to "Chatre, Reinette" <reinette.chatre@xxxxxxxxx> for bringing up
issues in code organization and other issues in declaring globals which
were not static.

Summary of the changes -

01/21 - Remove the existing perf based cqm
02/21 - A fix to existing RDT memory leak issue
03/21 - Documentation for resctrl based cqm
04 - 06/21 - Cleanup/Preparatory patches for resctrl based cqm
07 - 18/21 - Add CQM support
19 - 21/21 - Add MBM support

Tony Luck (2):
x86/intel_rdt: Simplify info and base file lists
x86/intel_rdt/mbm: Basic counting of MBM events (total and local)

Vikas Shivappa (19):
x86/perf/cqm: Wipe out perf based cqm
x86/intel_rdt: Fix memory leak during mount
x86/intel_rdt/cqm: Documentation for resctrl based RDT Monitoring
x86/intel_rdt: Introduce a common compile option for RDT
x86/intel_rdt: Change file names to accommodate RDT monitor code
x86/intel_rdt: Cleanup namespace to support RDT monitoring
x86/intel_rdt/cqm: Add RDT monitoring initialization
x86/intel_rdt/cqm: Add RMID(Resource monitoring ID) management
x86/intel_rdt/cqm: Add info files for RDT monitoring
x86/intel_rdt/cqm: Add mkdir support for RDT monitoring
x86/intel_rdt/cqm: Add tasks file support
x86/intel_rdt/cqm: Add cpus file support
x86/intel_rdt/cqm: Add mon_data
x86/intel_rdt/cqm: Add rmdir support
x86/intel_rdt/cqm: Add mount,umount support
x86/intel_rdt/cqm: Add sched_in support
x86/intel_rdt/cqm: Add hotcpu support
x86/intel_rdt/mbm: Add mbm counter initialization
x86/intel_rdt/mbm: Handle counter overflow

Documentation/x86/intel_rdt_ui.txt | 316 ++++-
MAINTAINERS | 2 +-
arch/x86/Kconfig | 12 +-
arch/x86/events/intel/Makefile | 2 +-
arch/x86/events/intel/cqm.c | 1766 ---------------------------
arch/x86/include/asm/intel_rdt.h | 286 -----
arch/x86/include/asm/intel_rdt_common.h | 27 -
arch/x86/include/asm/intel_rdt_sched.h | 93 ++
arch/x86/kernel/cpu/Makefile | 2 +-
arch/x86/kernel/cpu/intel_rdt.c | 186 ++-
arch/x86/kernel/cpu/intel_rdt.h | 413 +++++++
arch/x86/kernel/cpu/intel_rdt_ctrlmondata.c | 340 ++++++
arch/x86/kernel/cpu/intel_rdt_monitor.c | 421 +++++++
arch/x86/kernel/cpu/intel_rdt_rdtgroup.c | 1099 ++++++++++++++---
arch/x86/kernel/cpu/intel_rdt_schemata.c | 286 -----
arch/x86/kernel/process_32.c | 2 +-
arch/x86/kernel/process_64.c | 2 +-
include/linux/perf_event.h | 18 -
include/linux/sched.h | 3 +-
kernel/events/core.c | 11 +-
kernel/trace/bpf_trace.c | 2 +-
21 files changed, 2617 insertions(+), 2672 deletions(-)
delete mode 100644 arch/x86/events/intel/cqm.c
delete mode 100644 arch/x86/include/asm/intel_rdt.h
delete mode 100644 arch/x86/include/asm/intel_rdt_common.h
create mode 100644 arch/x86/include/asm/intel_rdt_sched.h
create mode 100644 arch/x86/kernel/cpu/intel_rdt.h
create mode 100644 arch/x86/kernel/cpu/intel_rdt_ctrlmondata.c
create mode 100644 arch/x86/kernel/cpu/intel_rdt_monitor.c
delete mode 100644 arch/x86/kernel/cpu/intel_rdt_schemata.c

--
1.9.1