Re: [RFC] kallsyms: embed source file:line info in kernel stack traces

Sasha Levin
2026-03-03T12:47:35Z

On Tue, Mar 03, 2026 at 10:31:46AM +0100, Jiri Slaby wrote:
>On 03. 03. 26, 9:11, Geert Uytterhoeven wrote:
>>On Tue, 3 Mar 2026 at 07:26, Richard Weinberger <richard@nod.at> wrote:
>>>>Von: "Sasha Levin" <sashal@kernel.org>
>>>>Add CONFIG_KALLSYMS_LINEINFO, which embeds a compact address-to-line
>>>>lookup table in the kernel image so stack traces directly print source
>>>>file and line number information:
>>
>>>>Memory footprint measured with a simple KVM guest x86_64 config:
>>>>
>>>> Table: 4,597,583 entries from 4,841 source files
>>>> lineinfo_addrs[] 4,597,583 x u32 = 17.5 MiB
>>>> lineinfo_file_ids[] 4,597,583 x u16 = 8.8 MiB
>>>> lineinfo_lines[] 4,597,583 x u32 = 17.5 MiB
>>>> file_offsets + filenames ~ 0.1 MiB
>>>> Total .rodata increase: ~ 44.0 MiB
>>>>
>>>> vmlinux (stripped): 529 MiB -> 573 MiB (+44 MiB / +8.3%)
>>>
>>>Hm, that's a significant increase.
>>
>>Other random idea: this data is only needed in case of a crash.
>>Perhaps it can be stored compressed, and only be decompressed
>>when needed, or even during look-up?
>
>But obviously not when dumping OOM stack traces :P.

Right - I really wanted to avoid memory allocations or disk I/O here.

I'm sure we can come up with more efficient ways to store this information - I
wanted to keep the initial version simple and easy for review.

--
Thanks,
Sasha