From: Stephen Brennan <stephen.s.brennan@oracle.com>
To: Alexei Starovoitov <alexei.starovoitov@gmail.com>
Cc: Masahiro Yamada <masahiroy@kernel.org>,
Andrii Nakryiko <andrii@kernel.org>,
Nicolas Schier <nicolas@fjasle.eu>, Kees Cook <kees@kernel.org>,
KP Singh <kpsingh@kernel.org>,
Martin KaFai Lau <martin.lau@linux.dev>,
Sami Tolvanen <samitolvanen@google.com>,
Eduard Zingerman <eddyz87@gmail.com>,
linux-arch <linux-arch@vger.kernel.org>,
Stanislav Fomichev <sdf@fomichev.me>,
Kent Overstreet <kent.overstreet@linux.dev>,
Pasha Tatashin <pasha.tatashin@soleen.com>,
Jiri Olsa <jolsa@kernel.org>,
John Fastabend <john.fastabend@gmail.com>,
Jann Horn <jannh@google.com>, Ard Biesheuvel <ardb@kernel.org>,
Yonghong Song <yonghong.song@linux.dev>,
Hao Luo <haoluo@google.com>,
Andrew Morton <akpm@linux-foundation.org>,
Linux Kbuild mailing list <linux-kbuild@vger.kernel.org>,
Daniel Borkmann <daniel@iogearbox.net>,
Arnd Bergmann <arnd@arndb.de>,
Nathan Chancellor <nathan@kernel.org>,
linux-debuggers@vger.kernel.org,
Alexei Starovoitov <ast@kernel.org>, Song Liu <song@kernel.org>,
LKML <linux-kernel@vger.kernel.org>, bpf <bpf@vger.kernel.org>
Subject: Re: [PATCH 2/2] btf: Add the option to include global variable types
Date: Tue, 11 Feb 2025 15:58:57 -0800 [thread overview]
Message-ID: <87a5asghj2.fsf@oracle.com> (raw)
In-Reply-To: <CAADnVQLiyezBW34dhkwZw+mWmkFAYMZUdHbOa4uYCdPbgS10SQ@mail.gmail.com>
Alexei Starovoitov <alexei.starovoitov@gmail.com> writes:
> On Thu, Feb 6, 2025 at 5:21 PM Stephen Brennan
> <stephen.s.brennan@oracle.com> wrote:
>> When the feature was implemented in pahole, my measurements indicated
>> that vmlinux BTF size increased by about 25.8%, and module BTF size
>> increased by 53.2%. Due to these increases, the feature is implemented
>> behind a new config option, allowing users sensitive to increased memory
>> usage to disable it.
>>
>
> ...
>> +config DEBUG_INFO_BTF_GLOBAL_VARS
>> + bool "Generate BTF type information for all global variables"
>> + default y
>> + depends on DEBUG_INFO_BTF && PAHOLE_VERSION >= 128
>> + help
>> + Include type information for all global variables in the BTF. This
>> + increases the size of the BTF information, which increases memory
>> + usage at runtime. With global variable types available, runtime
>> + debugging and tracers may be able to provide more detail.
>
> This is not a solution.
> Even if it's changed to 'default n' distros will enable it
> like they enable everything and will suffer a regression.
>
> We need to add a new module like vmlinux_btf.ko that will contain
> this additional BTF data. For global vars and everything else we might need.
Fair enough. I believe I had shared Alan Maguire's proof-of-concept for
that idea a while back for an older version of this feature:
https://lore.kernel.org/all/20221104231103.752040-10-stephen.s.brennan@oracle.com/
We can dust that off and include it for a new version of this series.
I'd be curious of what you'd like to see for kernel modules? A
three-level tree would be too complex, in my opinion.
As a separate note for this patch series, we discovered that variables
declared twice, where one is declared "__weak", will result in two DWARF
variable declarations, and thus two BTF variables. This trips up the BTF
validation code. So this series as it is cannot move forward. I'm
submitting a fix to dwarves today.
Thanks,
Stephen
next prev parent reply other threads:[~2025-02-11 23:59 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-02-07 1:20 [PATCH 0/2] Add option for generating BTF types of global variables Stephen Brennan
2025-02-07 1:20 ` [PATCH 1/2] kallsyms: output rodata to ".kallsyms_rodata" Stephen Brennan
2025-02-15 14:21 ` Masahiro Yamada
2025-02-24 18:51 ` Andrii Nakryiko
2025-02-25 1:24 ` Stephen Brennan
2025-02-25 16:59 ` Andrii Nakryiko
2025-02-07 1:20 ` [PATCH 2/2] btf: Add the option to include global variable types Stephen Brennan
2025-02-07 23:50 ` Alexei Starovoitov
2025-02-11 23:58 ` Stephen Brennan [this message]
2025-02-14 1:18 ` Alexei Starovoitov
2025-02-18 23:09 ` Stephen Brennan
2025-02-25 21:47 ` Andrii Nakryiko
2025-02-25 10:01 ` Alan Maguire
2025-02-25 21:52 ` Andrii Nakryiko
2025-02-26 14:20 ` Alan Maguire
2025-02-26 16:57 ` Andrii Nakryiko
2025-05-12 11:15 ` Tony Ambardar
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87a5asghj2.fsf@oracle.com \
--to=stephen.s.brennan@oracle.com \
--cc=akpm@linux-foundation.org \
--cc=alexei.starovoitov@gmail.com \
--cc=andrii@kernel.org \
--cc=ardb@kernel.org \
--cc=arnd@arndb.de \
--cc=ast@kernel.org \
--cc=bpf@vger.kernel.org \
--cc=daniel@iogearbox.net \
--cc=eddyz87@gmail.com \
--cc=haoluo@google.com \
--cc=jannh@google.com \
--cc=john.fastabend@gmail.com \
--cc=jolsa@kernel.org \
--cc=kees@kernel.org \
--cc=kent.overstreet@linux.dev \
--cc=kpsingh@kernel.org \
--cc=linux-arch@vger.kernel.org \
--cc=linux-debuggers@vger.kernel.org \
--cc=linux-kbuild@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=martin.lau@linux.dev \
--cc=masahiroy@kernel.org \
--cc=nathan@kernel.org \
--cc=nicolas@fjasle.eu \
--cc=pasha.tatashin@soleen.com \
--cc=samitolvanen@google.com \
--cc=sdf@fomichev.me \
--cc=song@kernel.org \
--cc=yonghong.song@linux.dev \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.