Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1467318 > unrolled thread

[RFC PATCH v2 0/2] arm64/hugetlb: enable gigantic page

Started byXie Yisheng <xieyisheng1@huawei.com>
First post2016-08-22 05:00 +0200
Last post2016-08-22 12:30 +0200
Articles 6 — 4 participants

Back to article view | Back to linux.kernel


Contents

  [RFC PATCH v2 0/2] arm64/hugetlb: enable gigantic page Xie Yisheng <xieyisheng1@huawei.com> - 2016-08-22 05:00 +0200
    [RFC PATCH v2 2/2] arm64 Kconfig: Select gigantic page Xie Yisheng <xieyisheng1@huawei.com> - 2016-08-22 05:10 +0200
      Re: [RFC PATCH v2 2/2] arm64 Kconfig: Select gigantic page Michal Hocko <mhocko@kernel.org> - 2016-08-22 10:10 +0200
        Re: [RFC PATCH v2 2/2] arm64 Kconfig: Select gigantic page Catalin Marinas <catalin.marinas@arm.com> - 2016-08-22 12:10 +0200
          Re: [RFC PATCH v2 2/2] arm64 Kconfig: Select gigantic page Yisheng Xie <xieyisheng1@huawei.com> - 2016-08-22 13:40 +0200
      Re: [RFC PATCH v2 2/2] arm64 Kconfig: Select gigantic page Catalin Marinas <catalin.marinas@arm.com> - 2016-08-22 12:30 +0200

#1467318 — [RFC PATCH v2 0/2] arm64/hugetlb: enable gigantic page

FromXie Yisheng <xieyisheng1@huawei.com>
Date2016-08-22 05:00 +0200
Subject[RFC PATCH v2 0/2] arm64/hugetlb: enable gigantic page
Message-ID<s8NCV-mn-5@gated-at.bofh.it>
Arm64 supports different size of gigantic page which can be seen from:
commit 084bd29810a5 ("ARM64: mm: HugeTLB support.")
commit 66b3923a1a0f ("arm64: hugetlb: add support for PTE contiguous bit")

So I tried to use this function by adding hugepagesz=1G in kernel
parameters, with CONFIG_CMA=y. However, when I
echo xx > \
  /sys/kernel/mm/hugepages/hugepages-1048576kB/nr_hugepages
it failed with the following info:
-bash: echo: write error: Invalid argument

This is a v2 patchset which make gigantic page can be used on arm64,
with CONFIG_CMA=y, or other related configs is enable.

You can see the former discussions at:
https://lkml.org/lkml/2016/8/18/310
 
Xie Yisheng (2):
  mm/hugetlb: Introduce ARCH_HAS_GIGANTIC_PAGE
  arm64 Kconfig: Select gigantic page

 arch/arm64/Kconfig | 1 +
 arch/s390/Kconfig  | 1 +
 arch/x86/Kconfig   | 1 +
 fs/Kconfig         | 4 ++++
 mm/hugetlb.c       | 2 +-
 5 files changed, 8 insertions(+), 1 deletion(-)

-- 
1.7.12.4

[toc] | [next] | [standalone]


#1467319 — [RFC PATCH v2 2/2] arm64 Kconfig: Select gigantic page

