gpt4 book ai didi

android - Linux apanic 机制以及与较新的 ram_console/persistent_ram 机制的区别

转载 作者:太空狗 更新时间:2023-10-29 16:40:48 26 4
gpt4 key购买 nike

我正在研究 Linux 上的不同日志记录机制,以防出现内核错误 (OOPS)。到目前为止,根据我在网络上的搜索,我已经能够得出以下信息:

  • apanic 是完成工作的旧机制。
  • ram_console/persistent_ram 是一种新机制。

在这方面,有人可以启发我以下几点吗?

  • 什么是旧的 panic 机制,在高层次上它是如何工作的?
  • 为什么 apanic 机制被弃用,而支持 ram_console/persistent_ram 机制?
  • 新的 ram_console/persistent_ram 机制带来了哪些优势。
  • ram_console/persistent_ram 在功能上与旧的 apanic 方法有何不同?

我只是在寻找指示和高级答案,从某种意义上说,这是我可以进一步研究这些机制的方向。如果能提供这方面的任何相关信息,我将不胜感激。

谢谢

最佳答案

在下面找到您的一系列问题的答案。

旧的 panic 机制是什么,在高层次上它是如何工作的?

这是Android用于消息记录的一种机制。它将日志消息写入 NAND 的 mtd 分区中的某个特定偏移量。内核模块将名为“apanic”的文件导出到“debugfs”。可以使用以下命令将 debugfs 挂载到某个目录。 “mount -t debugfs none/sys/kernel/debug” 这需要在 linux 内核上启用 debugfs 配置。有关这方面的更多信息,请查看下面链接中的源代码。

https://android.googlesource.com/kernel/msm.git/+/android-msm-2.6.35/drivers/misc/apanic.c

为什么 apanic 机制被弃用,转而支持 ram_console/persistent_ram 机制?

这个 apanic 驱动程序不是 linux 内核的一部分。它特定于android。它在最新版本的 androids 中已被弃用。原因可能是当内核 opps 发生时写入 nand 分区可能不是一个好主意。由于 nand_write 很慢并且写周期有限。这只是我的看法。但我不确定真正的原因。

新的 ram_console/persistent_ram 机制带来了哪些优势?

它也是android用来记录控制台消息的一种记录机制。此处日志消息进入 RAM 区域。在 persistent_ram 的情况下,日志消息进入 RAM 的持久内存区域(将被保留)。该驱动程序模块在 proc 目录中创建一个名为“last_kmsg”的文件。如果内核 oops 并停止引导,则可以在下次引导时读取此消息。有关更多信息,请查看以下链接中提供的源代码。

https://android.googlesource.com/kernel/common.git/+/android-3.4/drivers/staging/android/ram_console.c

ram_console/persistent_ram 在功能上与旧的 apanic 方法有何不同?

前者基于ram,后者基于mtd。

在最新的实验性 android 源代码中,我没有找到两者的源代码。不知道原因。

https://android.googlesource.com/kernel/common.git/+/experimental/android-3.10-rc5/drivers/staging/android/

希望我能澄清您的疑问。

问候,

Yuvaraj.A

关于android - Linux apanic 机制以及与较新的 ram_console/persistent_ram 机制的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18118807/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com