
[Android稳定性] 第022篇 [原理篇] kernel panic的死亡信息的由来
0. 前言 内核稳定性问题复杂多样,最常见的莫过于“kernel panic”,意为“内核恐慌,不知所措”。这种情况下系统自然无法正常运转,只能自我结束生命,留下死亡信息。 诸如: “Unable to handle kernel XXX at virtual address XXX” “undef

[Android稳定性] 第021篇 [问题篇] Kernel panic - not syncing: stack-protector: Kernel stack is corrupted
copyright_author: zsl copyright_author_href: https://github.com/zslxiu copyright_info: 此文章版权归 zsl 所有,如有转载,请注明来自原作者 copyright_url: https://wayawbott0.f

[Android稳定性] 第020篇 [方法篇] crash实战:手把手教你使用crash分析内核dump
copyright_author: OPPO内核工匠 copyright_author_href: https://blog.csdn.net/feelabclihu?type=blog copyright_info: 此文章版权归 OPPO内核工匠 所有,遵循 CC 4.0 BY-SA 版权协议,

[Android稳定性] 第019篇 [原理篇] QCOM 常见 reboot 类型流程梳理
cover: "" copyright_author: zsl copyright_author_href: https://github.com/zslxiu copyright_url: "https://wayawbott0.f.mioffice.cn/docx/doxk46H9DPPTQcG

[Android稳定性] 第018篇 [问题篇] 串口日志未关闭导致的watchdog
0. 问题现象 死机,dmesg中日志如下: [ 34.029307][ C0] ------------[ cut here ]------------ [ 35.844227][ C0] msm_watchdog f410000.qcom,wdt: QCOM Apps Wat

[Android稳定性] 第017篇 [方法篇] 高通watchdog分析流程
高通watchdog的分析套路: 检查watchdog执行状态,pet、bark time,expires时间等必要信息,可以自己去看msm_watchdog_data,也可以直接检查rampaser解出来的Watchdog data(Non-secure Watchdog data) 检查msm_

[Android稳定性] 第016篇 [原理篇] 高通平台watchdog机制原理解析
0. watchdog的概念 Watchdog主要应用于嵌入式系统,用于系统出现严重故障(如内核死锁,进入死循环,CPU跑飞等)不能恢复时,在无人为介入的情况下可以自动重新启动系统。 在传统Linux 内核下, watchdog的基本工作原理是:当watchdog启动后(即/dev/watchdog

[linux内存管理] 第019篇 buddy分配器基础知识以及分配器api接口
0. 前言 众所周知,Linux内存管理的核心是伙伴系统(buddy system)。其实在linux启动的那一刻,内存管理就已经开始了,只不过不是buddy在管理。在内核中,实现物理内存管理的allocator包括: 连续物理内存管理buddy allocator 非连续物理内存管理vmalloc

[linux内存管理] 第018篇 buddy系统的简介以及初始化
0. 前言 在[linux内存管理] 第013篇 zone的初始化一文中简单剖析了 zone 的初始化流程,也是继 arm64_memblock_init 和 sparse_init 之后有一个内存管理层,而zone 这一层管理层中,所有的物理内存都会被添加到zone 中的成员变量 free_are

[linux内存管理] 第017篇 zonelist的初始化
0. 前言 在bootmem_init初始化的时候,已经初始化了内存节点的zone成员,该成员是struct zone数组,存放该内存节点的zone信息。在linux的内存管理中,分几个阶段进行抽象,用数据结构来管理。先用结点集合管理内存,然后用zone管理结点,再用页的管理zone。此时使用的数据