ksummit.lists.linux.dev archive mirror
 help / color / mirror / Atom feed
From: Richard Weinberger <richard@nod.at>
To: Sasha Levin <sashal@kernel.org>
Cc: Linus Torvalds <torvalds@linuxfoundation.org>,
	 Andrew Morton <akpm@linux-foundation.org>,
	 Geert Uytterhoeven <geert@linux-m68k.org>,
	 Konstantin Ryabitsev <konstantin@linuxfoundation.org>,
	 ksummit <ksummit@lists.linux.dev>,
	 laurent pinchart <laurent.pinchart@ideasonboard.com>,
	 Thorsten Leemhuis <linux@leemhuis.info>,
	 Steven Rostedt <rostedt@goodmis.org>, users <users@kernel.org>
Subject: Re: [RFC] kallsyms: embed source file:line info in kernel stack traces
Date: Tue, 3 Mar 2026 07:26:13 +0100 (CET)	[thread overview]
Message-ID: <91334269.1714.1772519173246.JavaMail.zimbra@nod.at> (raw)
In-Reply-To: <20260302202828.2722037-1-sashal@kernel.org>

----- Ursprüngliche Mail -----
> 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:
> 
>  root@localhost:~# echo c > /proc/sysrq-trigger
>  [   11.201987] sysrq: Trigger a crash
>  [   11.202831] Kernel panic - not syncing: sysrq triggered crash
>  [   11.206218] Call Trace:
>  [   11.206501]  <TASK>
>  [   11.206749]  dump_stack_lvl+0x5d/0x80 (lib/dump_stack.c:94)
>  [   11.207403]  vpanic+0x36e/0x620 (kernel/panic.c:650)
>  [   11.208565]  ? __lock_acquire+0x465/0x2240 (kernel/locking/lockdep.c:4674)
>  [   11.209324]  panic+0xc9/0xd0 (kernel/panic.c:787)
>  [   11.211873]  ? find_held_lock+0x2b/0x80 (kernel/locking/lockdep.c:5350)
>  [   11.212597]  ? lock_release+0xd3/0x300 (kernel/locking/lockdep.c:5535)
>  [   11.213312]  sysrq_handle_crash+0x1a/0x20 (drivers/tty/sysrq.c:154)
>  [   11.214005]  __handle_sysrq.cold+0x66/0x256 (drivers/tty/sysrq.c:611)
>  [   11.214712]  write_sysrq_trigger+0x65/0x80 (drivers/tty/sysrq.c:1221)
>  [   11.215424]  proc_reg_write+0x1bd/0x3c0 (fs/proc/inode.c:330)
>  [   11.216061]  vfs_write+0x1c6/0xff0 (fs/read_write.c:686)
>  [   11.218848]  ksys_write+0xfa/0x200 (fs/read_write.c:740)
>  [   11.222394]  do_syscall_64+0xf3/0x690 (arch/x86/entry/syscall_64.c:63)
>  [   11.223942]  entry_SYSCALL_64_after_hwframe+0x77/0x7f
>  (arch/x86/entry/entry_64.S:121)

Seems useful. :-)
 
> At build time, a new host tool (scripts/gen_lineinfo) reads DWARF
> .debug_line from vmlinux using libdw (elfutils), extracts all
> address-to-file:line mappings, and generates an assembly file with
> sorted parallel arrays (offsets from _text, file IDs, and line
> numbers). These are linked into vmlinux as .rodata.
> 
> At runtime, kallsyms_lookup_lineinfo() does a binary search on the
> table and __sprint_symbol() appends "(file:line)" to each stack frame.
> The lookup uses offsets from _text so it works with KASLR, requires no
> locks or allocations, and is safe in any context including panic.
> 
> The feature requires CONFIG_DEBUG_INFO (for DWARF data) and
> elfutils (libdw-dev) on the build host.
> 
> 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.

Thanks,
//richard

  parent reply	other threads:[~2026-03-03  6:26 UTC|newest]

