Example of cputune XML:
<cputune>
<shares>2048</shares>
<vcpupin vcpu='0' cpuset='0-4,^1'/>
<vcpupin vcpu='1' cpuset='1,3'/>
<vcpupin vcpu='2' cpuset='0,2'/>
</cputune>
"shares" is to define the the proportional weighted cpu share
for the domain.
"vcpupin" is to define the cpu affinities of vcpus, it will
not be displayed if one doesn't specify it explicitly in
XML or set the cpu affinites for vcpu via "vcpupin", means
there will be no vcpupin element in domain XML by default,
and the constraints are:
- Error if one specify entries more than the count of maxvcpus.
- Error when one specify entries for same vcpu.
- Error if value of attribute "vcpu" is more than count of
"maxvcpus - 1".
Attribute "cpuset" works same as "cpuset" of element
"vcpu",
reuse the codes for parsing and formating value of "cpuset"
of element "vcpu".
NB, the idea to add persistent XML for "cpushares" is from
"Nikunj A. Dadhania":
https://www.redhat.com/archives/libvir-list/2011-January/msg01183.html
I rebased it and include it together in this patch series.
[PATCH 1/8] cputune: Add xml schema for cputune xml
[PATCH 2/8] cputune: Add document for cputune xml
[PATCH 3/8] cputune: Add data structures presenting cputune xml
[PATCH 4/8] cputune: implementations of parsing and formating cputune xml
[PATCH 5/8] cputune: support cputune for qemu driver
[PATCH 6/8] cputune: support cputune for lxc driver
[PATCH 7/8] cputune: support cputune for xend driver
[PATCH 8/8] cputune: new tests for testing cputune xml