mbox series

[bpf,0/4] bpf_prog_pack and vmalloc-on-huge-page fixes

Message ID 20220422051813.1989257-1-song@kernel.org (mailing list archive)
Headers show
Series bpf_prog_pack and vmalloc-on-huge-page fixes | expand

Message

Song Liu April 22, 2022, 5:18 a.m. UTC
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; 2/4 seems safe to go as well; 3/4 and 4/4
may still need more work/discussion.

Thanks!

[1] https://lore.kernel.org/linux-mm/20220415164413.2727220-1-song@kernel.org/
[2] https://lore.kernel.org/linux-mm/20220421072212.608884-1-song@kernel.org/

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

Comments

Luis Chamberlain April 22, 2022, 2:42 p.m. UTC | #1
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/20220415164413.2727220-1-song@kernel.org/
> [2] https://lore.kernel.org/linux-mm/20220421072212.608884-1-song@kernel.org/
> 
> 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