Thread overview: 117+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-12-10  4:48 kernel.org tooling update Konstantin Ryabitsev
2025-12-10  8:11 ` Mauro Carvalho Chehab
2025-12-10 13:30 ` Thorsten Leemhuis
2025-12-11  3:04   ` Theodore Tso
2025-12-12 23:48   ` Stephen Hemminger
2025-12-12 23:54     ` Randy Dunlap
2025-12-16 16:21 ` Lukas Wunner
2025-12-16 20:33   ` Jeff Johnson
2025-12-17  0:47     ` Mario Limonciello
2025-12-18 13:37       ` Jani Nikula
2025-12-18 14:09         ` Mario Limonciello
2026-01-23  9:19 ` Web of Trust work [Was: kernel.org tooling update] Uwe Kleine-König
2026-01-23  9:29   ` Greg KH
2026-01-23 11:47     ` Mauro Carvalho Chehab
2026-01-23 11:58       ` Greg KH
2026-01-23 12:24         ` Mauro Carvalho Chehab
2026-01-23 12:29           ` Greg KH
2026-01-23 13:57         ` Konstantin Ryabitsev
2026-01-23 16:24     ` James Bottomley
2026-01-23 16:33       ` Greg KH
2026-01-23 16:42         ` Joe Perches
2026-01-23 17:00           ` Steven Rostedt
2026-01-23 17:23         ` James Bottomley
2026-01-23 18:23           ` Konstantin Ryabitsev
2026-01-23 21:12             ` Uwe Kleine-König
2026-01-26 16:23               ` Konstantin Ryabitsev
2026-01-26 17:32                 ` Uwe Kleine-König
2026-01-26 21:01                   ` Konstantin Ryabitsev
2026-01-26 23:23                   ` James Bottomley
2026-01-27  8:39                     ` Uwe Kleine-König
2026-01-27 21:08                       ` Linus Torvalds
2026-02-04 10:49                         ` Uwe Kleine-König
2026-02-05 10:14                           ` James Bottomley
2026-02-05 18:07                             ` Uwe Kleine-König
2026-02-05 18:23                               ` Konstantin Ryabitsev
2026-01-26 23:33                   ` Mauro Carvalho Chehab
2026-01-26 23:06                 ` Mauro Carvalho Chehab
2026-01-23 21:38             ` James Bottomley
2026-01-23 22:55             ` Mauro Carvalho Chehab
2026-01-23 16:38       ` Konstantin Ryabitsev
2026-01-23 17:02         ` Paul Moore
2026-03-08  7:21     ` Uwe Kleine-König
2026-03-08 10:24       ` Greg KH
2026-03-18 14:02         ` Greg KH
2026-01-23 18:42 ` kernel.org tooling update Randy Dunlap
2026-02-26  8:44 ` slowly decommission bugzilla? (was: Re: kernel.org tooling update) Thorsten Leemhuis
2026-02-26 14:40   ` Andrew G. Morgan
2026-02-26 17:04   ` Andrew Morton
2026-02-27 11:07     ` Jani Nikula
2026-02-27 15:16     ` Steven Rostedt
2026-02-27 15:18       ` Mark Brown
2026-02-27 15:44         ` Steven Rostedt
2026-02-27 15:18       ` slowly decommission bugzilla? Sven Peter
2026-02-27 15:35       ` slowly decommission bugzilla? (was: Re: kernel.org tooling update) Richard Weinberger
2026-02-27 16:00         ` Geert Uytterhoeven
2026-02-27 16:22           ` Richard Weinberger
2026-02-27 16:29             ` Peter Zijlstra
2026-02-27 17:07               ` James Bottomley
2026-02-28 13:41             ` slowly decommission bugzilla? Thorsten Leemhuis
2026-02-28 15:17               ` Richard Weinberger
2026-02-28 17:40                 ` Linus Torvalds
2026-02-28 18:29                   ` Richard Weinberger
2026-02-28 20:26                     ` Steven Rostedt
2026-02-28 20:28                       ` Richard Weinberger
2026-02-28 20:56                         ` Steven Rostedt
2026-03-01 15:23                           ` Sasha Levin
2026-03-01 15:35                             ` Laurent Pinchart
2026-03-01 15:42                               ` Sasha Levin
2026-03-01 16:13                                 ` Laurent Pinchart
2026-03-01 16:27                                   ` Sasha Levin
2026-03-06 15:01                                     ` Laurent Pinchart
2026-03-07 16:19                                       ` Sasha Levin
2026-03-01 16:15                               ` James Bottomley
2026-03-01 16:49                                 ` Laurent Pinchart
2026-03-02  8:55                                 ` Mauro Carvalho Chehab
2026-03-01 17:33                               ` Linus Torvalds
2026-03-02 20:28                                 ` [RFC] kallsyms: embed source file:line info in kernel stack traces Sasha Levin
2026-03-03  5:39                                   ` Alexey Dobriyan
2026-03-03 12:44                                     ` Sasha Levin
2026-03-03 13:17                                     ` Steven Rostedt
2026-03-03 16:35                                       ` Sasha Levin
2026-03-06 15:22                                         ` Laurent Pinchart
2026-03-03 19:09                                       ` Alexey Dobriyan
2026-03-03  6:26                                   ` Richard Weinberger [this message]
2026-03-03  6:48                                     ` Tomasz Figa
2026-03-03  9:04                                       ` Vlastimil Babka (SUSE)
2026-03-03 12:45                                         ` Sasha Levin
2026-03-03  8:11                                     ` Geert Uytterhoeven
2026-03-03  9:31                                       ` Jiri Slaby
2026-03-03 12:47                                         ` Sasha Levin
2026-03-03 12:58                                           ` James Bottomley
2026-03-03 13:08                                             ` Jürgen Groß
2026-03-03  8:09                                   ` Geert Uytterhoeven
2026-03-03 22:44                                   ` Helge Deller
2026-03-03 22:47                                     ` Sasha Levin
2026-03-01 16:01                             ` slowly decommission bugzilla? James Bottomley
2026-03-01 16:16                               ` Sasha Levin
2026-03-01 16:25                                 ` James Bottomley
2026-03-01 16:33                                   ` Sasha Levin
2026-03-06 10:37                 ` Richard Weinberger
2026-03-06 10:44                   ` Geert Uytterhoeven
2026-03-15 14:58                     ` Richard Weinberger
2026-03-16 11:28                       ` Greg KH
2026-03-16 21:56                         ` Richard Weinberger
2026-03-17  7:51                           ` Greg Kroah-Hartman
2026-04-02  4:59   ` slowly decommission bugzilla? (was: Re: kernel.org tooling update) Konstantin Ryabitsev
2026-04-02 13:07     ` Theodore Tso
2026-04-02 13:28       ` Konstantin Ryabitsev
2026-04-02 14:08         ` Theodore Tso
2026-04-02 14:21           ` Konstantin Ryabitsev
2026-04-02 14:49         ` Steven Rostedt
2026-04-02 13:51       ` James Bottomley
2026-04-02 13:42     ` slowly decommission bugzilla? Thorsten Leemhuis
2026-04-02 14:04       ` Konstantin Ryabitsev
2026-04-02 14:15         ` Richard Weinberger
2026-04-02 15:45       ` Laurent Pinchart
2026-04-02 16:04         ` Thorsten Leemhuis

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=91334269.1714.1772519173246.JavaMail.zimbra@nod.at \
    --to=richard@nod.at \
    --cc=akpm@linux-foundation.org \
    --cc=geert@linux-m68k.org \
    --cc=konstantin@linuxfoundation.org \
    --cc=ksummit@lists.linux.dev \
    --cc=laurent.pinchart@ideasonboard.com \
    --cc=linux@leemhuis.info \
    --cc=rostedt@goodmis.org \
    --cc=sashal@kernel.org \
    --cc=torvalds@linuxfoundation.org \
    --cc=users@kernel.org \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox