[PATCH 0/4] vmcore-tasks: export per-task metadata to vmcoreinfo
Pnina Feder
PNINA.FEDER at mobileye.com
Thu Jul 23 06:05:20 PDT 2026
> On 07/20/26 at 10:35am, Omar Sandoval wrote:
> > On Mon, Jul 20, 2026 at 10:40:43PM +0800, Baoquan He wrote:
> > > On 07/20/26 at 03:43pm, Mike Rapoport wrote:
> > > > Hi Simon,
> > > >
> > > > On Mon, Jul 20, 2026 at 10:19:27AM +0100, Simon Horman wrote:
> > > > > On Tue, Jul 07, 2026 at 09:21:58AM +0300, Mike Rapoport wrote:
> > > > > > On Tue, Jun 23, 2026 at 12:14:26AM +0300, Pnina Feder wrote:
> > > > > > > This series extends vmcoreinfo with struct offsets and sizes
> > > > > > > needed by the vmcore-tasks userspace tool to extract
> > > > > > > per-task state from a vmcore dump without requiring kernel debug symbols (DWARF/BTF).
> > > > > > >
> > > > > > > The vmcore-tasks tool reads /proc/vmcore (or a saved vmcore
> > > > > > > file) and reconstructs, for each task:
> > > > > > > - task name, pid, state, flags
> > > > > > > - VMA list (start, end, flags, backing file)
> > > > > > > - user register state (saved on the kernel stack at kernel entry)
> > > > > > > - user-space backtrace with VMA/filename mapping
> > > > > > > - kernel dmesg buffer
> > > > > > >
> > > > > > > This provides a lightweight post-mortem crash analysis
> > > > > > > capability for production environments where full debug info
> > > > > > > (DWARF/BTF) is not available.
> > > > > > >
> > > > > > > The companion userspace tool is submitted to kexec-tools:
> > > > > > > Suspicious Link - Removed
> > > > > >
> > > > > > Sorry for the delay, this fell between the cracks somehow.
> > > > > >
> > > > > > The kernel side looks fine overall, but to merge it there
> > > > > > should be an agreement from the userspace side maintainers
> > > > > > that vmcore-tasks is something they are wishing to accept.
> > > > >
> > > > > Hi Mike, all,
> > > > >
> > > > > Sorry for the extended delay.
> > > > >
> > > > > I will send some minor feedback to the user-space tool patchset
> > > > > but overall, yes, this is something I would be happy to accept.
> > > > >
> > > > > I don't want to create a chicken-and-egg type problem here.
> > > > > But it's probably worth mentioning that usually features hit the
> > > > > kernel before the corresponding code is accepted into
> > > > > kexec-tools.
> > > >
> > > > Sorry if I wasn't clear.
> > > >
> > > > I didn't mean that the feature should be merged into kexec-tools
> > > > before merging the kernel bits. I just wanted to make sure there's
> > > > no fundamental issue from kexec-tools perspective.
> > > >
> > > > > Let me know how you would like to proceed.
> > > >
> > > > I'm going to wait for Baoquan's review and once that's done I'll
> > > > pick up the kernel bits.
> > >
> > > Oh, sorry, I just noticed this series, but a quick look give me a
> > > hint of 'No, I don't like it.' We have had Crash utility, Drgn, now
> > > a new one comes up. I have some concerns to Pnina:
> > >
> > > 1. Exporting maple tree internals (maple_node, maple_range_64,
> > > maple_arange_64, maple_metadata) as vmcoreinfo ABI is problematic.
> > > These are private implementation details, not stable structures like
> > > task_struct. Any refactoring of the maple tree will silently break
> > > the userspace tool.
> > >
> > > 2. Without DWARF/BTF, the debugging scope is inherently limited — no
> > > kernel stack backtrace, no symbol resolution, no variable access.
> > > That's essentially "ps + /proc/PID/maps" from a vmcore. Have you
> > > considered enabling CONFIG_DEBUG_INFO_BTF on your platforms instead?
> > > BTF is compact (typically < 1 MB) and would give drgn full access
> > > without needing vmlinux debug packages. That seems like a better
> > > return-on-investment than maintaining ~40 new vmcoreinfo exports.
> > >
> > > 3. Beyond the technical concerns, I wonder about adoption. vmcore-tasks
> > > targets a fairly narrow use case — platforms without DWARF/BTF, where
> > > you still have vmcore but can't ship vmlinux. Is Mobileye currently
> > > the only consumer? Are you guys already using it widely and fully?
> > > If this lands but doesn't see broader uptake, the ~40 exports risk
> > > becoming dead weight in vmcoreinfo — nobody actively uses them, but
> > > kernel changes still need to keep them consistent, or they silently
> > > rot and give users wrong results.
> > >
> > > Regards,
> > > Baoquan
> >
> > (Adding linux-debuggers mailing list).
> >
> > I agree with all of Baoquan's points here, with a couple of notes:
> >
> > 1. drgn's BTF support is currently a work in progress, but it's shaping
> > up well: https://github.com/osandov/drgn/pull/625.
> > 2. makedumpfile is also gaining BTF extension support:
> > Suspicious Link - Removed
> > It's lighter-weight than drgn while still being much more general
> > than this series.
>
> Thanks for adding the information, very helpful.
Hi,
Thanks everyone for the feedback and the suggestions.
I'll take a look at using BTF with vmcore-tasks and evaluate whether it can replace most of the vmcoreinfo exports.
Our use case requires analyzing the vmcore on the crash kernel itself, with very limited storage available, so using drgn together with a full vmlinux is not practical for us.
Thanks,
Pnina
More information about the linux-riscv
mailing list