There are two issues with bpf_prog_pack: (1) On NUMA systems, bpf_prog_pack need to be bigger (PMD_SIZE * num_online_nodes) to use huge pages. (2) If the system doesn't support huge pages (nohugevmalloc in cmdline), allocating PMD_SIZE for bpf_prog_pack is a waste. Address these issues with flexible bpf_prog_pack_size(). Song Liu (2): vmalloc: expose vmap_allow_huge via get_vmap_allow_huge() bpf: flexible size for bpf_prog_pack include/linux/vmalloc.h | 1 + kernel/bpf/core.c | 47 +++++++++++++++++++++++------------------ mm/vmalloc.c | 5 +++++ 3 files changed, 33 insertions(+), 20 deletions(-) -- 2.30.2