[RFC PATCH 00/17] THP support for PPC64

Aneesh Kumar K.V aneesh.kumar at linux.vnet.ibm.com
Mon Feb 18 21:27:58 EST 2013


Hi,

This is an early RFC version adding transparent huge page support for PPC64.
I am sharing the changes, so that we can have early review on the approach
taken. The TODOs include

*) Compile issues with different config option
*) HugeTLBfs is disabled now (mostly compile issues)
*) PPC32 and other sub architecture details need to be worked out.
*) 4K page size details need to be worked out
*) Closer review of PMD* flags.

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.

Thanks,
-aneesh



More information about the Linuxppc-dev mailing list