FromXie Yisheng <xieyisheng1@huawei.com>
Date2016-08-22 05:10 +0200
Subject[RFC PATCH v2 2/2] arm64 Kconfig: Select gigantic page
Message-ID<s8NMC-EB-1@gated-at.bofh.it>
In reply to#1467318
Arm64 supports gigantic page after
commit 084bd29810a5 ("ARM64: mm: HugeTLB support.")
however, it got broken by 
commit 944d9fec8d7a ("hugetlb: add support for gigantic page
allocation at runtime")

This patch selects ARCH_HAS_GIGANTIC_PAGE to make this
function can be used again.

Signed-off-by: Xie Yisheng <xieyisheng1@huawei.com>
---
 arch/arm64/Kconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig
index bc3f00f..92217f6 100644
--- a/arch/arm64/Kconfig
+++ b/arch/arm64/Kconfig
@@ -9,6 +9,7 @@ config ARM64
 	select ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE
 	select ARCH_HAS_ELF_RANDOMIZE
 	select ARCH_HAS_GCOV_PROFILE_ALL
+	select ARCH_HAS_GIGANTIC_PAGE
 	select ARCH_HAS_KCOV
 	select ARCH_HAS_SG_CHAIN
 	select ARCH_HAS_TICK_BROADCAST if GENERIC_CLOCKEVENTS_BROADCAST
-- 
1.7.12.4

[toc] | [prev] | [next] | [standalone]


#1467439 — Re: [RFC PATCH v2 2/2] arm64 Kconfig: Select gigantic page

FromMichal Hocko <mhocko@kernel.org>
Date2016-08-22 10:10 +0200
SubjectRe: [RFC PATCH v2 2/2] arm64 Kconfig: Select gigantic page
Message-ID<s8SsV-3Ku-27@gated-at.bofh.it>
In reply to#1467319
On Mon 22-08-16 10:56:43, Xie Yisheng wrote:
> Arm64 supports gigantic page after
> commit 084bd29810a5 ("ARM64: mm: HugeTLB support.")
> however, it got broken by 
> commit 944d9fec8d7a ("hugetlb: add support for gigantic page
> allocation at runtime")
> 
> This patch selects ARCH_HAS_GIGANTIC_PAGE to make this
> function can be used again.

I haven't double checked that the above commit really broke it but if
that is the case then
 
Fixes: 944d9fec8d7a ("hugetlb: add support for gigantic page allocation at runtime")

would be nice as well I guess. I do not think that marking it for stable
is really necessary considering how long it's been broken and nobody has
noticed...

> Signed-off-by: Xie Yisheng <xieyisheng1@huawei.com>

Acked-by: Michal Hocko <mhocko@suse.com>

> ---
>  arch/arm64/Kconfig | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig
> index bc3f00f..92217f6 100644
> --- a/arch/arm64/Kconfig
> +++ b/arch/arm64/Kconfig
> @@ -9,6 +9,7 @@ config ARM64
>  	select ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE
>  	select ARCH_HAS_ELF_RANDOMIZE
>  	select ARCH_HAS_GCOV_PROFILE_ALL
> +	select ARCH_HAS_GIGANTIC_PAGE
>  	select ARCH_HAS_KCOV
>  	select ARCH_HAS_SG_CHAIN
>  	select ARCH_HAS_TICK_BROADCAST if GENERIC_CLOCKEVENTS_BROADCAST
> -- 
> 1.7.12.4
> 

-- 
Michal Hocko
SUSE Labs

[toc] | [prev] | [next] | [standalone]


#1467517 — Re: [RFC PATCH v2 2/2] arm64 Kconfig: Select gigantic page

FromCatalin Marinas <catalin.marinas@arm.com>
Date2016-08-22 12:10 +0200
SubjectRe: [RFC PATCH v2 2/2] arm64 Kconfig: Select gigantic page
Message-ID<s8Ul3-4Vk-13@gated-at.bofh.it>
In reply to#1467439
On Mon, Aug 22, 2016 at 10:03:58AM +0200, Michal Hocko wrote:
> On Mon 22-08-16 10:56:43, Xie Yisheng wrote:
> > Arm64 supports gigantic page after
> > commit 084bd29810a5 ("ARM64: mm: HugeTLB support.")
> > however, it got broken by 
> > commit 944d9fec8d7a ("hugetlb: add support for gigantic page
> > allocation at runtime")
> > 
> > This patch selects ARCH_HAS_GIGANTIC_PAGE to make this
> > function can be used again.
> 
> I haven't double checked that the above commit really broke it but if
> that is the case then
>  
> Fixes: 944d9fec8d7a ("hugetlb: add support for gigantic page allocation at runtime")
> 
> would be nice as well I guess. I do not think that marking it for stable
> is really necessary considering how long it's been broken and nobody has
> noticed...

I'm not sure that commit broke it. The gigantic functionality introduced
by the above commit was under an #ifdef CONFIG_X86_64. Prior
to that we had a VM_BUG_ON(hstate_is_gigantic(h)).

-- 
Catalin

[toc] | [prev] | [next] | [standalone]


#1467561 — Re: [RFC PATCH v2 2/2] arm64 Kconfig: Select gigantic page

FromYisheng Xie <xieyisheng1@huawei.com>
Date2016-08-22 13:40 +0200
SubjectRe: [RFC PATCH v2 2/2] arm64 Kconfig: Select gigantic page
Message-ID<s8VK9-5Hj-5@gated-at.bofh.it>
In reply to#1467517

On 2016/8/22 18:00, Catalin Marinas wrote:
> On Mon, Aug 22, 2016 at 10:03:58AM +0200, Michal Hocko wrote:
>> On Mon 22-08-16 10:56:43, Xie Yisheng wrote:
>>> Arm64 supports gigantic page after
>>> commit 084bd29810a5 ("ARM64: mm: HugeTLB support.")
>>> however, it got broken by 
>>> commit 944d9fec8d7a ("hugetlb: add support for gigantic page
>>> allocation at runtime")
>>>
>>> This patch selects ARCH_HAS_GIGANTIC_PAGE to make this
>>> function can be used again.
>>
>> I haven't double checked that the above commit really broke it but if
>> that is the case then
>>  
>> Fixes: 944d9fec8d7a ("hugetlb: add support for gigantic page allocation at runtime")
>>
>> would be nice as well I guess. I do not think that marking it for stable
>> is really necessary considering how long it's been broken and nobody has
>> noticed...
> 
> I'm not sure that commit broke it. The gigantic functionality introduced
> by the above commit was under an #ifdef CONFIG_X86_64. Prior
> to that we had a VM_BUG_ON(hstate_is_gigantic(h)).
> 
Hi Catalin and Michal ,
Thank you for your reply.
Before that commit gigantic pages can only be allocated at boottime and
can't be freed. That why we had VM_BUG_ON(hstate_is_gigantic(h)) in
function update_and_free_page() Prior to that.

Anyway, it should not just add #ifdef CONFIG_X86_64 for arm64 already
supported 1G hugepage before that commit. Right?

Please let me know if I miss something.

Thanks
Xie Yisheng.

[toc] | [prev] | [next] | [standalone]


#1467530 — Re: [RFC PATCH v2 2/2] arm64 Kconfig: Select gigantic page

FromCatalin Marinas <catalin.marinas@arm.com>
Date2016-08-22 12:30 +0200
SubjectRe: [RFC PATCH v2 2/2] arm64 Kconfig: Select gigantic page
Message-ID<s8UEq-52o-29@gated-at.bofh.it>
In reply to#1467319
On Mon, Aug 22, 2016 at 10:56:43AM +0800, Xie Yisheng wrote:
> Arm64 supports gigantic page after
> commit 084bd29810a5 ("ARM64: mm: HugeTLB support.")
> however, it got broken by 
> commit 944d9fec8d7a ("hugetlb: add support for gigantic page
> allocation at runtime")
> 
> This patch selects ARCH_HAS_GIGANTIC_PAGE to make this
> function can be used again.
> 
> Signed-off-by: Xie Yisheng <xieyisheng1@huawei.com>
> ---
>  arch/arm64/Kconfig | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig
> index bc3f00f..92217f6 100644
> --- a/arch/arm64/Kconfig
> +++ b/arch/arm64/Kconfig
> @@ -9,6 +9,7 @@ config ARM64
>  	select ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE
>  	select ARCH_HAS_ELF_RANDOMIZE
>  	select ARCH_HAS_GCOV_PROFILE_ALL
> +	select ARCH_HAS_GIGANTIC_PAGE

Acked-by: Catalin Marinas <catalin.marinas@arm.com>

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web