Message ID | 20180705110716.3919-1-alex@ghiti.fr |
---|---|
Headers | show |
Series | hugetlb: Factorize hugetlb architecture primitives | expand |
[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
Does anyone have any suggestion about those patches ? 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 -- To unsubscribe from this list: send the line "unsubscribe sparclinux" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On 07/20/2018 11:37 AM, Alex Ghiti wrote:
> Does anyone have any suggestion about those patches ?
I only took a quick look. From the hugetlb perspective, I like the
idea of moving routines to a common file. If any of the arch owners
(or anyone else) agree, I can do a review of the series.
Alex Ghiti <alex@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 -- To unsubscribe from this list: send the line "unsubscribe sparclinux" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Ok will do and report when done. Thanks for your feedback, Alex On 07/23/2018 02:00 PM, Michael Ellerman wrote: > Alex Ghiti <alex@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 -- To unsubscribe from this list: send the line "unsubscribe sparclinux" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Hi Alexandre, On Thu, Jul 05, 2018 at 11:07:05AM +0000, 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. For MIPS these look good - I don't see any issues & they pass a build test (using cavium_octeon_defconfig which enables huge pages), so: Acked-by: Paul Burton <paul.burton@mips.com> # MIPS parts Thanks, Paul -- To unsubscribe from this list: send the line "unsubscribe sparclinux" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Hi Paul, Thanks for having tested it, I remove mips from my list. Thanks again, Alex On 07/25/2018 02:34 AM, Paul Burton wrote: > Hi Alexandre, > > On Thu, Jul 05, 2018 at 11:07:05AM +0000, 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. > For MIPS these look good - I don't see any issues & they pass a build > test (using cavium_octeon_defconfig which enables huge pages), so: > > Acked-by: Paul Burton <paul.burton@mips.com> # MIPS parts > > Thanks, > Paul -- To unsubscribe from this list: send the line "unsubscribe sparclinux" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
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 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@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 -- To unsubscribe from this list: send the line "unsubscribe sparclinux" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Mike Kravetz <mike.kravetz@oracle.com> writes: > On 07/20/2018 11:37 AM, Alex Ghiti wrote: >> Does anyone have any suggestion about those patches ? > > I only took a quick look. From the hugetlb perspective, I like the > idea of moving routines to a common file. If any of the arch owners > (or anyone else) agree, I can do a review of the series. The conversions look pretty good to me. If you want to give it a review then from my point of view it could go in -mm to shake out any bugs. cheers -- To unsubscribe from this list: send the line "unsubscribe sparclinux" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
* Alex Ghiti <alex@ghiti.fr>: > This is the result of the build for all arches tackled in this series > rebased on 4.18-rc6: > ... > 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. Strange, but I will check that later.... Anyway, I applied your v4-patch to my parisc64 tree, built the kernel, started it and ran some hugetlb LTP testcases sucessfully. So, please add: Tested-by: Helge Deller <deller@gmx.de> # parisc Helge -- To unsubscribe from this list: send the line "unsubscribe sparclinux" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Alex Ghiti <alex@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@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 -- To unsubscribe from this list: send the line "unsubscribe sparclinux" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Hi Christophe, Sorry, I should have done it already: with and without huge page activated, the build for mpc885_ads_defconfig is OK. Thanks, Alex On 07/26/2018 03:13 PM, LEROY Christophe wrote: > Alex Ghiti <alex@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@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 > > -- To unsubscribe from this list: send the line "unsubscribe sparclinux" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Hi Helge, Thanks for your tests. In case it can help you, this is what I get when I try to build generic-64bit_defconfig (I truncated the output): ... LD vmlinux.o MODPOST vmlinux.o hppa64-linux-ld: init/main.o(.text+0x98): cannot reach strreplace init/main.o: In function `initcall_blacklisted': init/.tmp_main.o:(.text+0x98): relocation truncated to fit: R_PARISC_PCREL22F against symbol `strreplace' defined in .text section in lib/string.o hppa64-linux-ld: init/main.o(.text+0xbc): cannot reach strcmp init/.tmp_main.o:(.text+0xbc): relocation truncated to fit: R_PARISC_PCREL22F against symbol `strcmp' defined in .text section in lib/string.o hppa64-linux-ld: init/main.o(.text+0x21c): cannot reach strcpy init/main.o: In function `do_one_initcall': (.text+0x21c): relocation truncated to fit: R_PARISC_PCREL22F against symbol `strcpy' defined in .text section in lib/string.o hppa64-linux-ld: init/main.o(.text+0x250): cannot reach strlcat (.text+0x250): relocation truncated to fit: R_PARISC_PCREL22F against symbol `strlcat' defined in .text section in lib/string.o hppa64-linux-ld: init/main.o(.init.text+0x1d4): cannot reach strcmp init/main.o: In function `do_early_param': init/.tmp_main.o:(.init.text+0x1d4): relocation truncated to fit: R_PARISC_PCREL22F against symbol `strcmp' defined in .text section in lib/string.o hppa64-linux-ld: init/main.o(.init.text+0x250): cannot reach strcmp init/.tmp_main.o:(.init.text+0x250): relocation truncated to fit: R_PARISC_PCREL22F against symbol `strcmp' defined in .text section in lib/string.o hppa64-linux-ld: init/main.o(.init.text+0x294): cannot reach strlen init/main.o: In function `repair_env_string': init/.tmp_main.o:(.init.text+0x294): relocation truncated to fit: R_PARISC_PCREL22F against symbol `strlen' defined in .text section in lib/string.o hppa64-linux-ld: init/main.o(.init.text+0x2f0): cannot reach strlen init/.tmp_main.o:(.init.text+0x2f0): relocation truncated to fit: R_PARISC_PCREL22F against symbol `strlen' defined in .text section in lib/string.o hppa64-linux-ld: init/main.o(.init.text+0x308): cannot reach memmove init/.tmp_main.o:(.init.text+0x308): relocation truncated to fit: R_PARISC_PCREL22F against symbol `memmove' defined in .text section in lib/string.o hppa64-linux-ld: init/main.o(.init.text+0x454): cannot reach strlen init/main.o: In function `unknown_bootoption': init/.tmp_main.o:(.init.text+0x454): relocation truncated to fit: R_PARISC_PCREL22F against symbol `strlen' defined in .text section in lib/string.o hppa64-linux-ld: init/main.o(.init.text+0x4dc): cannot reach strchr init/.tmp_main.o:(.init.text+0x4dc): additional relocation overflows omitted from the output hppa64-linux-ld: init/main.o(.init.text+0x638): cannot reach strncmp hppa64-linux-ld: init/main.o(.init.text+0x694): cannot reach get_option hppa64-linux-ld: init/main.o(.init.text+0x744): cannot reach strsep hppa64-linux-ld: init/main.o(.init.text+0x798): cannot reach strlen hppa64-linux-ld: init/main.o(.init.text+0x7d0): cannot reach strcpy hppa64-linux-ld: init/main.o(.init.text+0x954): cannot reach strlcpy hppa64-linux-ld: init/main.o(.init.text+0xab8): cannot reach strlen hppa64-linux-ld: init/main.o(.init.text+0xafc): cannot reach strlen hppa64-linux-ld: init/main.o(.init.text+0xb40): cannot reach strlen hppa64-linux-ld: init/main.o(.init.text+0xb84): cannot reach strlen hppa64-linux-ld: init/main.o(.init.text+0xbd0): cannot reach strcpy hppa64-linux-ld: init/main.o(.init.text+0xbe8): cannot reach strcpy hppa64-linux-ld: init/main.o(.init.text+0xc3c): cannot reach build_all_zonelists hppa64-linux-ld: init/main.o(.init.text+0x1200): cannot reach unknown hppa64-linux-ld: init/main.o(.init.text+0x1278): cannot reach wait_for_completion hppa64-linux-ld: init/main.o(.init.text+0x12b0): cannot reach _raw_spin_lock hppa64-linux-ld: init/main.o(.init.text+0x147c): cannot reach strcpy hppa64-linux-ld: init/main.o(.ref.text+0x40): cannot reach kernel_thread hppa64-linux-ld: init/main.o(.ref.text+0x60): cannot reach find_task_by_pid_ns hppa64-linux-ld: init/main.o(.ref.text+0x98): cannot reach set_cpus_allowed_ptr hppa64-linux-ld: init/main.o(.ref.text+0xbc): cannot reach kernel_thread hppa64-linux-ld: init/main.o(.ref.text+0xd4): cannot reach find_task_by_pid_ns hppa64-linux-ld: init/main.o(.ref.text+0x108): cannot reach complete hppa64-linux-ld: init/main.o(.ref.text+0x128): cannot reach cpu_startup_entry hppa64-linux-ld: init/main.o(.ref.text+0x164): cannot reach unknown hppa64-linux-ld: init/main.o(.ref.text+0x174): cannot reach async_synchronize_full hppa64-linux-ld: init/main.o(.ref.text+0x1a4): cannot reach rcu_barrier_sched hppa64-linux-ld: init/main.o(.ref.text+0x1b4): cannot reach mark_rodata_ro hppa64-linux-ld: init/main.o(.ref.text+0x1d4): cannot reach rcu_end_inkernel_boot hppa64-linux-ld: init/main.o(.ref.text+0x1f4): cannot reach unknown hppa64-linux-ld: init/main.o(.ref.text+0x218): cannot reach printk hppa64-linux-ld: init/main.o(.ref.text+0x238): cannot reach unknown hppa64-linux-ld: init/main.o(.ref.text+0x258): cannot reach panic hppa64-linux-ld: init/main.o(.ref.text+0x268): cannot reach printk hppa64-linux-ld: init/main.o(.ref.text+0x280): cannot reach unknown hppa64-linux-ld: init/main.o(.ref.text+0x29c): cannot reach unknown hppa64-linux-ld: init/main.o(.ref.text+0x2b8): cannot reach unknown hppa64-linux-ld: init/main.o(.ref.text+0x2d4): cannot reach unknown hppa64-linux-ld: init/main.o(.ref.text+0x2f0): cannot reach panic hppa64-linux-ld: init/do_mounts.o(.text+0x30): cannot reach strncasecmp hppa64-linux-ld: init/do_mounts.o(.text+0x158): cannot reach strncmp hppa64-linux-ld: init/do_mounts.o(.text+0x180): cannot reach strchr ... On 07/26/2018 12:59 PM, Helge Deller wrote: > * Alex Ghiti <alex@ghiti.fr>: >> This is the result of the build for all arches tackled in this series >> rebased on 4.18-rc6: >> ... >> 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. > Strange, but I will check that later.... > > Anyway, I applied your v4-patch to my parisc64 tree, built the kernel, > started it and ran some hugetlb LTP testcases sucessfully. > So, please add: > > Tested-by: Helge Deller <deller@gmx.de> # parisc > > Helge -- To unsubscribe from this list: send the line "unsubscribe sparclinux" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Actually, I went back to v4.17, and I have the same errors. I used: $ make ARCH=parisc O=build_parisc generic-64bit_defconfig $ PATH=/home/alex/wip/toolchain/gcc-8.1.0-nolibc/hppa64-linux/bin:$PATH make ARCH=parisc CROSS_COMPILE=hppa64-linux- I downloaded the crosscompiler here: https://mirrors.edge.kernel.org/pub/tools/crosstool/files/bin/x86_64/8.1.0/ On 07/26/2018 05:01 PM, Alex Ghiti wrote: > Hi Helge, > > Thanks for your tests. > In case it can help you, this is what I get when I try to build > generic-64bit_defconfig (I truncated the output): > > ... > > LD vmlinux.o > MODPOST vmlinux.o > hppa64-linux-ld: init/main.o(.text+0x98): cannot reach strreplace > init/main.o: In function `initcall_blacklisted': > init/.tmp_main.o:(.text+0x98): relocation truncated to fit: > R_PARISC_PCREL22F against symbol `strreplace' defined in .text section > in lib/string.o > hppa64-linux-ld: init/main.o(.text+0xbc): cannot reach strcmp > init/.tmp_main.o:(.text+0xbc): relocation truncated to fit: > R_PARISC_PCREL22F against symbol `strcmp' defined in .text section in > lib/string.o > hppa64-linux-ld: init/main.o(.text+0x21c): cannot reach strcpy > init/main.o: In function `do_one_initcall': > (.text+0x21c): relocation truncated to fit: R_PARISC_PCREL22F against > symbol `strcpy' defined in .text section in lib/string.o > hppa64-linux-ld: init/main.o(.text+0x250): cannot reach strlcat > (.text+0x250): relocation truncated to fit: R_PARISC_PCREL22F against > symbol `strlcat' defined in .text section in lib/string.o > hppa64-linux-ld: init/main.o(.init.text+0x1d4): cannot reach strcmp > init/main.o: In function `do_early_param': > init/.tmp_main.o:(.init.text+0x1d4): relocation truncated to fit: > R_PARISC_PCREL22F against symbol `strcmp' defined in .text section in > lib/string.o > hppa64-linux-ld: init/main.o(.init.text+0x250): cannot reach strcmp > init/.tmp_main.o:(.init.text+0x250): relocation truncated to fit: > R_PARISC_PCREL22F against symbol `strcmp' defined in .text section in > lib/string.o > hppa64-linux-ld: init/main.o(.init.text+0x294): cannot reach strlen > init/main.o: In function `repair_env_string': > init/.tmp_main.o:(.init.text+0x294): relocation truncated to fit: > R_PARISC_PCREL22F against symbol `strlen' defined in .text section in > lib/string.o > hppa64-linux-ld: init/main.o(.init.text+0x2f0): cannot reach strlen > init/.tmp_main.o:(.init.text+0x2f0): relocation truncated to fit: > R_PARISC_PCREL22F against symbol `strlen' defined in .text section in > lib/string.o > hppa64-linux-ld: init/main.o(.init.text+0x308): cannot reach memmove > init/.tmp_main.o:(.init.text+0x308): relocation truncated to fit: > R_PARISC_PCREL22F against symbol `memmove' defined in .text section in > lib/string.o > hppa64-linux-ld: init/main.o(.init.text+0x454): cannot reach strlen > init/main.o: In function `unknown_bootoption': > init/.tmp_main.o:(.init.text+0x454): relocation truncated to fit: > R_PARISC_PCREL22F against symbol `strlen' defined in .text section in > lib/string.o > hppa64-linux-ld: init/main.o(.init.text+0x4dc): cannot reach strchr > init/.tmp_main.o:(.init.text+0x4dc): additional relocation overflows > omitted from the output > hppa64-linux-ld: init/main.o(.init.text+0x638): cannot reach strncmp > hppa64-linux-ld: init/main.o(.init.text+0x694): cannot reach get_option > hppa64-linux-ld: init/main.o(.init.text+0x744): cannot reach strsep > hppa64-linux-ld: init/main.o(.init.text+0x798): cannot reach strlen > hppa64-linux-ld: init/main.o(.init.text+0x7d0): cannot reach strcpy > hppa64-linux-ld: init/main.o(.init.text+0x954): cannot reach strlcpy > hppa64-linux-ld: init/main.o(.init.text+0xab8): cannot reach strlen > hppa64-linux-ld: init/main.o(.init.text+0xafc): cannot reach strlen > hppa64-linux-ld: init/main.o(.init.text+0xb40): cannot reach strlen > hppa64-linux-ld: init/main.o(.init.text+0xb84): cannot reach strlen > hppa64-linux-ld: init/main.o(.init.text+0xbd0): cannot reach strcpy > hppa64-linux-ld: init/main.o(.init.text+0xbe8): cannot reach strcpy > hppa64-linux-ld: init/main.o(.init.text+0xc3c): cannot reach > build_all_zonelists > hppa64-linux-ld: init/main.o(.init.text+0x1200): cannot reach unknown > hppa64-linux-ld: init/main.o(.init.text+0x1278): cannot reach > wait_for_completion > hppa64-linux-ld: init/main.o(.init.text+0x12b0): cannot reach > _raw_spin_lock > hppa64-linux-ld: init/main.o(.init.text+0x147c): cannot reach strcpy > hppa64-linux-ld: init/main.o(.ref.text+0x40): cannot reach kernel_thread > hppa64-linux-ld: init/main.o(.ref.text+0x60): cannot reach > find_task_by_pid_ns > hppa64-linux-ld: init/main.o(.ref.text+0x98): cannot reach > set_cpus_allowed_ptr > hppa64-linux-ld: init/main.o(.ref.text+0xbc): cannot reach kernel_thread > hppa64-linux-ld: init/main.o(.ref.text+0xd4): cannot reach > find_task_by_pid_ns > hppa64-linux-ld: init/main.o(.ref.text+0x108): cannot reach complete > hppa64-linux-ld: init/main.o(.ref.text+0x128): cannot reach > cpu_startup_entry > hppa64-linux-ld: init/main.o(.ref.text+0x164): cannot reach unknown > hppa64-linux-ld: init/main.o(.ref.text+0x174): cannot reach > async_synchronize_full > hppa64-linux-ld: init/main.o(.ref.text+0x1a4): cannot reach > rcu_barrier_sched > hppa64-linux-ld: init/main.o(.ref.text+0x1b4): cannot reach > mark_rodata_ro > hppa64-linux-ld: init/main.o(.ref.text+0x1d4): cannot reach > rcu_end_inkernel_boot > hppa64-linux-ld: init/main.o(.ref.text+0x1f4): cannot reach unknown > hppa64-linux-ld: init/main.o(.ref.text+0x218): cannot reach printk > hppa64-linux-ld: init/main.o(.ref.text+0x238): cannot reach unknown > hppa64-linux-ld: init/main.o(.ref.text+0x258): cannot reach panic > hppa64-linux-ld: init/main.o(.ref.text+0x268): cannot reach printk > hppa64-linux-ld: init/main.o(.ref.text+0x280): cannot reach unknown > hppa64-linux-ld: init/main.o(.ref.text+0x29c): cannot reach unknown > hppa64-linux-ld: init/main.o(.ref.text+0x2b8): cannot reach unknown > hppa64-linux-ld: init/main.o(.ref.text+0x2d4): cannot reach unknown > hppa64-linux-ld: init/main.o(.ref.text+0x2f0): cannot reach panic > hppa64-linux-ld: init/do_mounts.o(.text+0x30): cannot reach strncasecmp > hppa64-linux-ld: init/do_mounts.o(.text+0x158): cannot reach strncmp > hppa64-linux-ld: init/do_mounts.o(.text+0x180): cannot reach strchr > > ... > > > On 07/26/2018 12:59 PM, Helge Deller wrote: >> * Alex Ghiti <alex@ghiti.fr>: >>> This is the result of the build for all arches tackled in this series >>> rebased on 4.18-rc6: >>> ... >>> 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. >> Strange, but I will check that later.... >> >> Anyway, I applied your v4-patch to my parisc64 tree, built the kernel, >> started it and ran some hugetlb LTP testcases sucessfully. >> So, please add: >> >> Tested-by: Helge Deller <deller@gmx.de> # parisc >> >> Helge > -- To unsubscribe from this list: send the line "unsubscribe sparclinux" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On 07/26/2018 04:46 AM, Michael Ellerman wrote: > Mike Kravetz <mike.kravetz@oracle.com> writes: > >> On 07/20/2018 11:37 AM, Alex Ghiti wrote: >>> Does anyone have any suggestion about those patches ? >> >> I only took a quick look. From the hugetlb perspective, I like the >> idea of moving routines to a common file. If any of the arch owners >> (or anyone else) agree, I can do a review of the series. > > The conversions look pretty good to me. If you want to give it a review > then from my point of view it could go in -mm to shake out any bugs. Nothing of significance found in a review. As others have suggested, the (cross)compiler may be better at finding issues than human eyes. I also suggest it be added to -mm.
Hi Alex, On 26.07.2018 21:13, Alex Ghiti wrote: > $ make ARCH=parisc O=build_parisc generic-64bit_defconfig > $ PATH=/home/alex/wip/toolchain/gcc-8.1.0-nolibc/hppa64-linux/bin:$PATH make ARCH=parisc CROSS_COMPILE=hppa64-linux- > >> ... >> LD vmlinux.o >> MODPOST vmlinux.o >> hppa64-linux-ld: init/main.o(.text+0x98): cannot reach strreplace >> init/main.o: In function `initcall_blacklisted': >> init/.tmp_main.o:(.text+0x98): relocation truncated to fit: R_PARISC_PCREL22F against symbol `strreplace' defined in .text section in lib/string.o >> hppa64-linux-ld: init/main.o(.text+0xbc): cannot reach strcmp In order to be able to link vmlinux, we need to enable CONFIG_MLONGCALLS=y in the defconfig. Nevertheless, I see some modversion issues too which I still need to analyze (but that's a completely off-topic issue here). Helge -- To unsubscribe from this list: send the line "unsubscribe sparclinux" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Hi Mike, Thanks for your review. I'm going to fix the 2nd patch as you said, you're right, no need to move the #include at the bottom of the file. I'm going to post a v5, add -mm in cc and ask for inclusion in their tree. Thanks again for your time, Alex On 07/26/2018 09:16 PM, Mike Kravetz wrote: > On 07/26/2018 04:46 AM, Michael Ellerman wrote: >> Mike Kravetz <mike.kravetz@oracle.com> writes: >> >>> On 07/20/2018 11:37 AM, Alex Ghiti wrote: >>>> Does anyone have any suggestion about those patches ? >>> I only took a quick look. From the hugetlb perspective, I like the >>> idea of moving routines to a common file. If any of the arch owners >>> (or anyone else) agree, I can do a review of the series. >> The conversions look pretty good to me. If you want to give it a review >> then from my point of view it could go in -mm to shake out any bugs. > Nothing of significance found in a review. As others have suggested, > the (cross)compiler may be better at finding issues than human eyes. > > I also suggest it be added to -mm. -- To unsubscribe from this list: send the line "unsubscribe sparclinux" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html