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