Re: [RFC -v3 PATCH 0/3] directed yield for Pause Loop Exiting

From: Avi Kivity
Date: Tue Jan 04 2011 - 04:09:45 EST


On 01/04/2011 08:42 AM, Mike Galbraith wrote:
A couple questions.

On Mon, 2011-01-03 at 16:26 -0500, Rik van Riel wrote:
> When running SMP virtual machines, it is possible for one VCPU to be
> spinning on a spinlock, while the VCPU that holds the spinlock is not
> currently running, because the host scheduler preempted it to run
> something else.

Do you have any numbers?

If I were to, say, run a 256 CPU VM on my quad, would this help me get
more hackbench or whatever oomph from my (256X80386/20:) box?

First of all, you can't run 256 guests on x86 kvm. Second, you'll never see better performance when you overcommit. What this patchset does is reduce the degradation from utterly ridiculous to something manageable. This allows a host to deliver reasonable performance when overcommitted vcpus are actually used, but it's not a good idea to run 64 vcpus on a 32 cpu host.

> Both Intel and AMD CPUs have a feature that detects when a virtual
> CPU is spinning on a lock and will trap to the host.

Does an Intel Q6600 have this trap gizmo (iow will this do anything at
all for my little box if I were to try it out).

Likely not. Run http://git.kernel.org/?p=virt/kvm/qemu-kvm.git;a=blob_plain;f=kvm/scripts/vmxcap;hb=HEAD, look for 'PAUSE-loop exiting'. I think the first processors to include them were the Nehalem-EXs, and Westmeres have them as well.

--
error compiling committee.c: too many arguments to function

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/