[Android稳定性] 第049篇 [问题篇] 软中断霸占CPU导致watchdog无法及时喂狗 8月前 3 条
[Android稳定性] 第049篇 [问题篇] 软中断霸占CPU导致watchdog无法及时喂狗

系统出现死机,核心原因是Watchdog定时器未按时触发“喂狗”操作导致20秒内无回应。从dmesg和timerlist日志分析,定时器的回调因中断或内核临界区阻塞未能执行,所有CPU的最后ping均停留在同一时刻,反映定时器链路被阻塞。这突出内核定时器和中断管理对系统稳定性的关键影响。

[Android稳定性] 第047篇 [问题篇] Unexpected kernel BRK exception at EL1 8月前 评论
[Android稳定性] 第047篇 [问题篇] Unexpected kernel BRK exception at EL1

**问题背景**:多款手机在启用移动热点功能后出现死机现象,涉及BUGO19-6212、BUGO19-6235和BUGO19-6210等多个JIRA问题。 **问题现象**:设备在启用热点后崩溃。经过测试,发现启用热点功能会导致设备死机,与预期不符。 **问题分析**:通过分析堆栈信息和汇编代码,初步判断问题为数组越界。寄存器W26的值超出数组最大值,导致数组越界,进而触发BRK异常。 **wlan模块分析**:在wlan模块中,存在两个for循环,重复复制了同一批非indoor信道,导致pcl_len值翻倍,超出数组最大值。 **解决方案**:删除第二个for循环,避免重复复制信道,从而解决数组越界问题。

【深入内核】linux ftrace详解 8月前 4 条
【深入内核】linux ftrace详解

本文主要介绍了Ftrace(Function Tracer)的概念、实现原理和使用方法。Ftrace是Linux内核自带的轻量级跟踪框架,用于记录内核内部发生的事件与函数调用,帮助开发者洞察系统最深处的执行路径、时序瓶颈与异常行为。文章详细阐述了Ftrace的实现原理,包括静态插桩和动态插桩两种方式,并介绍了Ftrace的开启方法,包括设置tracer类型、设置tracer参数、使能tracer、进行测试和提取trace结果等步骤。此外,文章还介绍了常见的trace event详解和特别注意点,如能够使用adb和开机过程中死机的情况。

[Android稳定性] 第045篇 [问题篇] Kernel panic - not syncing: Attempted to kill init! exitcode=0x00007f00 9月前 评论
[Android稳定性] 第045篇 [问题篇] Kernel panic - not syncing: Attempted to kill init! exitcode=0x00007f00

本文分析了在测试DDR TT和Reboot测试专项过程中机器出现dump的问题。通过panic现场和加debug patch的分析,发现死机原因是ufs没有初始化成功,函数`ufshcd_complete_dev_init`耗时过长。进一步分析发现,`kworker/6:1`线程在执行`kfree_rcu_monitor()`时被调度出去,并长时间卡在`schedule()`中,最终导致死机。根本原因是在ufs函数执行时被串口输出调度出去,而串口输出调度优先级很高,执行console_unlock()时持锁状态下运行,不允许调度,且阻塞式串口写函数`qcom_geni_serial_poll_tx_done`会造成长时间占用CPU。

简述
在万物之间穿行,也在自我之间渡过。
生涯
  • 行业嵌入式
  • 职业Linux/Android内核工程师
  • 人生
  • 生活角色浪子、父母的娃、我夫人的老公
  • 社会角色公司职员、中华人民共和国公民
  • 类型
  • 星座 双子座
  • 生肖
  • 血型O
  • 数据
  • 发表文章171篇
  • 发表评论51个
  • 星球加热28588度
  • 最近的心情能量
  • 地图数据来源于高德地图
  • intj 建筑师
    intj 建筑师
    • 外向内向
    • 远见现实
    • 理性感受
    • 评判展望
    • 坚决起伏
  • 了解更多信息