Re: [PATCH v2 bpf 0/3] vmalloc: bpf: introduce VM_ALLOW_HUGE_VMAP

From: Luis Chamberlain
Date: Tue Apr 12 2022 - 11:38:51 EST


On Mon, Apr 11, 2022 at 04:18:05PM -0700, Song Liu wrote:
> Changes v1 => v2:
> 1. Add vmalloc_huge(). (Christoph Hellwig)
> 2. Add module_alloc_huge(). (Christoph Hellwig)
> 3. Add Fixes tag and Link tag. (Thorsten Leemhuis)
>
> Enabling HAVE_ARCH_HUGE_VMALLOC on x86_64 and use it for bpf_prog_pack has
> caused some issues [1], as many users of vmalloc are not yet ready to
> handle huge pages. To enable a more smooth transition to use huge page
> backed vmalloc memory, this set replaces VM_NO_HUGE_VMAP flag with an new
> opt-in flag, VM_ALLOW_HUGE_VMAP. More discussions about this topic can be
> found at [2].
>
> Patch 1 removes VM_NO_HUGE_VMAP and adds VM_ALLOW_HUGE_VMAP.
> Patch 2 uses VM_ALLOW_HUGE_VMAP in bpf_prog_pack.
>
> [1] https://lore.kernel.org/lkml/20220204185742.271030-1-song@xxxxxxxxxx/
> [2] https://lore.kernel.org/linux-mm/20220330225642.1163897-1-song@xxxxxxxxxx/
>
> Song Liu (3):
> vmalloc: replace VM_NO_HUGE_VMAP with VM_ALLOW_HUGE_VMAP
> module: introduce module_alloc_huge
> bpf: use vmalloc with VM_ALLOW_HUGE_VMAP for bpf_prog_pack
>
> arch/Kconfig | 6 ++----
> arch/powerpc/kernel/module.c | 2 +-
> arch/s390/kvm/pv.c | 2 +-
> arch/x86/kernel/module.c | 21 +++++++++++++++++++
> include/linux/moduleloader.h | 5 +++++
> include/linux/vmalloc.h | 4 ++--
> kernel/bpf/core.c | 9 +++++----
> kernel/module.c | 8 ++++++++

Please use modules-next [0] as that has queued up changes which change
kernel/module.c quite a bit.

[0] https://git.kernel.org/pub/scm/linux/kernel/git/mcgrof/linux.git/log/?h=modules-next

Luis