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][resend] implementation of cpupool support in xl

To: Ian Campbell <Ian.Campbell@xxxxxxxxxx>
Subject: Re: [Xen-devel] [Patch][resend] implementation of cpupool support in xl
From: Juergen Gross <juergen.gross@xxxxxxxxxxxxxx>
Date: Wed, 15 Sep 2010 10:45:43 +0200
Cc: "xen-devel@xxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxx>
Delivery-date: Wed, 15 Sep 2010 01:46:25 -0700
Dkim-signature: v=1; a=rsa-sha256; c=simple/simple; d=ts.fujitsu.com; i=juergen.gross@xxxxxxxxxxxxxx; q=dns/txt; s=s1536b; t=1284540349; x=1316076349; h=message-id:date:from:mime-version:to:cc:subject: references:in-reply-to:content-transfer-encoding; z=Message-ID:=20<4C9087B7.4090205@xxxxxxxxxxxxxx>|Date:=20 Wed,=2015=20Sep=202010=2010:45:43=20+0200|From:=20Juergen =20Gross=20<juergen.gross@xxxxxxxxxxxxxx>|MIME-Version: =201.0|To:=20Ian=20Campbell=20<Ian.Campbell@xxxxxxxxxx> |CC:=20"xen-devel@xxxxxxxxxxxxxxxxxxx"=20<xen-devel@lists .xensource.com>|Subject:=20Re:=20[Xen-devel]=20[Patch][re send]=20implementation=20of=20cpupool=20support=0D=0A=20i n=20xl|References:=20<4C907510.3070904@xxxxxxxxxxxxxx>=20 <1284539351.14311.18361.camel@xxxxxxxxxxxxxxxxxxxxxx> |In-Reply-To:=20<1284539351.14311.18361.camel@xxxxxxxxxxx nsource.com>|Content-Transfer-Encoding:=207bit; bh=gOgZVs8dh023/BHTOthj+QhT7ROymN3/RN5Gt4ZOTqw=; b=bKrd+72hHyLaW3NkyzIs12yxhn1gQGhbg04CqdTsebMwZXfrG7+iBhh0 vXBDS3M+E+BbeXMTfsdHrHA8+2D5SIkvy86MekytgOd4EBhNeLOTVJFeF yvbJ7FPaNkcmLFybihjLgSEpstCXPvZCgmL0vwgtvBTYNIJ34vCeOaKPW klWAbcBHFgucEmmG/HvHqwRkX9tS9lR8KgHjbh98mzSnJdQa9iE2Mvc+M uNgld6A3xijkKFcxmIGPaaLbZXZqD;
Domainkey-signature: s=s1536a; d=ts.fujitsu.com; c=nofws; q=dns; h=X-SBRSScore:X-IronPort-AV:Received:X-IronPort-AV: Received:Received:Message-ID:Date:From:Organization: User-Agent:MIME-Version:To:CC:Subject:References: In-Reply-To:Content-Type:Content-Transfer-Encoding; b=UJkuAlF+c9lclxnsMsuVZHQ/7vmH1ynskpJlB5DUJmxdd2g6eKvkRGhb LBcAqhjhei0DHuP/VbIsZqPVkq6DtI8JGvKgLZzobo2BpdTGH0Ms6gzN2 X7rDIXcqWgGV+fKSkWZ//WCvab3yQsGQsqWu/NYx6KLCJEtPchA+cQ3m4 X3Lw1OH+USnJ8xzewKv7joviIc8nxJaMYjjWrkCBDu92b1NpocwsWY8MA p1RqmEwM+ydQQ1g7LoZxQwnivb+ut;
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <1284539351.14311.18361.camel@xxxxxxxxxxxxxxxxxxxxxx>
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>
Organization: Fujitsu Technology Solutions
References: <4C907510.3070904@xxxxxxxxxxxxxx> <1284539351.14311.18361.camel@xxxxxxxxxxxxxxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.11) Gecko/20100805 Iceowl/1.0b1 Icedove/3.0.6
On 09/15/10 10:29, Ian Campbell wrote:
On Wed, 2010-09-15 at 08:26 +0100, Juergen Gross wrote:
diff -r 3985fea87987 tools/libxl/libxl.idl
--- a/tools/libxl/libxl.idl     Fri Sep 10 19:06:33 2010 +0100
+++ b/tools/libxl/libxl.idl     Wed Sep 15 09:19:02 2010 +0200
@@ -43,7 +43,11 @@ SHUTDOWN_* constant."""),
      ], destructor_fn=None)

  libxl_poolinfo = Struct("poolinfo", [
-    ("poolid", uint32)
+    ("poolid",      uint32),
+    ("sched_id",    uint32),
+    ("n_dom",       uint32),
+    ("cpumap_size", uint32),
+    ("cpumap",      libxl_cpumap)
      ], destructor_fn=None)

  libxl_vminfo = Struct("vminfo", [

Does the addition of the cpumap field here mean that we now need to
generate a destructor function (by removing destructor_fn=None) and call
it e.g. from main_pool*?

I took care of this by allocating the space for the cpumap(s) together with
the poolinfo structure(s).
If you don't like this, a destructor would be the correct solution, I think.

Would it make sense to turn libxl_cpumap into a struct containing both
the size and the data pointer?

IMO this would make sense. You ALWAYS need the size of a cpumap to handle it
correctly.


diff -r 3985fea87987 tools/libxl/libxl.h
--- a/tools/libxl/libxl.h       Fri Sep 10 19:06:33 2010 +0100
+++ b/tools/libxl/libxl.h       Wed Sep 15 09:19:02 2010 +0200
@@ -471,6 +471,15 @@ int libxl_device_net2_del(libxl_ctx *ctx
  int libxl_device_net2_del(libxl_ctx *ctx, libxl_device_net2 *net2,
                            int wait);

+int libxl_get_freecpus(libxl_ctx *ctx, int *n_cpus, uint64_t **cpumap);
+int libxl_create_cpupool(libxl_ctx *ctx, char *name, int schedid,
+                         uint64_t *cpumap, int n_cpus, libxl_uuid *uuid,
+                         uint32_t *poolid);

Should these cpumap parameters be libxl_cpumap* or are they a different sort of 
cpumap?

You are right, these should be libxl_cpumap.
I'll update the patch. It would be nice to know whether you are planning to
change libxl_cpumap to include the size or not.


Juergen

--
Juergen Gross                 Principal Developer Operating Systems
TSP ES&S SWE OS6                       Telephone: +49 (0) 89 3222 2967
Fujitsu Technology Solutions              e-mail: juergen.gross@xxxxxxxxxxxxxx
Domagkstr. 28                           Internet: ts.fujitsu.com
D-80807 Muenchen                 Company details: ts.fujitsu.com/imprint.html

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