WARNING - OLD ARCHIVES

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/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-changelog

[Xen-changelog] [xen-unstable] xend: Fix bug of cpu affinity/ vcpu pin u

To: xen-changelog@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-changelog] [xen-unstable] xend: Fix bug of cpu affinity/ vcpu pin under ia32pae
From: Xen patchbot-unstable <patchbot-unstable@xxxxxxxxxxxxxxxxxxx>
Date: Tue, 30 Mar 2010 10:40:17 -0700
Delivery-date: Tue, 30 Mar 2010 10:40:23 -0700
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 Keir Fraser <keir.fraser@xxxxxxxxxx>
# Date 1269970299 -3600
# Node ID ebd84be3420a4453b3024d3378d8d84b81f44118
# Parent  1ee6dd3152aab8c047755598e83e094cebf0effc
xend: Fix bug of cpu affinity/ vcpu pin under ia32pae

c/s 21040 and 21044 used to break cpu number limit (<=64).
However, they result in bug under ia32pae model:
1. things will go wrong for affinity, making all vcpus pin to a same
cpu with same time;
2. when 'xm vcpu-pin' vpu to cpu, xend will exit abnormally.

This patch is to fix the bugs described above.

Signed-off-by: Xu, Jiajun <jiajun.xu@xxxxxxxxx>
Signed-off-by: Zhang, Jianwu <jianwu.zhang@xxxxxxxx>
Signed-off-by: Liu, Jinsong <jinsong.liu@xxxxxxxxx>
---
 tools/python/xen/lowlevel/xc/xc.c |   12 ++++--------
 1 files changed, 4 insertions(+), 8 deletions(-)

diff -r 1ee6dd3152aa -r ebd84be3420a tools/python/xen/lowlevel/xc/xc.c
--- a/tools/python/xen/lowlevel/xc/xc.c Tue Mar 30 18:30:30 2010 +0100
+++ b/tools/python/xen/lowlevel/xc/xc.c Tue Mar 30 18:31:39 2010 +0100
@@ -218,8 +218,7 @@ static PyObject *pyxc_vcpu_setaffinity(X
     uint64_t  *cpumap;
     PyObject *cpulist = NULL;
     int nr_cpus, size;
-    xc_physinfo_t info; 
-    xc_cpu_to_node_t map[1];
+    xc_physinfo_t info = {0}; 
     uint64_t cpumap_size = sizeof(*cpumap); 
 
     static char *kwd_list[] = { "domid", "vcpu", "cpumap", NULL };
@@ -228,8 +227,6 @@ static PyObject *pyxc_vcpu_setaffinity(X
                                       &dom, &vcpu, &cpulist) )
         return NULL;
 
-    set_xen_guest_handle(info.cpu_to_node, map);
-    info.max_cpu_id = 1;
     if ( xc_physinfo(self->xc_handle, &info) != 0 )
         return pyxc_error_to_exception();
   
@@ -381,7 +378,6 @@ static PyObject *pyxc_vcpu_getinfo(XcObj
     uint64_t *cpumap;
     int nr_cpus, size;
     xc_physinfo_t pinfo = { 0 };
-    xc_cpu_to_node_t map[1];
     uint64_t cpumap_size = sizeof(*cpumap);
 
     static char *kwd_list[] = { "domid", "vcpu", NULL };
@@ -390,18 +386,18 @@ static PyObject *pyxc_vcpu_getinfo(XcObj
                                       &dom, &vcpu) )
         return NULL;
 
-    set_xen_guest_handle(pinfo.cpu_to_node, map);
-    pinfo.max_cpu_id = 1;
     if ( xc_physinfo(self->xc_handle, &pinfo) != 0 ) 
         return pyxc_error_to_exception();
     nr_cpus = pinfo.nr_cpus;
+
     rc = xc_vcpu_getinfo(self->xc_handle, dom, vcpu, &info);
     if ( rc < 0 )
         return pyxc_error_to_exception();
+
     size = (nr_cpus + cpumap_size * 8 - 1)/ (cpumap_size * 8); 
-
     if((cpumap = malloc(cpumap_size * size)) == NULL)
         return pyxc_error_to_exception(); 
+    memset(cpumap, 0, cpumap_size * size);
 
     rc = xc_vcpu_getaffinity(self->xc_handle, dom, vcpu, cpumap, cpumap_size * 
size);
     if ( rc < 0 )

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog

<Prev in Thread] Current Thread [Next in Thread>
  • [Xen-changelog] [xen-unstable] xend: Fix bug of cpu affinity/ vcpu pin under ia32pae, Xen patchbot-unstable <=