Then the next step would be creating some helper functions "xm
pincpu-add" so you could add a cpu to
a domain, or "xm pincpu-move" to move a cpu from one domain to another.
In addition you could have
"xm pincpu-lock"/"xm pincpu-unlock" which would only allow one single
domain to access that cpu.
I think the mapping that Ian mentioned was needed for load-balancing
would achieve that, but we certainly could create an interface wrapper,
like lock/unlock that was translated into the correct mapping command.
I am just thinking that maybe if you detail (if you have already not
done so) what you want the end result to
be, than it might be easier to figure out how to implement the lower
level functions more efficiently.
No, this is good things to be talking about. The goal of this patch was
to allow us to pin VCPUs mainly so we can test space-sharing versus
time-sharing of VCPUs. That is, if we have a 4-way SMP box, with two
domUs, each with four VCPUs, what is the perf difference between domUs each
getting 2 physical cpus to run their 4 VCPUs versus domUs having access
to all 4 physical cpus on which to run their 4 VCPUs.