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

Rik van Riel
2011-01-13T05:09:20Z

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