[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <e8b8b84a-b132-44f0-827b-668f32755ff7@oracle.com>
Date: Tue, 21 Oct 2025 18:27:37 +0100
From: Alan Maguire <alan.maguire@...cle.com>
To: Donglin Peng <dolinux.peng@...il.com>, ast@...nel.org
Cc: linux-kernel@...r.kernel.org, bpf@...r.kernel.org,
Eduard Zingerman <eddyz87@...il.com>,
Andrii Nakryiko <andrii.nakryiko@...il.com>,
Song Liu <song@...nel.org>, pengdonglin <pengdonglin@...omi.com>
Subject: Re: [RFC PATCH v2 5/5] btf: add CONFIG_BPF_SORT_BTF_BY_KIND_NAME
On 20/10/2025 10:39, Donglin Peng wrote:
> Pahole v1.32 and later supports BTF sorting. Add a new configuration
> option to control whether to enable this feature for vmlinux and
> kernel modules.
>
> Cc: Eduard Zingerman <eddyz87@...il.com>
> Cc: Alexei Starovoitov <ast@...nel.org>
> Cc: Andrii Nakryiko <andrii.nakryiko@...il.com>
> Cc: Alan Maguire <alan.maguire@...cle.com>
> Cc: Song Liu <song@...nel.org>
> Signed-off-by: pengdonglin <pengdonglin@...omi.com>
> Signed-off-by: Donglin Peng <dolinux.peng@...il.com>
> ---
> kernel/bpf/Kconfig | 8 ++++++++
> scripts/Makefile.btf | 5 +++++
> 2 files changed, 13 insertions(+)
>
> diff --git a/kernel/bpf/Kconfig b/kernel/bpf/Kconfig
> index eb3de35734f0..08251a250f06 100644
> --- a/kernel/bpf/Kconfig
> +++ b/kernel/bpf/Kconfig
> @@ -101,4 +101,12 @@ config BPF_LSM
>
> If you are unsure how to answer this question, answer N.
>
> +config BPF_SORT_BTF_BY_KIND_NAME
> + bool "Sort BTF types by kind and name"
> + depends on BPF_SYSCALL
> + help
> + This option sorts BTF types in vmlinux and kernel modules by their
> + kind and name, enabling binary search for btf_find_by_name_kind()
> + and significantly improving its lookup performance.
> +
> endmenu # "BPF subsystem"
> diff --git a/scripts/Makefile.btf b/scripts/Makefile.btf
> index db76335dd917..3f1a0b3c3f3f 100644
> --- a/scripts/Makefile.btf
> +++ b/scripts/Makefile.btf
> @@ -29,6 +29,11 @@ ifneq ($(KBUILD_EXTMOD),)
> module-pahole-flags-$(call test-ge, $(pahole-ver), 128) += --btf_features=distilled_base
> endif
>
> +ifeq ($(call test-ge, $(pahole-ver), 132),y)
> +pahole-flags-$(CONFIG_BPF_SORT_BTF_BY_KIND_NAME) += --btf_features=sort
> +module-pahole-flags-$(CONFIG_BPF_SORT_BTF_BY_KIND_NAME) += --btf_features=sort
> +endif
> +
perhaps it's useful informationally, but you don't need to wrap the
addition of the sort flag in a pahole version check; unsupported
btf_features are just ignored. Also we're at v1.30 in pahole now (we'll
be releasing 1.31 shortly hopefully), so any version check should be
v1.30/v1.31. I'd say just leave out the version check though.
Alan
Powered by blists - more mailing lists