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

[Xen-ia64-devel][PATCH][RFC] Task: support huge page RE: [Xen-ia64-devel

To: "Magnus Damm" <magnus@xxxxxxxxxxxxx>, "Tristan Gingold" <Tristan.Gingold@xxxxxxxx>, "Isaku Yamahata" <yamahata@xxxxxxxxxxxxx>, "Alex Williamson" <alex.williamson@xxxxxx>
Subject: [Xen-ia64-devel][PATCH][RFC] Task: support huge page RE: [Xen-ia64-devel] Xen/IA64 Healthiness Report -Cset#11460
From: "Xu, Anthony" <anthony.xu@xxxxxxxxx>
Date: Wed, 27 Sep 2006 21:56:11 +0800
Cc: xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
Delivery-date: Wed, 27 Sep 2006 06:56:33 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
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: AcbhWUmUtK7O95VgT06lRAFA+KV5JQA1Cyxg
Thread-topic: [Xen-ia64-devel][PATCH][RFC] Task: support huge page RE: [Xen-ia64-devel] Xen/IA64 Healthiness Report -Cset#11460
This patch is not for check in. And this patch is based on Cset11456

Hi Magnus,

Currently, memory allocated for domU and VTI-domain is 16K contiguous.
That means all huge page TLB entries must be broken into 16K TLB
entries. This definitely impact overall performance, for instance, in
linux, region 7 is using 16M page size. IA64 is supposed to be used at
high end server, many services running on IA64 are using huge page, like
Oracle is using 256M page in region 4, if XEN/IA64 still use 16K
contiguous physical page, we can image, this can impact performance
dramatically. So domU, VTI-domain and dom0 need to support huge page.

Attached patch is an experiment to use 16M page on VTI-domain. A very
tricky way is used to allocate 16M contiguous memory for VTI-domain, so
it's just for reference.
Applying this patch, I can see 2%~3% performance gains when running KB
on VTI-domain(UP), you may know performance of KB on VTI-domain is not
bad:-), that means the improvement is somewhat big. 
As we know, KB doesn't use 256M, the performance gain is coming from 16M
page in region 7, if we run some applications, which use 256M huge page,
and then we may get more improvement.

In my mind, we need do below things (there may be more) if we want to
support huge page.
1. Add an option "order" in configure file vtiexample.vti. if order=0,
XEN/IA64 allocate 16K contiguous memory for domain, if order=1, allocate
32K,  and so on. Thus user can chose page size for domain.

2. This order option will be past to increase_reservation() function as
extent_order argument, increase_reservation() will allocate contiguous
memory for domain.

3.  There may be some memory blocks, which we also want
increase_reservation to allocate for us, such as shared page, or
firmware memory for VTI domain etc. So we may need to call
increase_reservation() several times to allocate memories with different
page size.

4. Per_LP_VHPT may need to be modified to support huge page.

5. VBD/VNIF may need to be modified to use copy mechanism instead of
flipping page.

6. Ballon driver may need to be modified to increase or decrease domain
memory by page size not 16K.

Magnus, would you like to take this task?

Comments are always welcome.


Thanks,
Anthony




>> Please do not work yet on xencomm.
>> I am now back from holidays and I will work on xencomm now.
>
>Ok, I will not spend any time on it then. Feel free to drop me a line
if
>you need help with something though. Thanks!
>
>/ magnus


Attachment: vti_huge_page.patch
Description: vti_huge_page.patch

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