[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [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 _______________________________________________ Xen-ia64-devel mailing list Xen-ia64-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-ia64-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |