[PATCH v1 00/27] Reduce ifdef mess in hugetlbpage.c and slice.c

Christophe Leroy christophe.leroy at c-s.fr
Thu Mar 21 21:44:50 AEDT 2019


This series went through a successfull build test on kisskb:

http://kisskb.ellerman.id.au/kisskb/branch/chleroy/head/f9dc3b2203af4356e9eac2d901126a0dfc5b51f6/

Christophe

Le 20/03/2019 à 11:06, Christophe Leroy a écrit :
> The main purpose of this series is to reduce the amount of #ifdefs in
> hugetlbpage.c and slice.c
> 
> At the same time, it does some cleanup by reducing the number of BUG_ON()
> and dropping unused functions.
> 
> It also removes 64k pages related code in nohash/64 as 64k pages are
> can only by selected on book3s/64
> 
> Christophe Leroy (27):
>    powerpc/mm: Don't BUG() in hugepd_page()
>    powerpc/mm: don't BUG in add_huge_page_size()
>    powerpc/mm: don't BUG() in slice_mask_for_size()
>    powerpc/book3e: drop mmu_get_tsize()
>    powerpc/mm: drop slice_set_user_psize()
>    powerpc/64: only book3s/64 supports CONFIG_PPC_64K_PAGES
>    powerpc/book3e: hugetlbpage is only for CONFIG_PPC_FSL_BOOK3E
>    powerpc/mm: move __find_linux_pte() out of hugetlbpage.c
>    powerpc/mm: make hugetlbpage.c depend on CONFIG_HUGETLB_PAGE
>    powerpc/mm: make gup_hugepte() static
>    powerpc/mm: split asm/hugetlb.h into dedicated subarch files
>    powerpc/mm: add a helper to populate hugepd
>    powerpc/mm: define get_slice_psize() all the time
>    powerpc/mm: no slice for nohash/64
>    powerpc/mm: cleanup ifdef mess in add_huge_page_size()
>    powerpc/mm: move hugetlb_disabled into asm/hugetlb.h
>    powerpc/mm: cleanup HPAGE_SHIFT setup
>    powerpc/mm: cleanup remaining ifdef mess in hugetlbpage.c
>    powerpc/mm: drop slice DEBUG
>    powerpc/mm: remove unnecessary #ifdef CONFIG_PPC64
>    powerpc/mm: hand a context_t over to slice_mask_for_size() instead of
>      mm_struct
>    powerpc/mm: move slice_mask_for_size() into mmu.h
>    powerpc/mm: remove a couple of #ifdef CONFIG_PPC_64K_PAGES in
>      mm/slice.c
>    powerpc: define subarch SLB_ADDR_LIMIT_DEFAULT
>    powerpc/mm: flatten function __find_linux_pte()
>    powerpc/mm: flatten function __find_linux_pte() step 2
>    powerpc/mm: flatten function __find_linux_pte() step 3
> 
>   arch/powerpc/Kconfig                             |   3 +-
>   arch/powerpc/include/asm/book3s/64/hugetlb.h     |  73 +++++++
>   arch/powerpc/include/asm/book3s/64/mmu.h         |  22 +-
>   arch/powerpc/include/asm/book3s/64/slice.h       |   7 +-
>   arch/powerpc/include/asm/hugetlb.h               |  87 +-------
>   arch/powerpc/include/asm/nohash/32/hugetlb-8xx.h |  45 +++++
>   arch/powerpc/include/asm/nohash/32/mmu-8xx.h     |  18 ++
>   arch/powerpc/include/asm/nohash/32/slice.h       |   2 +
>   arch/powerpc/include/asm/nohash/64/pgalloc.h     |   3 -
>   arch/powerpc/include/asm/nohash/64/pgtable.h     |   4 -
>   arch/powerpc/include/asm/nohash/64/slice.h       |  12 --
>   arch/powerpc/include/asm/nohash/hugetlb-book3e.h |  45 +++++
>   arch/powerpc/include/asm/nohash/pte-book3e.h     |   5 -
>   arch/powerpc/include/asm/page.h                  |  12 +-
>   arch/powerpc/include/asm/pgtable-be-types.h      |   7 +-
>   arch/powerpc/include/asm/pgtable-types.h         |   7 +-
>   arch/powerpc/include/asm/pgtable.h               |   3 -
>   arch/powerpc/include/asm/slice.h                 |   8 +-
>   arch/powerpc/include/asm/task_size_64.h          |   2 +-
>   arch/powerpc/kernel/fadump.c                     |   1 +
>   arch/powerpc/kernel/setup-common.c               |   8 +-
>   arch/powerpc/mm/Makefile                         |   4 +-
>   arch/powerpc/mm/hash_utils_64.c                  |   1 +
>   arch/powerpc/mm/hugetlbpage-book3e.c             |  52 ++---
>   arch/powerpc/mm/hugetlbpage-hash64.c             |  16 ++
>   arch/powerpc/mm/hugetlbpage.c                    | 245 ++++-------------------
>   arch/powerpc/mm/pgtable.c                        | 114 +++++++++++
>   arch/powerpc/mm/slice.c                          | 132 ++----------
>   arch/powerpc/mm/tlb_low_64e.S                    |  31 ---
>   arch/powerpc/mm/tlb_nohash.c                     |  13 --
>   arch/powerpc/platforms/Kconfig.cputype           |   4 +
>   31 files changed, 438 insertions(+), 548 deletions(-)
>   create mode 100644 arch/powerpc/include/asm/nohash/32/hugetlb-8xx.h
>   delete mode 100644 arch/powerpc/include/asm/nohash/64/slice.h
>   create mode 100644 arch/powerpc/include/asm/nohash/hugetlb-book3e.h
> 


More information about the Linuxppc-dev mailing list