Intel Cache Quality Monitoring Gets Rewritten For Linux 4.14
Intel Cache Quality Monitoring (CQM) has been present in recent Intel Xeon CPUs as a way to allow a process or processes to be tracked for their CPU cache usage. This is part of Intel's modern quality of service (QoS) features for helping developers fully leverage modern Intel CPU architectures. With Linux 4.14, CQM has gone through a rework.
The Cache Quality Monitoring code for the Linux kernel has been reworked to live within the Resource Director Technology (RDT) area. This unifies the Intel CPU monitoring mechanisms and provides now a consistent interface for targeting. Resource Director Technology is Intel's means of exposing last-level cache (LLC), memory bandwidth usage, and other shared resources being consumed by processes on the system. More details on RDT via Intel.com.
Now with Linux 4.14, the CQM code has been cleaned up and part of the Linux kernel's RDT code. CQM/RDT is indicated on supported systems by rdt/cqm/cat_13/cdp_13 flags within /proc/cpuinfo.
Thomas Gleixner explained of this CQM rework in This pull request for the 4.14 merge window:
The RDT Linux kernel interface is documented here.
The Cache Quality Monitoring code for the Linux kernel has been reworked to live within the Resource Director Technology (RDT) area. This unifies the Intel CPU monitoring mechanisms and provides now a consistent interface for targeting. Resource Director Technology is Intel's means of exposing last-level cache (LLC), memory bandwidth usage, and other shared resources being consumed by processes on the system. More details on RDT via Intel.com.
Now with Linux 4.14, the CQM code has been cleaned up and part of the Linux kernel's RDT code. CQM/RDT is indicated on supported systems by rdt/cqm/cat_13/cdp_13 flags within /proc/cpuinfo.
Thomas Gleixner explained of this CQM rework in This pull request for the 4.14 merge window:
This update provides a complete rewrite of the Cache Quality Monitoring (CQM) facility.
The existing CQM support was duct taped into perf with a lot of issues and the attempts to fix those turned out to be incomplete and horrible.
After lengthy discussions it was decided to integrate the CQM support into the Resource Director Technology (RDT) facility, which is the obvious choise as in hardware CQM is part of RDT. This allowed to add Memory Bandwidth Monitoring support on top.
As a result the mechanisms for allocating cache/memory bandwidth and the corresponding monitoring mechanisms are integrated into a single management facility with a consistent user interface.
The RDT Linux kernel interface is documented here.
1 Comment