v2
2026-11-03
panic内存内附加系统信息 · v2
新增crash_kexec_in_memory_sys_info,使panic时无需开启crash_kexec_post_notifiers即可附加内存、锁、定时器等系统状态。
原始补丁链接
子 Patch(5)
1/5
panic, sys_info: Fix duplicate and dropped all-CPU backtraces in panic
修复panic时全CPU backtrace重复或丢失:__sys_info()无条件trigger_all_cpu_backtrace,panic_other_cpus_shutdown()也调用,导致二次NMI等离线CPU超时且sysctl配置在停CPU前未生效。
2/5
mm/show_mem: Avoid blocking on zone->lock during Oops or panic
show_free_areas()在Oops/panic/NMI或RT环境改用spin_trylock_irqsave()获取zone->lock,失败则记录竞争并跳过该zone,避免持锁者崩溃时自死锁,同时把zone头移到解锁后输出。
3/5
timers: Avoid blocking on hrtimer_cpu_base lock during Oops or panic
sysrq_timer_list_show()改用NMI安全的ktime_get_mono_fast_ns(),print_active_timers()在Oops/panic/NMI下用raw_spin_trylock_irqsave(),失败即记录竞争并返回,避免hrtimer锁或timekeeping seq死等。
4/5
printk, tracing: Support console flush suppression and tail pinning
On Mon, 2 Nov 2026 21:44:52 -0500 Aaron Tomlin atomlin@atomlin.com wrote: > diff –git a/kernel/trace/trace.c b/kernel/trace/trace.c > index e8c4efa8107b..35a56f04e9b3 100644 > — a/kernel/trace/t
5/5
panic, crash_core, sys_info: Introduce crash_kexec_in_memory_sys_info
新增crash_kexec_in_memory_sys_info:__crash_kexec()在保存寄存器/vmcoreinfo后、machine_crash_shutdown()前把sys_info()写入printk环形缓冲区,规避post_notifier看门狗风险并在vmcore保存失败时保留诊断。