Nakajima, Jun
2005-Aug-26 07:50 UTC
[Xen-devel] [PATCH] Implementing "late pin, early unpin" for x86_64 xenlinux
The patched attached enables x86_64 xenlinux with "late pin, early unpin", which is already implemented for x86_32. Since we now only pin the root rather than any of the other levels, the overall performance became better especially with workloads that require heavy memory management operations. On 8-way x86_64 xenlinux (dom0) the kernel build was improved by about 10% (using make -j32). Even a small setup like a UP HT system, I see about 3% performance gain with kernel build (make -j4). Lmbench also shows improvements in fork/exec/sh: Processor, Processes - times in microseconds - smaller is better -------------------------------------------------------------------- Host OS Mhz null null open slct sig sig fork exec sh call I/O stat clos TCP inst hndl proc proc proc --------- ------------- ---- ---- ---- ---- ---- ---- ---- ---- ---- Linux 2.6.12- 3786 1.13 1.36 3.93 6.04 10.5 1.43 4.33 536. 1446 3614 Linux 2.6.12- 3786 1.13 1.36 3.91 6.03 10.4 1.44 4.38 346. 1050 2831 Signed-off-by: Jun Nakajima <jun.nakajima@intel.com> Jun --- Intel Open Source Technology Center --- b/linux-2.6-xen-sparse/include/asm-xen/asm-x86_64/mmu.h | 33 ++ linux-2.6-xen-sparse/arch/xen/x86_64/kernel/ldt.c | 12 linux-2.6-xen-sparse/arch/xen/x86_64/mm/init.c | 1 linux-2.6-xen-sparse/arch/xen/x86_64/mm/pageattr.c | 154 +++++++++- linux-2.6-xen-sparse/include/asm-xen/asm-x86_64/mmu_context.h | 6 linux-2.6-xen-sparse/include/asm-xen/asm-x86_64/pgalloc.h | 118 ++++--- linux-2.6-xen-sparse/include/asm-xen/asm-x86_64/tlbflush.h | 2 7 files changed, 265 insertions(+), 61 deletions(-) _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel