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] linux/x86: convert 'cpu' (and a few other)variab

To: "Jan Beulich" <jbeulich@xxxxxxxxxx>
Subject: Re: [Xen-devel] [PATCH] linux/x86: convert 'cpu' (and a few other)variables to unsigned
From: Ian Jackson <Ian.Jackson@xxxxxxxxxxxxx>
Date: Fri, 18 Jan 2008 16:36:19 +0000
Cc: xen-devel@xxxxxxxxxxxxxxxxxxx
Delivery-date: Fri, 18 Jan 2008 08:38:48 -0800
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
In-reply-to: <4790E195.76E4.0078.0@xxxxxxxxxx>
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>
References: <4790DC8F.76E4.0078.0@xxxxxxxxxx> <18320.53497.157752.151108@xxxxxxxxxxxxxxxxxxxxxxxx> <4790E195.76E4.0078.0@xxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
Jan Beulich writes ("Re: [Xen-devel] [PATCH] linux/x86: convert 'cpu' (and a 
few other)variables to unsigned"):
> When signed int is used as array index or in pointer arithmetic, the
> compiler has to insert an explicit, unconditional sign extension
> operation, whereas in many cases zero extension is implicit by
> preceding operations or can be done with a 32-bit move (which
> doesn't require a REX prefix and thus results in [statisitically] 
> half a byte shorter instructions).

Oh dear.  That really is very unfortunate.

> >Normally it's IMO best practice to avoid `unsigned' other than for
> >bitfields, clock arithmetic, and the like, because the behaviour of
> >unsigned in the presence of subtraction and comparision is often
> >surprising.
> 
> I would disagree here, but it's certainly a personal thing what's
> considered surprising.

Indeed.

> Regardless of this personal aspect, the x86 Linux maintainers are
> actively doing the same thing (or are respectively asking for it to
> be done).

I suppose so.

I'm just not looking forward to all of the bugs of the form
    if (cpus-1 < some_number_of_cpus) ...
and the like.

Ian.

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

<Prev in Thread] Current Thread [Next in Thread>