Hi
We are looking to get processor level cache metrics for each running VM.
Does QEMU/KVM (or libvirt) set RMID for tagging processor cache metrics
? How do I find RMID for a particular VM ?
(Once RMID is known, I am assuming we will be able to query the
processor via MSRs to get values)
Any help / pointers will be appreciated.
Thanks
/Jd
Some more context :
https://01.org/blogs/skjain/2014/four-new-virtualization-technologies-latest-intel%C2%AE-xeon-are-you-ready-innovate
*Cache Monitoring Technology (CMT)* - allows flexible real time
monitoring of the last level cache (LLC) occupancy on per core, per
thread, per application or per VM basis. Read the raw value from the
IA32_QM_CTR register, multiply by a factor given in the CPUID field
CPUID.0xF.1:EBX to convert to bytes, and voila! This monitoring can be
quite useful in detecting the cache hungry “noisy neighbors,”
characterizing the quiet threads, profiling the workloads in
multi-tenancy environments, advancing cache-aware scheduling and/or all
of the above. Based on the CMT readings, schedulers can take subsequent
intelligent actions to move and balance the loads to meet any service
level agreement (SLA) in a policy driven manner. Intel® 64 and IA-32
Architectures Software Developer’s Manual (SDM) volume-3 chapter-17.14
provides the CMT programming details. CMT reference code is also
available for evaluation under BSD license. For commercial use, please
use the CMT cgroup and perf monitoring code being upstreamed for Linux,
and both KVM and Xen.