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: [RFC] Re: [Xen-devel] [PATCH] fix xenctl_cpumap translation to handl

To: Jimi Xenidis <jimix@xxxxxxxxxxxxxx>, Keir Fraser <keir@xxxxxxxxxxxxx>
Subject: Re: [RFC] Re: [Xen-devel] [PATCH] fix xenctl_cpumap translation to handle bitops accessed like arrays
From: Keir Fraser <keir@xxxxxxxxxxxxx>
Date: Wed, 17 Jan 2007 12:20:49 +0000
Cc: xen-devel@xxxxxxxxxxxxxxxxxxx
Delivery-date: Wed, 17 Jan 2007 04:20:29 -0800
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
In-reply-to: <t16k5zmpn8k.fsf@xxxxxxxxx>
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/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
Thread-index: Acc6Mev3KtINeqYlEduIGwAX8io7RQ==
Thread-topic: [RFC] Re: [Xen-devel] [PATCH] fix xenctl_cpumap translation to handle bitops accessed like arrays
User-agent: Microsoft-Entourage/11.2.5.060620
On 16/1/07 23:26, "Jimi Xenidis" <jimix@xxxxxxxxxxxxxx> wrote:

> Sorry for taking so long with this, please comment on the following:
> 
> The following patch adds the ability to convert form "long" based
> bitmaps to "byte" base bitmaps for portability. This is only has the
> hypervisor side, but the definitions are such that the same prototype
> can be use by XC and Xen.
> 
> Sadly it adds a copy on the xenctl_cpumap_to_cpumask(), but it minimally
> impacts the common paths.

Fine interface. On the Xen side the prototypes should go in xen/bitmap.h and
the implementations in common/bitmap.c. I've added the Linux byteorder
functions so in bitmap.c you ifdef on __BIG_ENDIAN and then use le32_to_cpu
or le64_to_cpu (depending on BITS_PER_LONG). There's a question over whether
we should do this transformation in-place on the bitmap, or use the copying
semantics that you've chosen. I guess the latter is cleaner. Actually, your
'no-op' long_to_byte_bitmap() implementation does not memcpy -- why is that?

On the guest side you'll need to dup the function prototypes and
implementations in libxenctrl. Trying to share prototypes or anything via
the public headers is just skanky. Add a comment to xenctl_cpumap to explain
the format (explain it is 'little endian' or 'byte oriented' with an ascii
diagram) and leave it at that.

 -- Keir


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