[PATCH -V1 00/24] THP support for PPC64

Aneesh Kumar K.V aneesh.kumar at linux.vnet.ibm.com
Tue Feb 26 19:04:50 EST 2013


Hi,

This patchset adds transparent huge page support for PPC64.

I am marking the series to linux-mm because the PPC64 implementation
required few interface changes to core THP code.

TODO:
* ppc64 KVM related changes
* batch support for hpte invalidate
* 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.

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