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-devel

Re: [Xen-devel] [Patch] adjust the cpu-affinity to more than 64 cpus

To: "James Song" <JSong@xxxxxxxxxx>
Subject: Re: [Xen-devel] [Patch] adjust the cpu-affinity to more than 64 cpus
From: "Jan Beulich" <JBeulich@xxxxxxxxxx>
Date: Wed, 17 Mar 2010 09:25:04 +0000
Cc: xen-devel@xxxxxxxxxxxxxxxxxxx
Delivery-date: Wed, 17 Mar 2010 02:25:45 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <27928229.post@xxxxxxxxxxxxxxx>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
References: <27928229.post@xxxxxxxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
>>> "James (song wei)" <jsong@xxxxxxxxxx> 17.03.10 09:56 >>>
>--- a/tools/python/xen/lowlevel/xc/xc.c        Mon Mar 15 17:08:29 2010 +0000
>+++ b/tools/python/xen/lowlevel/xc/xc.c        Wed Mar 17 16:51:07 2010 +0800
>@@ -215,35 +215,54 @@
> {
>     uint32_t dom;
>     int vcpu = 0, i;
>-    uint64_t  cpumap = ~0ULL;
>+    uint64_t  *cpumap;
>     PyObject *cpulist = NULL;
>+    int nr_cpus, size;
>+    xc_physinfo_t info; 
>+    xc_cpu_to_node_t map[1];
>+    uint64_t cpumap_size = sizeof(cpumap); 

Perhaps sizeof(*cpumap)?

>...
>+            *(cpumap + cpu / (cpumap_size * 8)) |= (uint64_t)1 << (cpu %
(cpumap_size * 8));

Using [] here and in similar places further down would likely make these
constructs a little bit more legible.

>@@ -362,7 +381,11 @@
>     uint32_t dom, vcpu = 0;
>     xc_vcpuinfo_t info;
>     int rc, i;
>-    uint64_t cpumap;
>+    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);

Same as above.
 
>@@ -385,17 +421,18 @@
>                               "cpu",      info.cpu);
> 
>     cpulist = PyList_New(0);
>-    for ( i = 0; cpumap != 0; i++ )
>+    for ( i = 0; i < size * cpumap_size * 8; i++ )

Why not simply use nr_cpus here?

Jan


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