2022-09-07 12:05:45

by Kefeng Wang

[permalink] [raw]
Subject: [PATCH] arm64: support huge vmalloc mappings

As commit 59089e0a93d ("vmalloc: replace VM_NO_HUGE_VMAP with
VM_ALLOW_HUGE_VMAP"), the use of hugepage mappings for vmalloc
is an opt-in strategy, so it is saftly to support huge vmalloc
mappings on arm64, for now, it is used in kvmalloc() and
alloc_large_system_hash().

Signed-off-by: Kefeng Wang <[email protected]>
---
Documentation/admin-guide/kernel-parameters.txt | 2 +-
arch/arm64/Kconfig | 1 +
2 files changed, 2 insertions(+), 1 deletion(-)

diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt
index 2434c6729f1c..33b7998f0170 100644
--- a/Documentation/admin-guide/kernel-parameters.txt
+++ b/Documentation/admin-guide/kernel-parameters.txt
@@ -3617,7 +3617,7 @@

nohugeiomap [KNL,X86,PPC,ARM64] Disable kernel huge I/O mappings.

- nohugevmalloc [PPC] Disable kernel huge vmalloc mappings.
+ nohugevmalloc [KNL,X86,PPC,ARM64] Disable kernel huge vmalloc mappings.

nosmt [KNL,S390] Disable symmetric multithreading (SMT).
Equivalent to smt=1.
diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig
index b3073f6f6c3a..500979dfde37 100644
--- a/arch/arm64/Kconfig
+++ b/arch/arm64/Kconfig
@@ -149,6 +149,7 @@ config ARM64
select HAVE_ARCH_AUDITSYSCALL
select HAVE_ARCH_BITREVERSE
select HAVE_ARCH_COMPILER_H
+ select HAVE_ARCH_HUGE_VMALLOC
select HAVE_ARCH_HUGE_VMAP
select HAVE_ARCH_JUMP_LABEL
select HAVE_ARCH_JUMP_LABEL_RELATIVE
--
2.35.3


2022-09-09 18:20:39

by Catalin Marinas

[permalink] [raw]
Subject: Re: [PATCH] arm64: support huge vmalloc mappings

On Wed, Sep 07, 2022 at 07:49:50PM +0800, Kefeng Wang wrote:
> As commit 59089e0a93d ("vmalloc: replace VM_NO_HUGE_VMAP with
> VM_ALLOW_HUGE_VMAP"), the use of hugepage mappings for vmalloc

What's this commit? I can't find it anywhere.

--
Catalin

2022-09-11 04:13:19

by Kefeng Wang

[permalink] [raw]
Subject: Re: [PATCH] arm64: support huge vmalloc mappings


On 2022/9/10 1:38, Catalin Marinas wrote:
> On Wed, Sep 07, 2022 at 07:49:50PM +0800, Kefeng Wang wrote:
>> As commit 59089e0a93d ("vmalloc: replace VM_NO_HUGE_VMAP with
>> VM_ALLOW_HUGE_VMAP"), the use of hugepage mappings for vmalloc
> What's this commit? I can't find it anywhere.
sorry, should be 559089e0a93d

>

2022-09-11 05:38:34

by Kefeng Wang

[permalink] [raw]
Subject: [PATCH Resend] arm64: support huge vmalloc mappings

As commit 559089e0a93d ("vmalloc: replace VM_NO_HUGE_VMAP with
VM_ALLOW_HUGE_VMAP"), the use of hugepage mappings for vmalloc
is an opt-in strategy, so it is saftly to support huge vmalloc
mappings on arm64, for now, it is used in kvmalloc() and
alloc_large_system_hash().

Signed-off-by: Kefeng Wang <[email protected]>
---
Resend: correct commit id

Documentation/admin-guide/kernel-parameters.txt | 2 +-
arch/arm64/Kconfig | 1 +
2 files changed, 2 insertions(+), 1 deletion(-)

diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt
index 01c996f0cdaf..2f58c764b094 100644
--- a/Documentation/admin-guide/kernel-parameters.txt
+++ b/Documentation/admin-guide/kernel-parameters.txt
@@ -3617,7 +3617,7 @@

nohugeiomap [KNL,X86,PPC,ARM64] Disable kernel huge I/O mappings.

- nohugevmalloc [PPC] Disable kernel huge vmalloc mappings.
+ nohugevmalloc [KNL,X86,PPC,ARM64] Disable kernel huge vmalloc mappings.

nosmt [KNL,S390] Disable symmetric multithreading (SMT).
Equivalent to smt=1.
diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig
index a62a8a23c6e5..679d9a9c98d8 100644
--- a/arch/arm64/Kconfig
+++ b/arch/arm64/Kconfig
@@ -149,6 +149,7 @@ config ARM64
select HAVE_ARCH_AUDITSYSCALL
select HAVE_ARCH_BITREVERSE
select HAVE_ARCH_COMPILER_H
+ select HAVE_ARCH_HUGE_VMALLOC
select HAVE_ARCH_HUGE_VMAP
select HAVE_ARCH_JUMP_LABEL
select HAVE_ARCH_JUMP_LABEL_RELATIVE
--
2.35.3

2022-09-16 18:00:00

by Catalin Marinas

[permalink] [raw]
Subject: Re: [PATCH Resend] arm64: support huge vmalloc mappings

On Sun, 11 Sep 2022 12:44:23 +0800, Kefeng Wang wrote:
> As commit 559089e0a93d ("vmalloc: replace VM_NO_HUGE_VMAP with
> VM_ALLOW_HUGE_VMAP"), the use of hugepage mappings for vmalloc
> is an opt-in strategy, so it is saftly to support huge vmalloc
> mappings on arm64, for now, it is used in kvmalloc() and
> alloc_large_system_hash().
>
>
> [...]

Applied to arm64 (for-next/misc), thanks!

[1/1] arm64: support huge vmalloc mappings
https://git.kernel.org/arm64/c/e92072237e6c

--
Catalin