Thread (57 messages) flat view 57 messages, 5 authors, 2015-09-30

Re: [PATCH 19/31] powerpc/mm: Convert 4k hash insert to C

From: Aneesh Kumar K.V <hidden>
Date: 2015-09-29 08:15:22

Benjamin Herrenschmidt [off-list ref] writes:
On Mon, 2015-09-21 at 12:10 +0530, Aneesh Kumar K.V wrote:
quoted
Signed-off-by: Aneesh Kumar K.V <redacted>
---
 arch/powerpc/mm/Makefile        |   3 +
 arch/powerpc/mm/hash64_64k.c    | 204 +++++++++++++++++++++
 arch/powerpc/mm/hash_low_64.S   | 380 ------------------------------
----------
 arch/powerpc/mm/hash_utils_64.c |   4 +-
 4 files changed, 210 insertions(+), 381 deletions(-)
 create mode 100644 arch/powerpc/mm/hash64_64k.c
Did you check if there was any measurable performance difference ?

I looked at the performance number with and without patch. I don't see much
impact in the numbers. We do have a path lengh increase ( I measured this
using systemsim)

Path length __hash_page_4k
with patch: 196
without patch: 142

Path length __hash_page_64k
with patch: 219
without patch: 154


But even if we have a path lengh increase of around 50 instructions. We don't see
the impact when running workload. I tried the kernelbuild test. 

With THP enabled (which is default) we see an improvement. I haven't fully looked at
the reason. This could be due to reduced contention of ptl lock. __hash_thp_page is
already a C code.

make -j64 vmlinux modules 
With fix:
---------
real    1m35.509s
user    56m8.565s
sys     4m34.973s

real    1m32.174s
user    57m2.336s
sys     4m39.142s

Without fix:
---------------
real    1m37.703s
user    58m50.783s
sys     7m52.440s


real    1m37.890s
user    57m55.445s
sys     7m50.501s


THP disabled:

make -j64 vmlinux modules 
With fix:
---------
real    1m37.197s
user    58m28.672s
sys     7m58.188s

real    1m44.638s
user    58m37.551s
sys     7m53.960s

Without fix:
------------
real    1m41.224s
user    58m46.944s
sys     7m49.714s


real    1m42.585s
user    59m14.019s
sys     7m52.714s


-aneesh
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help