This is a RFC patch to implement l3 CAT. There's old RFC V3 [1] patch, but don't
get any attentions, reason maybe that it's is not a workable one.
I address some of the comments for RFC V2 version from Martin.
1. Add file lock while access /sys/fs/resctrl base on kernel documents [3].
2. Variable renaming.
3. Tested locally to create vm with cachetune defined and works well.
Issues want to get some comments:
I can not pass syntax-check as I reference the cache tune and cachebank
definition (from conf/domain_conf.h). Since I need a complex struct to
pass cachetune and host's cachetune information to resctrl.
I can split patch if it's hard to review. Sorry for inconvient.
Patch was pushed to github [4] for easing read.
[1]
https://www.redhat.com/archives/libvir-list/2017-June/msg00069.html
[2]
https://www.redhat.com/archives/libvir-list/2017-April/msg01466.html
[3]
https://www.kernel.org/doc/Documentation/x86/intel_rdt_ui.txt
[4]
https://github.com/taget/libvirt/commits/cache
Eli Qiao (2):
Resctrl: Add new xml element to support cache tune
Resctrl: Add uitls functions to operate sysfs resctrl
docs/schemas/domaincommon.rng | 54 ++
include/libvirt/virterror.h | 1 +
src/Makefile.am | 1 +
src/conf/domain_conf.c | 131 +++++
src/conf/domain_conf.h | 21 +
src/libvirt_private.syms | 9 +
src/qemu/qemu_process.c | 54 ++
src/util/virerror.c | 1 +
src/util/virresctrl.c | 851 ++++++++++++++++++++++++++++++
src/util/virresctrl.h | 79 +++
tests/Makefile.am | 8 +-
tests/virresctrldata/L3-free.schemata | 1 +
tests/virresctrldata/L3CODE-free.schemata | 1 +
tests/virresctrldata/L3DATA-free.schemata | 1 +
tests/virresctrldata/linux-resctrl | 1 +
tests/virresctrldata/linux-resctrl-cdp | 1 +
tests/virresctrltest.c | 119 +++++
17 files changed, 1333 insertions(+), 1 deletion(-)
create mode 100644 src/util/virresctrl.c
create mode 100644 src/util/virresctrl.h
create mode 100644 tests/virresctrldata/L3-free.schemata
create mode 100644 tests/virresctrldata/L3CODE-free.schemata
create mode 100644 tests/virresctrldata/L3DATA-free.schemata
create mode 120000 tests/virresctrldata/linux-resctrl
create mode 120000 tests/virresctrldata/linux-resctrl-cdp
create mode 100644 tests/virresctrltest.c
--
1.9.1