[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-users] Floating Processors

On Wed, 18 Apr 2007, Dylan Martin wrote:
If the CPUs are "floating" as opposed to "pinned", it's possible for a
busy VM to use all the available processors if the other VMs are idle,


this "sharing all cpu" you describe is only possible if all physical cpus are mapped into all domains:

e.g. on a 4CPU box, on each DomU, you need to add vcpus=4 to your Dom0 config file.

E.G., if I have 4 CPUs and 3 VMs and none of my CPUs are pinned, and
one of my VMs is compiling a kernel while the other two are idle, the
busy kernel-compiling VM will use all 4 CPUs, right?  It won't be
limted to only 2 or something, right?

depends on the vcpus= value in your xm config file; by default each domain is limited to 1 vcpu (which is mapped to 1 and only 1 physical cpu) this means if you have one busy domain and 8 idle domains on a 8 core box, one cpu will be pegged, and the other 7 will be idle.

I'm curious because I've noticed a few people and documents mention
pinning one cpu to each VM.

I assume is is because they don't want a situation where a
low-priority but high-processor-usage task on one VM causes another VM
with a sporadic but high-priority job to hang out waiting for the
low-prioroty job to finish.

That problem can be solved by weighting; I believe the point of pinning one cpu to one and only one DomU is to minimize context switching; obviously, when one DomU is done with a cpu and the next is scheduled to run, the registers and such need to be saved and restored to the state that the next domain expects. this costs time, and is not required if you have a 1:1 pcpu:vcpu ratio.

Xen-users mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.