--- v2
+++ v1
@@ -29,72 +29,6 @@
The patch series can also be found at
https://github.com/kvaneesh/linux.git book3s-pte-format
https://github.com/kvaneesh/linux/commits/book3s-pte-format
-
-Performance numbers with and without patch series.
-
-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
-
-Changes from V1:
-1) Build fix with STRICT_MM_TYPES enabled
-2) pte_mkwrite fix for nohash
-3) rebase to latest linus tree.
Aneesh Kumar K.V (31):
powerpc/mm: move pte headers to book3s directory
@@ -137,17 +71,17 @@
arch/powerpc/include/asm/book3s/64/hash.h | 513 ++++++++++
arch/powerpc/include/asm/book3s/64/pgtable.h | 266 ++++++
arch/powerpc/include/asm/book3s/pgtable.h | 29 +
+ .../asm/{pgtable-ppc32.h => booke/32/pgtable.h} | 25 +-
+ arch/powerpc/include/asm/{ => booke/32}/pte-40x.h | 6 +-
+ arch/powerpc/include/asm/{ => booke/32}/pte-44x.h | 6 +-
+ arch/powerpc/include/asm/{ => booke/32}/pte-8xx.h | 6 +-
+ .../include/asm/{ => booke/32}/pte-fsl-booke.h | 6 +-
+ .../{pgtable-ppc64-4k.h => booke/64/pgtable-4k.h} | 13 +-
+ .../64/pgtable-64k.h} | 6 +-
+ .../asm/{pgtable-ppc64.h => booke/64/pgtable.h} | 297 +-----
+ arch/powerpc/include/asm/booke/pgtable.h | 252 +++++
+ arch/powerpc/include/asm/{ => booke}/pte-book3e.h | 6 +-
arch/powerpc/include/asm/mmu-hash64.h | 2 +-
- .../asm/{pgtable-ppc32.h => nohash/32/pgtable.h} | 25 +-
- arch/powerpc/include/asm/{ => nohash/32}/pte-40x.h | 6 +-
- arch/powerpc/include/asm/{ => nohash/32}/pte-44x.h | 6 +-
- arch/powerpc/include/asm/{ => nohash/32}/pte-8xx.h | 6 +-
- .../include/asm/{ => nohash/32}/pte-fsl-booke.h | 6 +-
- .../{pgtable-ppc64-4k.h => nohash/64/pgtable-4k.h} | 12 +-
- .../64/pgtable-64k.h} | 6 +-
- .../asm/{pgtable-ppc64.h => nohash/64/pgtable.h} | 299 +-----
- arch/powerpc/include/asm/nohash/pgtable.h | 252 +++++
- arch/powerpc/include/asm/{ => nohash}/pte-book3e.h | 6 +-
arch/powerpc/include/asm/page.h | 75 +-
arch/powerpc/include/asm/pgalloc-32.h | 34 +-
arch/powerpc/include/asm/pgalloc-64.h | 29 +-
@@ -170,7 +104,7 @@
arch/powerpc/mm/pgtable_64.c | 28 +-
arch/powerpc/mm/tlb_hash64.c | 2 +-
arch/powerpc/platforms/pseries/lpar.c | 10 +
- 40 files changed, 2670 insertions(+), 1894 deletions(-)
+ 40 files changed, 2670 insertions(+), 1893 deletions(-)
rename arch/powerpc/include/asm/{pte-hash32.h => book3s/32/hash.h} (93%)
create mode 100644 arch/powerpc/include/asm/book3s/32/pgtable.h
create mode 100644 arch/powerpc/include/asm/book3s/64/hash-4k.h
@@ -178,16 +112,16 @@
create mode 100644 arch/powerpc/include/asm/book3s/64/hash.h
create mode 100644 arch/powerpc/include/asm/book3s/64/pgtable.h
create mode 100644 arch/powerpc/include/asm/book3s/pgtable.h
- rename arch/powerpc/include/asm/{pgtable-ppc32.h => nohash/32/pgtable.h} (96%)
- rename arch/powerpc/include/asm/{ => nohash/32}/pte-40x.h (95%)
- rename arch/powerpc/include/asm/{ => nohash/32}/pte-44x.h (96%)
- rename arch/powerpc/include/asm/{ => nohash/32}/pte-8xx.h (95%)
- rename arch/powerpc/include/asm/{ => nohash/32}/pte-fsl-booke.h (88%)
- rename arch/powerpc/include/asm/{pgtable-ppc64-4k.h => nohash/64/pgtable-4k.h} (92%)
- rename arch/powerpc/include/asm/{pgtable-ppc64-64k.h => nohash/64/pgtable-64k.h} (90%)
- rename arch/powerpc/include/asm/{pgtable-ppc64.h => nohash/64/pgtable.h} (56%)
- create mode 100644 arch/powerpc/include/asm/nohash/pgtable.h
- rename arch/powerpc/include/asm/{ => nohash}/pte-book3e.h (95%)
+ rename arch/powerpc/include/asm/{pgtable-ppc32.h => booke/32/pgtable.h} (96%)
+ rename arch/powerpc/include/asm/{ => booke/32}/pte-40x.h (95%)
+ rename arch/powerpc/include/asm/{ => booke/32}/pte-44x.h (96%)
+ rename arch/powerpc/include/asm/{ => booke/32}/pte-8xx.h (95%)
+ rename arch/powerpc/include/asm/{ => booke/32}/pte-fsl-booke.h (89%)
+ rename arch/powerpc/include/asm/{pgtable-ppc64-4k.h => booke/64/pgtable-4k.h} (92%)
+ rename arch/powerpc/include/asm/{pgtable-ppc64-64k.h => booke/64/pgtable-64k.h} (90%)
+ rename arch/powerpc/include/asm/{pgtable-ppc64.h => booke/64/pgtable.h} (57%)
+ create mode 100644 arch/powerpc/include/asm/booke/pgtable.h
+ rename arch/powerpc/include/asm/{ => booke}/pte-book3e.h (95%)
delete mode 100644 arch/powerpc/include/asm/pte-hash64-4k.h
delete mode 100644 arch/powerpc/include/asm/pte-hash64-64k.h
delete mode 100644 arch/powerpc/include/asm/pte-hash64.h