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
Xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-ia64-devel
|