Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1467318 > unrolled thread
| Started by | Xie Yisheng <xieyisheng1@huawei.com> |
|---|---|
| First post | 2016-08-22 05:00 +0200 |
| Last post | 2016-08-22 12:30 +0200 |
| Articles | 6 — 4 participants |
Back to article view | Back to linux.kernel
[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
| From | Xie Yisheng <xieyisheng1@huawei.com> |
|---|---|
| Date | 2016-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]
| From | Xie Yisheng <xieyisheng1@huawei.com> |
|---|---|
| Date | 2016-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]
| From | Michal Hocko <mhocko@kernel.org> |
|---|---|
| Date | 2016-08-22 10:10 +0200 |
| Subject | Re: [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]
| From | Catalin Marinas <catalin.marinas@arm.com> |
|---|---|
| Date | 2016-08-22 12:10 +0200 |
| Subject | Re: [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]
| From | Yisheng Xie <xieyisheng1@huawei.com> |
|---|---|
| Date | 2016-08-22 13:40 +0200 |
| Subject | Re: [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]
| From | Catalin Marinas <catalin.marinas@arm.com> |
|---|---|
| Date | 2016-08-22 12:30 +0200 |
| Subject | Re: [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