4周前
站在2025的尾巴上:回顾、感恩与前行
2025年,作者在人生与职业的双重转折中,聚焦于“尝试平衡”。工作上勇于转型,持续分享与协作,实现技术与心态的成长;生活中,婚姻和家庭成为新的关注重心。通过经验总结、系统学习和乐于成就他人,收获个人成长,体会到快速学习和适应变化是核心能力,并在自我反思中展望未来。
站在2025的尾巴上:回顾、感恩与前行
查看完整文章 评论
2月前
[linux内存管理] 第000篇 Linux内存管理系列开篇
系列深入剖析Linux内存管理在ARM64架构下的原理与实现,覆盖物理内存初始化流程、核心分配器机制(如buddy、slab、vmalloc、CMA等)、缺页异常处理、页面回收、内存节点解析等关键环节,结合Kernel 5.15源码与丰富补充资料,帮助读者系统理解底层架构与内存管理优化要点
2024-12-15
[Android稳定性] 第000篇 Android稳定性系列开篇
本文集深入探讨了Android稳定性问题,分为方法篇、原理篇和问题篇三个部分。方法篇介绍了稳定性分析的方法,包括高通Android平台稳定性分析、watchdog分析流程、crash分析以及RCU Stall问题的分析等。原理篇详细解析了subsystem ramdump、mtdoops、minidump、blackbox等稳定性相关原理,以及高通平台watchdog机制和QCOM常见reboot类型流程。问题篇则列举了多种稳定性问题案例,如原子状态调度引起的死机、中断风暴导致的panic、内存分配失败、slab内存泄露等,并分析了其原因及解决方案。
1日前
Linux aarch64 中断处理全流程分析
深入解析了Linux中断系统的核心概念,包括硬件中断号(hwirq)与虚拟中断号(virq)的区别、各类中断号在中断控制器中的分配和映射关系,以及物理与逻辑中断线的实际意义。强调Linux内核通过virq实现统一管理,解决硬件中断号冲突,展示了复杂中断结构在SoC中的连接方式,为开发者理解和排查多级中断控制器的中断流程问题提供理论知识的指导。
6日前
华为充电管理架构概览
深入剖析华为Mate X5充电管理源码,从软件架构、目录组织到核心模块如电池与充电器管理,亮点涵盖充电模式协商、事件驱动通信、参数投票决策等机制。文章详细展现了多电池支持、故障安全保护、硬件抽象接口与充电流程,对华为Linux内核电源管理体系结构及流程进行了系统性解读,为技术研究和实践提供重要参考。
6日前
【深入内核】中断真的不能睡眠吗?
“中断上下文不能睡眠”是Linux内核开发的底层铁律,源于中断执行期间CPU未切换进程,无法被调度器感知和管理。文章通过深入解析CPU执行模型、调度机制以及arm64中断流程,阐明中断上下文不具备调度实体特征、没有task_struct、不能被调度,也无法安全使用睡眠相关API和某些锁。这样设计避免
2周前
[灵感风暴] 第002篇 高通平台增强型watchdog
以提升高通watchdog调试效率为目标,提出面向新手工程师的内核日志增强方案,通过驱动形式集成UTC时间、Top10中断、Watchdog进程状态、CPU可用与ping掩码、最近跨核调用等关键信息输出,精准定位中断风暴、CPU无响应等常见系统异常,显著加快问题分析进程。
3周前
[BPF] 第001篇 使用 eBPF 监控 Linux 内核内存分配
深入探索eBPF技术,该方案通过非侵入式方式在Linux内核中高效运行自定义字节码,实现对kmalloc内存分配的实时监控,兼具安全性和灵活性。文章详细展示了内核态插桩与用户态应用的协同原理与代码实践,支持多维过滤和实用输出,适合于系统性能分析及生产环境部署,为内核行为追踪和资源优化提供了极具价值的案例
3周前
[灵感风暴] 第001篇 Charger Property Engine 设计方案
聚焦智能设备BMS中I2C通信瓶颈,提出结合属性缓存与自适应刷新机制的创新方案,通过缓存属性并动态调整TTL,有效减少I2C访问冲突和通信负担。自适应算法根据属性变化及噪声门限、窗口振幅智能控制刷新频率,提升系统实时性与稳定性,同时引入并发控制与总线熔断机制,确保关键数据高效、安全传输。
4周前
[linux内存管理] 第034篇 slab内存分配器之kmalloc全面详解
深入解析Linux内核中kmalloc的内存池体系,详解其在高效分配小至中等连续物理内存块中的核心作用。文章重点说明kmalloc通过预先创建多种尺寸的slab内存池,有效应对频繁的通用及专属内存分配需求,并结合源码分析创建流程、类型划分及对应场景,帮助开发者理解内核内存分配机制的高效性与灵活性。