The series mainly adds Intel CMT feature support into libvirt. CMT is
new introduced PQos (Platform Qos) feature to monitor the usage of
cache by applications running on the platform.
Currently CMT patches has been merged into Linux kernel mainline.
The CMT implementation in Linux kernel is based on perf mechanism and
there is no support for perf in libvirt, and so this series firstly
add perf support into libvirt, including two public API and a set of
util interfaces. And based on these APIs and interfaces, thie series
implements CMT perf event support.
TODO:
1. This series relys on keeping an open file descriptor for the guest.
We should add one patch to call sys_perf_event_open again iff libvirtd
is restarted.
Qiaowei Ren (8):
perf: add new public APIs for perf event
perf: define internal driver API for perf event
perf: implement the public APIs for perf event
perf: implement the remote protocol for perf event
perf: implement a set of util functions for perf event
qemu_driver: add support to perf event
virsh: extend domstats command
virsh: implement new command to support perf
daemon/remote.c | 60 +++++++++++
include/libvirt/libvirt-domain.h | 19 ++++
include/libvirt/virterror.h | 2 +
src/Makefile.am | 1 +
src/driver-hypervisor.h | 12 +++
src/libvirt-domain.c | 106 +++++++++++++++++++
src/libvirt_private.syms | 8 ++
src/libvirt_public.syms | 6 ++
src/qemu/qemu_domain.h | 3 +
src/qemu/qemu_driver.c | 181 +++++++++++++++++++++++++++++++
src/qemu/qemu_process.c | 6 ++
src/remote/remote_driver.c | 49 +++++++++
src/remote/remote_protocol.x | 32 +++++-
src/remote_protocol-structs | 20 ++++
src/util/virerror.c | 2 +
src/util/virperf.c | 222 +++++++++++++++++++++++++++++++++++++++
src/util/virperf.h | 60 +++++++++++
tools/virsh-domain-monitor.c | 7 ++
tools/virsh-domain.c | 139 ++++++++++++++++++++++++
tools/virsh.pod | 15 ++-
20 files changed, 947 insertions(+), 3 deletions(-)
create mode 100644 src/util/virperf.c
create mode 100644 src/util/virperf.h
--
1.9.1