linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
* [RFC PATCH 0/6] powerpc/mm/book3s64: Support for split pmd ptlock
@ 2018-02-14 13:50 Aneesh Kumar K.V
  2018-02-14 13:50 ` [RFC PATCH 1/6] powerpc/mm: Rename pte fragment functions Aneesh Kumar K.V
                   ` (5 more replies)
  0 siblings, 6 replies; 7+ messages in thread
From: Aneesh Kumar K.V @ 2018-02-14 13:50 UTC (permalink / raw)
  To: benh, paulus, mpe, Anton Blanchard, Nicholas Piggin
  Cc: linuxppc-dev, Aneesh Kumar K.V

This patch series add split pmd pagetable lock for book3s64. nohash64 also should
be able to switch to this. I need to workout the code dependency. This series
also migh have broken the build on platforms otherthan book3s64. I am sending this early
to get feedback on whether we should continue with the approach.

We switch the pmd allocator to use something similar to what we already use for
level 4 pagetable allocation. We get an order 0 page and divide that to fragments
and hand over fragments when we get request for a pmd pagetable. The pmd lock is
now stashed in the struct page backing the allocated page.

The series should help in reducing lock contention on mm->page_table_lock.

Aneesh Kumar K.V (6):
  powerpc/mm: Rename pte fragment functions
  powerpc/mm/4k: Switch 4k pagesize config to use pagetable fragment
  powerpc/mm: Implement helpers for pagetable fragment support at PMD
    level
  powerpc/mm: Simplify the rcu callback for page table free
  powerpc/mm: Use page fragments for allocation page table at PMD level
  enable split pmd ptlock.

 arch/powerpc/include/asm/book3s/32/pgalloc.h   |   2 +-
 arch/powerpc/include/asm/book3s/64/hash-4k.h   |  10 +-
 arch/powerpc/include/asm/book3s/64/hash-64k.h  |   4 +
 arch/powerpc/include/asm/book3s/64/mmu.h       |   7 +-
 arch/powerpc/include/asm/book3s/64/pgalloc.h   |  43 ++------
 arch/powerpc/include/asm/book3s/64/pgtable.h   |   6 ++
 arch/powerpc/include/asm/book3s/64/radix-4k.h  |   8 ++
 arch/powerpc/include/asm/book3s/64/radix-64k.h |   4 +
 arch/powerpc/include/asm/pgalloc.h             |   9 ++
 arch/powerpc/mm/hash_utils_64.c                |   2 +
 arch/powerpc/mm/init-common.c                  |   2 -
 arch/powerpc/mm/mmu_context_book3s64.c         |  39 ++++---
 arch/powerpc/mm/pgtable-radix.c                |   2 +
 arch/powerpc/mm/pgtable_64.c                   | 144 +++++++++++++++++++++----
 arch/powerpc/platforms/Kconfig.cputype         |   4 +
 15 files changed, 209 insertions(+), 77 deletions(-)

-- 
2.14.3

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2018-02-14 13:50 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-02-14 13:50 [RFC PATCH 0/6] powerpc/mm/book3s64: Support for split pmd ptlock Aneesh Kumar K.V
2018-02-14 13:50 ` [RFC PATCH 1/6] powerpc/mm: Rename pte fragment functions Aneesh Kumar K.V
2018-02-14 13:50 ` [RFC PATCH 2/6] powerpc/mm/4k: Switch 4k pagesize config to use pagetable fragment Aneesh Kumar K.V
2018-02-14 13:50 ` [RFC PATCH 3/6] powerpc/mm: Implement helpers for pagetable fragment support at PMD level Aneesh Kumar K.V
2018-02-14 13:50 ` [RFC PATCH 4/6] powerpc/mm: Simplify the rcu callback for page table free Aneesh Kumar K.V
2018-02-14 13:50 ` [RFC PATCH 5/6] powerpc/mm: Use page fragments for allocation page table at PMD level Aneesh Kumar K.V
2018-02-14 13:50 ` [RFC PATCH 6/6] enable split pmd ptlock Aneesh Kumar K.V

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).