linux/arch/x86/kernel/cpu
Vikas Shivappa c7d9aac613 x86/intel_rdt/cqm: Add mkdir support for RDT monitoring
Resource control groups can be created using mkdir in resctrl
fs(rdtgroup). In order to extend the resctrl interface to support
monitoring the control groups, extend the current mkdir to support
resource monitoring also.

This allows the rdtgroup created under the root directory to be able to
both control and monitor resources (ctrl_mon group). The ctrl_mon groups
are associated with one CLOSID like the legacy rdtgroups and one
RMID(Resource monitoring ID) as well. Hardware uses RMID to track the
resource usage. Once either of the CLOSID or RMID are exhausted, the
mkdir fails with -ENOSPC. If there are RMIDs in limbo list but not free
an -EBUSY is returned. User can also monitor a subset of the ctrl_mon
rdtgroup's tasks/cpus using the monitor groups. The monitor groups are
created using mkdir under the "mon_groups" directory in every ctrl_mon
group.

[Merged Tony's code: Removed a lot of common mkdir code, a fix to handling
of the list of the child rdtgroups and some cleanups in list
traversal. Also the changes to have similar alloc and free for CLOS/RMID
and return -EBUSY when RMIDs are in limbo and not free]

Signed-off-by: Tony Luck <tony.luck@intel.com>
Signed-off-by: Vikas Shivappa <vikas.shivappa@linux.intel.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: ravi.v.shankar@intel.com
Cc: fenghua.yu@intel.com
Cc: peterz@infradead.org
Cc: eranian@google.com
Cc: vikas.shivappa@intel.com
Cc: ak@linux.intel.com
Cc: davidcc@google.com
Cc: reinette.chatre@intel.com
Link: http://lkml.kernel.org/r/1501017287-28083-14-git-send-email-vikas.shivappa@linux.intel.com
2017-08-01 22:41:23 +02:00
..
mcheck x86/mce: Always save severity in machine_check_poll() 2017-06-26 15:58:56 +02:00
microcode x86/microcode: Make a couple of symbols static 2017-06-26 15:57:37 +02:00
mtrr x86/mtrr: Remove get_online_cpus() from mtrr_save_state() 2017-05-26 10:10:38 +02:00
.gitignore
amd.c x86/cpu: Use indirect call to measure performance in init_amd_k6() 2017-07-16 11:05:04 +02:00
aperfmperf.c x86: use common aperfmperf_khz_on_cpu() to calculate KHz using APERF/MPERF 2017-06-27 01:47:32 +02:00
bugs.c x86: use set_memory.h header 2017-05-08 17:15:13 -07:00
centaur.c Merge branch 'x86-boot-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2017-05-01 20:51:12 -07:00
common.c x86/cpu: remove hypervisor specific set_cpu_features 2017-05-02 11:14:30 +02:00
cpu.h
cyrix.c x86/cpu/cyrix: Add alternative Device ID of Geode GX1 SoC 2017-06-05 08:34:20 +02:00
hypervisor.c x86/cpu: remove hypervisor specific set_cpu_features 2017-05-02 11:14:30 +02:00
intel.c x86/arch_prctl: Add ARCH_[GET|SET]_CPUID 2017-03-20 16:10:34 +01:00
intel_cacheinfo.c sched/headers: Prepare to remove <linux/cred.h> inclusion from <linux/sched.h> 2017-03-02 08:42:31 +01:00
intel_rdt.c x86/intel_rdt: Simplify info and base file lists 2017-08-01 22:41:22 +02:00
intel_rdt.h x86/intel_rdt/cqm: Add mkdir support for RDT monitoring 2017-08-01 22:41:23 +02:00
intel_rdt_monitor.c x86/intel_rdt/cqm: Add RMID (Resource monitoring ID) management 2017-08-01 22:41:21 +02:00
intel_rdt_rdtgroup.c x86/intel_rdt/cqm: Add mkdir support for RDT monitoring 2017-08-01 22:41:23 +02:00
intel_rdt_schemata.c x86/intel_rdt: Cleanup namespace to support RDT monitoring 2017-08-01 22:41:20 +02:00
Makefile x86/intel_rdt/cqm: Add RDT monitoring initialization 2017-08-01 22:41:21 +02:00
match.c
mkcapflags.sh
mshyperv.c x86/hyperv: Read TSC frequency from a synthetic MSR 2017-06-22 15:35:12 +02:00
perfctr-watchdog.c
powerflags.c
proc.c x86: do not use cpufreq_quick_get() for /proc/cpuinfo "cpu MHz" 2017-06-24 01:45:47 +02:00
rdrand.c
scattered.c x86/intel_rdt/mba: Memory bandwith allocation feature detect 2017-04-14 16:10:07 +02:00
topology.c
transmeta.c Merge branch 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2017-03-07 14:42:34 -08:00
umc.c
vmware.c vmware: set cpu capabilities during platform initialization 2017-05-02 11:14:24 +02:00