[PATCH -V3 00/25] THP support for PPC64
Aneesh Kumar K.V
aneesh.kumar at linux.vnet.ibm.com
Fri Mar 15 20:39:42 EST 2013
Hi,
This patchset adds transparent hugepage support for PPC64.
TODO:
* powernv still doesn't boot
* hash preload support in update_mmu_cache_pmd
Some numbers:
The latency measurements code from Anton found at
http://ozlabs.org/~anton/junkcode/latency2001.c
THP disabled 64K page size
------------------------
[root at llmp24l02 ~]# ./latency2001 8G
8589934592 731.73 cycles 205.77 ns
[root at llmp24l02 ~]# ./latency2001 8G
8589934592 743.39 cycles 209.05 ns
[root at llmp24l02 ~]#
THP disabled large page via hugetlbfs
-------------------------------------
[root at llmp24l02 ~]# ./latency2001 -l 8G
8589934592 416.09 cycles 117.01 ns
[root at llmp24l02 ~]# ./latency2001 -l 8G
8589934592 415.74 cycles 116.91 ns
THP enabled 64K page size.
----------------
[root at llmp24l02 ~]# ./latency2001 8G
8589934592 405.07 cycles 113.91 ns
[root at llmp24l02 ~]# ./latency2001 8G
8589934592 411.82 cycles 115.81 ns
[root at llmp24l02 ~]#
We are close to hugetlbfs in latency and we can achieve this with zero
config/page reservation. Most of the allocations above are fault allocated.
I haven't really measured the collapse alloc impact.
Another test that does 50000000 random access over 1GB area goes from
2.65 seconds to 1.07 seconds with this patchset.
Change from V2:
* Change patch "powerpc: Reduce PTE table memory wastage" to use much simpler approach
for PTE page sharing.
* Changes to handle huge pages in KVM code.
* Address other review comments
Changes from V1
* Address review comments
* More patch split
* Add batch hpte invalidate for hugepages.
Changes from RFC V2:
* Address review comments
* More code cleanup and patch split
Changes from RFC V1:
* HugeTLB fs now works
* Compile issues fixed
* rebased to v3.8
* Patch series reorded so that ppc64 cleanups and MM THP changes are moved
early in the series. This should help in picking those patches early.
Thanks,
-aneesh
More information about the Linuxppc-dev
mailing list