Re: [RFC 0/5] vmalloc_exec for modules and BPF programs
From: Song Liu
Date: Mon Aug 22 2022 - 11:47:28 EST
> On Aug 18, 2022, at 3:42 PM, Song Liu <song@xxxxxxxxxx> wrote:
>
> This set is a prototype that allows dynamic kernel text (modules, bpf
> programs, various trampolines, etc.) to share huge pages. The idea is
> similar to Peter's suggestion in [1]. Please refer to each patch for
> more detais.
>
> The ultimate goal is to only host kernel text in 2MB pages (for x86_64).
>
> Please share your comments on this.
>
> Thanks!
>
> [1] https://lore.kernel.org/bpf/Ys6cWUMHO8XwyYgr@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/
Hi Peter,
Could you please share your feedback on this?
Thanks,
Song
PS: I guess vger dropped my patch again. :( The set is also available at
https://git.kernel.org/pub/scm/linux/kernel/git/song/linux.git
branch vmalloc_exec.
>
> Song Liu (5):
> vmalloc: introduce vmalloc_exec and vfree_exec
> bpf: use vmalloc_exec
> modules, x86: use vmalloc_exec for module core
> vmalloc_exec: share a huge page with kernel text
> vmalloc: vfree_exec: free unused vm_struct
>
> arch/x86/Kconfig | 1 +
> arch/x86/kernel/alternative.c | 30 ++++-
> arch/x86/kernel/module.c | 1 +
> arch/x86/mm/init_64.c | 3 +-
> include/linux/vmalloc.h | 16 +--
> kernel/bpf/core.c | 155 ++------------------------
> kernel/module/main.c | 23 ++--
> kernel/module/strict_rwx.c | 3 -
> kernel/trace/ftrace.c | 3 +-
> mm/nommu.c | 7 ++
> mm/vmalloc.c | 200 +++++++++++++++++++++++++++++-----
> 11 files changed, 239 insertions(+), 203 deletions(-)
>
> --
> 2.30.2