Messages in this thread | | | Date | Thu, 13 Jan 2011 00:08:58 -0500 | From | Rik van Riel <> | Subject | Re: [RFC -v3 PATCH 2/3] sched: add yield_to function |
| |
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
| |