2022-04-22 17:25:52

by Luis Chamberlain

[permalink] [raw]
Subject: Re: [PATCH bpf 0/4] bpf_prog_pack and vmalloc-on-huge-page fixes

On Thu, Apr 21, 2022 at 10:18:09PM -0700, Song Liu wrote:
> NOTE: This set is based on Linus' master branch (d569e86915b7), not
> bpf/master.
>
> There are various discussion about these changes, check out [1] [2].
> I guess we can use this thread to discuss which patches should go in 5.18.
> AFAICT, 1/4 need to with 5.18;

Since huge pages are effectively disabled on v5.18 I can't see why.

> 2/4 seems safe to go as well;

My impression on the discussion was that huge pages design was broken
and evidence for this came up after x86 finally enabled *a small*
portion use case of it. This revealed how broken huge pages were not
just for x86 but for other architectures. And so I can't see why we'd
enable for v5.18 huge pages for the large system hash.

> 3/4 and 4/4
> may still need more work/discussion.

Happy to review these but if huge pages are disabled I don't see the
point in a module_alloc_huge() yet.

Luis

>
> Thanks!
>
> [1] https://lore.kernel.org/linux-mm/[email protected]/
> [2] https://lore.kernel.org/linux-mm/[email protected]/
>
> Song Liu (4):
> bpf: invalidate unused part of bpf_prog_pack
> page_alloc: use vmalloc_huge for large system hash
> module: introduce module_alloc_huge
> bpf: use module_alloc_huge for bpf_prog_pack
>
> arch/x86/kernel/module.c | 21 +++++++++++++++++++++
> arch/x86/net/bpf_jit_comp.c | 22 ++++++++++++++++++++++
> include/linux/bpf.h | 2 ++
> include/linux/moduleloader.h | 5 +++++
> kernel/bpf/core.c | 28 +++++++++++++++++++++-------
> kernel/module.c | 8 ++++++++
> mm/page_alloc.c | 2 +-
> 7 files changed, 80 insertions(+), 8 deletions(-)
>
> --
> 2.30.2