These are pretty rough patches, something like a draft, I beleive
there must be many problems, please review it heavily, :-)
New 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/6] cputune: new tests for testing cputune xml
[PATCH 2/6] cputune: support cputune for xend driver
[PATCH 3/6] cputune: support cputune for qemu driver
[PATCH 4/6] cputune: support cputune xml for LXC driver
[PATCH 5/6] cputune: support cputune xml config
[PATCH 6/6] cputune: Add docs xml schema for cputune xml