[RFC PATCH 0/3] x86: Add Cache QoS Monitoring (CQM) support

From: Peter P Waskiewicz Jr
Date: Thu Dec 26 2013 - 16:35:13 EST

RFC: This is a work-in-progress patchset. Looking for general
feedback on the approach and design of this changeset, especially
since this is adding a new cgroup subsystem to present the data
from this CPU feature.

This patchset adds support for the new Cache QoS Monitoring (CQM)
feature found in future Intel Xeon processors.

CQM allows a process, or set of processes, to be tracked by the CPU
to determine the cache usage of that task group. Using this data
from the CPU, software can be written to extract this data and
report cache usage and occupancy for a particular process, or
group of processes.

More information about Cache QoS Monitoring can be found in the
Intel (R) x86 Architecture Software Developer Manual, section 17.14.

This series is also laying the framework for additional Platform
QoS features in future Intel Xeon processors.

The CPU features themselves are relatively straight-forward, but
the presentation of the data is less straight-forward. Since this
tracks cache usage and occupancy per process (by swapping Resource
Monitor IDs, or RMIDs, when processes are rescheduled), perf would
not be a good fit for this data, which does not report on a
per-process level. Therefore, a new cgroup subsystem, cacheqos, has
been added. This operates very similarly to the cpu and cpuacct
cgroup subsystems, where tasks can be grouped into sub-leaves of the
root-level cgroup.

Peter P Waskiewicz Jr (3):
x86: Add support for Cache QoS Monitoring (CQM) detection
x86: Add Cache QoS Monitoring support to x86 perf uncore
cgroup: Add new cacheqos cgroup subsys to support Cache QoS Monitoring
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/