[PATCH v4 00/11] hugetlb: Factorize hugetlb architecture primitives

LEROY Christophe christophe.leroy at c-s.fr
Fri Jul 27 01:13:55 AEST 2018


Alex Ghiti <alex at ghiti.fr> a écrit :

> Hi everyone,
>
> This is the result of the build for all arches tackled in this  
> series rebased on 4.18-rc6:
>
> arm:
>         versatile_defconfig: without huge page OK
>         keystone_defconfig: with huge page OK
> arm64:
>         defconfig: with huge page OK
> ia64:
>         generic_defconfig: with huge page OK
> mips:
>         Paul Burton tested cavium octeon with huge page OK
> parisc:
>         generic-64bit_defconfig: with huge page does not link
>         generic-64bit_defconfig: without huge page does not link
>         BUT not because of this series, any feedback welcome.
> powerpc:
>         ppc64_defconfig: without huge page OK
>         ppc64_defconfig: with huge page OK

Can you also test ppc32 both with and without hugepage (mpc885_ads_defconfig)

Thanks
Christophe

> sh:
>         dreamcast_defconfig: with huge page OK
> sparc:
>         sparc32_defconfig: without huge page OK
> sparc64:
>         sparc64_defconfig: with huge page OK
> x86:
>         with huge page OK
>
> Alex
>
> On 07/23/2018 02:00 PM, Michael Ellerman wrote:
>> Alex Ghiti <alex at ghiti.fr> writes:
>>
>>> Does anyone have any suggestion about those patches ?
>> Cross compiling it for some non-x86 arches would be a good start :)
>>
>> There are cross compilers available here:
>>
>>   https://mirrors.edge.kernel.org/pub/tools/crosstool/
>>
>>
>> cheers
>>
>>> On 07/09/2018 02:16 PM, Michal Hocko wrote:
>>>> [CC hugetlb guys -  
>>>> http://lkml.kernel.org/r/20180705110716.3919-1-alex@ghiti.fr]
>>>>
>>>> On Thu 05-07-18 11:07:05, Alexandre Ghiti wrote:
>>>>> In order to reduce copy/paste of functions across architectures and then
>>>>> make riscv hugetlb port (and future ports) 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.
>>>>>
>>>>> Changelog:
>>>>>
>>>>> v4:
>>>>>    Fix powerpc build error due to misplacing of #include
>>>>>    <asm-generic/hugetlb.h> outside of #ifdef CONFIG_HUGETLB_PAGE, as
>>>>>    pointed by Christophe Leroy.
>>>>>
>>>>> v1, v2, v3:
>>>>>    Same version, just problems with email provider and misuse of
>>>>>    --batch-size option of git send-email
>>>>>
>>>>> 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




More information about the Linuxppc-dev mailing list