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

RE: [Xen-ia64-devel] RE: rid virtualization

To: "Matt Chapman" <matthewc@xxxxxxxxxxxxxxx>, "Dong, Eddie" <eddie.dong@xxxxxxxxx>
Subject: RE: [Xen-ia64-devel] RE: rid virtualization
From: "Magenheimer, Dan (HP Labs Fort Collins)" <dan.magenheimer@xxxxxx>
Date: Wed, 7 Sep 2005 09:11:58 -0700
Cc: xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
Delivery-date: Wed, 07 Sep 2005 16:09:51 +0000
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-ia64-devel-request@lists.xensource.com?subject=help>
List-id: Discussion of the ia64 port of Xen <xen-ia64-devel.lists.xensource.com>
List-post: <mailto:xen-ia64-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-ia64-devel>, <mailto:xen-ia64-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-ia64-devel>, <mailto:xen-ia64-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-ia64-devel-bounces@xxxxxxxxxxxxxxxxxxx
Thread-index: AcWymueqKKaz6PF4TBWhPxp4IJBtfwBK3kPw
Thread-topic: [Xen-ia64-devel] RE: rid virtualization
> I think the ideal mangling function would be to reverse the bottom n
> bits of the RID, where n is the number of bits used in the hash (and
> depends on the VHPT size).  Thus consecutive RIDs would result in
> accessing diametrically opposite portions of the VHPT, while 
> consecutive
> VPNs achieve cache locality within the halves.  Further apart 
> processes
> would be progressively more likely to collide, but are also 
> less likely
> to be communicating.
> 
> Unfortunately, Itanium doesn't provide bit-reversal 
> instructions, which
> is why in the Linux long VHPT work I decided to just do 
> byte-reversal on
> the bottom n/8 bytes, to approximate this bit-reversal.  For typical
> VHPT sizes n/8 is around 2.
> 
> Obviously one could write functions that better approximate bit-
> reversal, in the extreme case using a lookup table for each byte or
> nibble, though I'm not sure whether that's worthwhile.

Jim Hull, HP's super-guru on the Itanium instruction set, provided
me with the attached functions (C and assembly) that bit-reverse
a full 64-bit register in 14 cycles.  Perhaps someone would like
to play with this to adapt it to a smaller number of bits?

Dan

Attachment: bitrev64C.c
Description: bitrev64C.c

Attachment: bitrev64.s
Description: bitrev64.s

_______________________________________________
Xen-ia64-devel mailing list
Xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-ia64-devel
<Prev in Thread] Current Thread [Next in Thread>