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/[email protected]/
> [2] https://lore.kernel.org/linux-mm/[email protected]/
>
> 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
Hi Luis,
On Tue, Apr 12, 2022 at 8:38 AM Luis Chamberlain <[email protected]> wrote:
>
> 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/[email protected]/
> > [2] https://lore.kernel.org/linux-mm/[email protected]/
> >
> > 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
We are hoping to ship this set to fix some issues with 5.18. So I guess it
shouldn't go through modules-next branch? Would this work for you?
We are adding a new API module_alloc_huge(), so it shouldn't break
existing features.
Thanks,
Song