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: "Magenheimer, Dan (HP Labs Fort Collins)" <dan.magenheimer@xxxxxx>
Subject: Re: [Xen-ia64-devel] RE: rid virtualization
From: Matt Chapman <matthewc@xxxxxxxxxxxxxxx>
Date: Tue, 6 Sep 2005 10:09:08 +1000
Cc: xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
Delivery-date: Tue, 06 Sep 2005 00:07:04 +0000
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <516F50407E01324991DD6D07B0531AD56956C6@xxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
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>
References: <516F50407E01324991DD6D07B0531AD56956C6@xxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
Sender: xen-ia64-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Mutt/1.5.9i
On Mon, Sep 05, 2005 at 07:59:59AM -0700, Magenheimer, Dan (HP Labs Fort 
Collins) wrote:
> > > This seems very counter-intuitive.  What is the hardware hash
> > > algorithm? Surely there is a way to "mangle" rid bits to match this
> > > algorithm and use more of the VHPT?
> 
> > The hardware hash algrorithm is not public and is 
> > implementation specific,
> 
> The algorithm for Itanium2 seems to be here (see #8):
> http://www.gelato.unsw.edu.au/IA64wiki/ItaniumInternals
> If this is correct, the current mangling algorithm seems
> like it should work.  I wonder if the virtual addresses
> used by Linux are counteracting it?

The same algorithm (VPN xor RID) is used by both Itanium 1
and Itanium 2, and I imagine Montecito will follow suit,
though I don't have access to a Montecito box yet.  I think
it's fair enough to tune the implementation assuming this.

> I don't have access to HP-UX source but will see if I can
> find out.  Also, there has been a LVHPT implementation on
> Linux... perhaps the UNSW folks have some insight into this?

We use a similar mangling algorithm on Linux, but switching the
bottom two bytes.  IMHO this is better than switching first and
third, because the third byte is not really used for hashing
unless your VHPT is very big.  Do you know which HP-UX does?
(1/3 or 1/2?)

#define redistribute_rid(rid)   (((rid) & ~0xffff) | (((rid) << 8) & 0xff00) | 
(((rid) >> 8) & 0xff))

There is significant improvement over not doing the mangling,
though I don't know how far away it is from optimal.

Matt

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

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