皇上,还记得我吗?我就是1999年那个Linux伊甸园啊-----24小时滚动更新开源资讯,全年无休!

实验性 Linux 修补程序允许内核跟踪在重启/崩溃后仍能工作

实验性 Linux 修补程序允许内核跟踪在重启/崩溃后仍能工作

Steven Rostedt 本周发布了一些有趣的 Linux 内核补丁(尽管只是实验性的),以支持在重启或崩溃时仍能工作的持久跟踪。

这些临时补丁允许在重启或崩溃时映射环形缓冲区实例,而不会丢失对调试问题有用的信息。Rostedt 解释了最初的内核补丁:
“这是一种跨重启映射环形缓冲区实例的方法。要求是内存区域不被擦除。我在 Debian 服务器上运行 qemu 的 Debian 虚拟机上进行了测试,甚至还在运行 Fedora 的裸机上进行了测试。我很惊讶它能在裸机上运行,但它的稳定性却出乎意料地好。

最后,这仍然是一个概念验证。如何创建内存映射尚未确定。在这套补丁中,我只是侵入了 kexec 崩溃代码,并硬编码了一个对我的一台机器有效的地址(对于另一台机器,我不得不四处寻找另一个地址)。也许我们可以添加一个内核命令行参数,让用户自己决定,或者添加一个选项,让内核查看 ACPI(针对 intel)表,自己找出一个地址。

总之,我打算用它来调试,因为它的功能已经相当强大,但还可以做得更多。

基本上,你需要做的就是

echo 1 > /sys/kernel/tracing/instances/boot_mapped/events/enable

做你想做的事,然后系统崩溃(并启动到相同的内核)。然后

cat /sys/kernel/tracing/instances/boot_mapped/trace

就会有跟踪记录。

我确信这里还有一些问题,所以目前还只是一个 POC”。

请参阅本补丁系列,了解这项有趣的工作,希望它能不断发展,并在某个时候进入 Linux 内核主线。

转自 Experimental Linux Patches Allow Kernel Tracing To Work Past Reboots/Crashes – Phoronix