Re: [RFC -v3 PATCH 2/3] sched: add yield_to function

From: Rik van Riel
Date: Thu Jan 13 2011 - 00:09:36 EST


On 01/12/2011 10:26 PM, Mike Galbraith wrote:
On Wed, 2011-01-12 at 22:02 -0500, Rik van Riel wrote:

Cgroups only makes the matter worse - libvirt places
each KVM guest into its own cgroup, so a VCPU will
generally always be alone on its own per-cgroup, per-cpu
runqueue! That can lead to pulling a VCPU onto our local
CPU because we think we are alone, when in reality we
share the CPU with others...

How can that happen? If the task you're trying to accelerate isn't in
your task group, the whole attempt should be a noop.

Nono, all the VCPUs from the same guest are in the same
cgroup. However, with 4 VCPUs and 4 physical CPUs,
chances are that they're all alone on their own per-cpu,
per-cgroup cfs_rq.

However, each CPU might have other runnable processes in
other cfs_rq sched entities.

--
All rights reversed
--
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/