This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
Home Products Support Community News


[Xen-changelog] [xen-unstable] Cpupools: vcpu affinity handling

To: xen-changelog@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-changelog] [xen-unstable] Cpupools: vcpu affinity handling
From: Xen patchbot-unstable <patchbot@xxxxxxx>
Date: Fri, 11 Feb 2011 06:20:14 -0800
Delivery-date: Fri, 11 Feb 2011 06:21:50 -0800
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-changelog-request@lists.xensource.com?subject=help>
List-id: BK change log <xen-changelog.lists.xensource.com>
List-post: <mailto:xen-changelog@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=unsubscribe>
Reply-to: xen-devel@xxxxxxxxxxxxxxxxxxx
Sender: xen-changelog-bounces@xxxxxxxxxxxxxxxxxxx
# HG changeset patch
# User Juergen Gross <juergen.gross@xxxxxxxxxxxxxx>
# Date 1297328570 0
# Node ID 19b2424be183b392daa12364bbde4f9bcb0edaae
# Parent  1967c7c290ebc6caf29cd3124facc47370c102a3
Cpupools: vcpu affinity handling

If a vcpu is pinned to multiple physical cpus, the pinning is not
removed if all those physical cpus are removed from the cpupool. When
disabling the scheduler on a cpu, the affinity mask must be checked
against the cpumask of the cpupool.

Signed-off-by: Juergen Gross <juergen.gross@xxxxxxxxxxxxxx>
 xen/common/schedule.c |    4 +++-
 1 files changed, 3 insertions(+), 1 deletion(-)

diff -r 1967c7c290eb -r 19b2424be183 xen/common/schedule.c
--- a/xen/common/schedule.c     Wed Feb 09 12:03:09 2011 +0000
+++ b/xen/common/schedule.c     Thu Feb 10 09:02:50 2011 +0000
@@ -466,6 +466,7 @@ int cpu_disable_scheduler(unsigned int c
     struct domain *d;
     struct vcpu *v;
     struct cpupool *c;
+    cpumask_t online_affinity;
     int    ret = 0;
     bool_t affinity_broken;
@@ -484,7 +485,8 @@ int cpu_disable_scheduler(unsigned int c
-            if ( (cpus_weight(v->cpu_affinity) == 1) &&
+            cpus_and(online_affinity, v->cpu_affinity, c->cpu_valid);
+            if ( cpus_empty(online_affinity) &&
                  cpu_isset(cpu, v->cpu_affinity) )
                 printk("Breaking vcpu affinity for domain %d vcpu %d\n",

Xen-changelog mailing list

<Prev in Thread] Current Thread [Next in Thread>
  • [Xen-changelog] [xen-unstable] Cpupools: vcpu affinity handling, Xen patchbot-unstable <=