All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 00/11] hugetlb: Factorize architecture hugetlb primitives
@ 2018-07-04  5:51 ` Alexandre Ghiti
  0 siblings, 0 replies; 42+ messages in thread
From: Alexandre Ghiti @ 2018-07-04  5:51 UTC (permalink / raw)
  To: linux, catalin.marinas, will.deacon, tony.luck, fenghua.yu, ralf,
	paul.burton, jhogan, jejb, deller, benh, paulus, mpe, ysato,
	dalias, davem, tglx, mingo, hpa, x86, arnd, linux-arm-kernel,
	linux-kernel, linux-ia64, linux-mips, linux-parisc, linuxppc-dev,
	linux-sh, sparclinux, linux-arch
  Cc: Alexandre Ghiti

In order to reduce copy/paste of functions across architectures and then
make riscv hugetlb port simpler and smaller, this patchset intends to
factorize the numerous hugetlb primitives that are defined across all the
architectures.

Except for prepare_hugepage_range, this patchset moves the versions that
are just pass-through to standard pte primitives into
asm-generic/hugetlb.h by using the same #ifdef semantic that can be
found in asm-generic/pgtable.h, i.e. __HAVE_ARCH_***.

s390 architecture has not been tackled in this serie since it does not
use asm-generic/hugetlb.h at all.
powerpc could be factorized a bit more (cf huge_ptep_set_wrprotect).

This patchset has been compiled on x86 only.

Alexandre Ghiti (11):
  hugetlb: Harmonize hugetlb.h arch specific defines with pgtable.h
  hugetlb: Introduce generic version of hugetlb_free_pgd_range
  hugetlb: Introduce generic version of set_huge_pte_at
  hugetlb: Introduce generic version of huge_ptep_get_and_clear
  hugetlb: Introduce generic version of huge_ptep_clear_flush
  hugetlb: Introduce generic version of huge_pte_none
  hugetlb: Introduce generic version of huge_pte_wrprotect
  hugetlb: Introduce generic version of prepare_hugepage_range
  hugetlb: Introduce generic version of huge_ptep_set_wrprotect
  hugetlb: Introduce generic version of huge_ptep_set_access_flags
  hugetlb: Introduce generic version of huge_ptep_get

 arch/arm/include/asm/hugetlb-3level.h        | 32 +---------
 arch/arm/include/asm/hugetlb.h               | 33 +----------
 arch/arm64/include/asm/hugetlb.h             | 39 +++---------
 arch/ia64/include/asm/hugetlb.h              | 47 ++-------------
 arch/mips/include/asm/hugetlb.h              | 40 +++----------
 arch/parisc/include/asm/hugetlb.h            | 33 +++--------
 arch/powerpc/include/asm/book3s/32/pgtable.h |  2 +
 arch/powerpc/include/asm/book3s/64/pgtable.h |  1 +
 arch/powerpc/include/asm/hugetlb.h           | 43 ++------------
 arch/powerpc/include/asm/nohash/32/pgtable.h |  2 +
 arch/powerpc/include/asm/nohash/64/pgtable.h |  1 +
 arch/sh/include/asm/hugetlb.h                | 54 ++---------------
 arch/sparc/include/asm/hugetlb.h             | 40 +++----------
 arch/x86/include/asm/hugetlb.h               | 72 +----------------------
 include/asm-generic/hugetlb.h                | 88 +++++++++++++++++++++++++++-
 15 files changed, 143 insertions(+), 384 deletions(-)

-- 
2.16.2


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

end of thread, other threads:[~2018-07-05  5:38 UTC | newest]

Thread overview: 42+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-07-04  5:51 [PATCH 00/11] hugetlb: Factorize architecture hugetlb primitives Alexandre Ghiti
2018-07-04  5:51 ` Alexandre Ghiti
2018-07-04  5:51 ` Alexandre Ghiti
2018-07-04  5:51 ` [PATCH 01/11] hugetlb: Harmonize hugetlb.h arch specific defines with pgtable.h Alexandre Ghiti
2018-07-04  5:51   ` Alexandre Ghiti
2018-07-04  5:51   ` Alexandre Ghiti
2018-07-04  5:51 ` [PATCH 02/11] hugetlb: Introduce generic version of hugetlb_free_pgd_range Alexandre Ghiti
2018-07-04  5:51   ` Alexandre Ghiti
2018-07-04  5:51   ` Alexandre Ghiti
2018-07-04  5:51 ` [PATCH 03/11] hugetlb: Introduce generic version of set_huge_pte_at Alexandre Ghiti
2018-07-04  5:51   ` Alexandre Ghiti
2018-07-04  5:51   ` Alexandre Ghiti
2018-07-04  5:52 ` [PATCH 04/11] hugetlb: Introduce generic version of huge_ptep_get_and_clear Alexandre Ghiti
2018-07-04  5:52   ` Alexandre Ghiti
2018-07-04  5:52   ` Alexandre Ghiti
2018-07-04  5:52 ` [PATCH 05/11] hugetlb: Introduce generic version of huge_ptep_clear_flush Alexandre Ghiti
2018-07-04  5:52   ` Alexandre Ghiti
2018-07-04  5:52   ` Alexandre Ghiti
2018-07-04  6:51   ` Alexandre Ghiti
2018-07-04  6:51     ` Alexandre Ghiti
2018-07-04  6:51     ` Alexandre Ghiti
2018-07-05  4:58 ` [PATCH 00/11] hugetlb: Factorize architecture hugetlb primitives Alexandre Ghiti
2018-07-05  4:58   ` Alexandre Ghiti
2018-07-05  4:58   ` Alexandre Ghiti
2018-07-05  4:58   ` [PATCH 01/11] hugetlb: Harmonize hugetlb.h arch specific defines with pgtable.h Alexandre Ghiti
2018-07-05  4:58     ` Alexandre Ghiti
2018-07-05  4:58     ` Alexandre Ghiti
2018-07-05  4:58   ` [PATCH 02/11] hugetlb: Introduce generic version of hugetlb_free_pgd_range Alexandre Ghiti
2018-07-05  4:58     ` Alexandre Ghiti
2018-07-05  4:58     ` Alexandre Ghiti
2018-07-05  4:58   ` [PATCH 03/11] hugetlb: Introduce generic version of set_huge_pte_at Alexandre Ghiti
2018-07-05  4:58     ` Alexandre Ghiti
2018-07-05  4:58     ` Alexandre Ghiti
2018-07-05  4:58   ` [PATCH 04/11] hugetlb: Introduce generic version of huge_ptep_get_and_clear Alexandre Ghiti
2018-07-05  4:58     ` Alexandre Ghiti
2018-07-05  4:58     ` Alexandre Ghiti
2018-07-05  4:58   ` [PATCH 05/11] hugetlb: Introduce generic version of huge_ptep_clear_flush Alexandre Ghiti
2018-07-05  4:58     ` Alexandre Ghiti
2018-07-05  4:58     ` Alexandre Ghiti
2018-07-05  5:38     ` Alex Ghiti
2018-07-05  5:38       ` Alex Ghiti
2018-07-05  5:38       ` Alex Ghiti

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.