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/
Home Products Support Community News


RE: [Xen-ia64-devel] [PATCH] unify vtlb and vhpt

To: "Kouya Shimura" <kouya@xxxxxxxxxxxxxx>
Subject: RE: [Xen-ia64-devel] [PATCH] unify vtlb and vhpt
From: "Dong, Eddie" <eddie.dong@xxxxxxxxx>
Date: Fri, 29 Feb 2008 16:06:56 +0800
Cc: xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
Delivery-date: Fri, 29 Feb 2008 00:10:53 -0800
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
In-reply-to: <7k8x14tfp6.fsf@xxxxxxxxxxxxxxxxxxxxxxxxxx>
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: <7kablltryq.fsf@xxxxxxxxxxxxxxxxxxxxxxxxxx><10EA09EFD8728347A513008B6B0DA77A02D767E6@xxxxxxxxxxxxxxxxxxxxxxxxxxxx> <7k8x14tfp6.fsf@xxxxxxxxxxxxxxxxxxxxxxxxxx>
Sender: xen-ia64-devel-bounces@xxxxxxxxxxxxxxxxxxx
Thread-index: Ach6oBCZFLBEzZUjRHSkDHmVqYx0ugACCCdA
Thread-topic: [Xen-ia64-devel] [PATCH] unify vtlb and vhpt
Kouya Shimura wrote:
> Hi Eddie,
> First of all, I don't touch a vTR at all.
> And then, from the HW point of view, nothing is changed.
> Because a vTLB is not located in VHPT area where the hardware
> page walker can access. It's located only in collision chain area.

Thanks for point out, it seems current VMX vTLB has many different with
what I wrote it long time ago. See my rest comments.

> With this patch, [id]tlb miss hanlder must distinguish a vTLB from a
> VHPT in collision chain area. That is an overhead.
> Of course, respective hash/tag values might come into collision.
> To distinguish it, ITIR{1}(reserved field) is used.
> And that guarantees a vTLB never be inserted into a machine TC.
> (a Reserved Register/Field fault is raised)

> Currently a HVM domain has vtlb and vhpt individually.
> This patch unifies them. A vtlb entry is recorded in
> vhpt collision chain area.
> - improve flexibility. currently vtlb size is fixed but some
>   applications like ie32el consume much vtlb.

This can be simply solved by increasing vTLB size, or 
use same memory with VHPT.

> - utilize vhpt collision chain area. it looks sparse.
> - reduce TLB miss for access to a vtlb entry. since vhpt is
>   mapped on a TR.

If vTLB use same memory with VHPT, for example use bottom
of the VHPT memory for vTLB hash table head, and use
same cch_alloc function can solve this.

> - speedup ptc.e emulation slightly.
> On the other hand, there would be a slight overhead in
> searching a TLB entry.
> In my testing, any performance degradation can't be seen.

If compare sharing vTLB/VHPT memory with putting vTLB 
in VHPT, I voke for former one since they are using totally
different hash/tag algorithm,save low level VHPT walk
 time and more simple (we need to avoid those vTLB entries
to be in the head of VHPT table, otherwise performance lost).
But up to you and Alex since the difference may 
be not big.

thanks, eddie

Xen-ia64-devel mailing list