2日前
[Android稳定性] 第61篇 UFS异常导致卡开机logo
问题现象 高通平台项目,工厂老化遇到一例卡开机logo的问题,连接usb没有端口,连接串口也毫无log打印,遂强制触发fulldump,抓取dump分析。 初步分析 从kernel log来看,当时机器已经开机了50000多秒: [57514.034099][ T728] [CM]:charger
3日前
[linux内存管理] 第039篇 用户态内存映射malloc和mmap详解
深入解析Linux内存管理中进程用户态地址空间,聚焦VMA(虚拟内存区域)、malloc与mmap三大核心机制,结合ARM64平台和Linux 4.14源码,系统梳理struct mm_struct与struct vm_area_struct两大关键数据结构的设计和功能分工。通过精炼注释和结构关系图,清晰展示VMA在进程空间分布的原理及其与实际内存分配的对应关系,帮助读者直观理解Linux虚拟内存的映射过程。
4日前
[linux内存管理] 第038篇 深入剖析AArch64架构下的do_page_fault缺页异常处理
深入解析Linux内核在AArch64架构下的缺页中断处理机制,系统梳理从异常级别划分、地址翻译流程到异常向量表入口,详细剖析了缺页异常的同步捕获、寄存器存储细节及异常分发逻辑。通过do_mem_abort和关键fault_info表,揭示了内核高效应对各种内存访问异常的策略,实现按需分页、内存保护与共享等高级功能,高亮了AArch64平台虚拟内存管理的精妙与内核异常处理链路的完整闭环。
4日前
📢 致各位读者的一封信:关于运营成本与打赏通道
林渡在博客中坦诚分享了Android稳定性与Linux内存管理等技术经验,强调知识共享与技术传承的重要性。尽管维持博客运营需承担服务器、域名、AI工具等实际成本,他坚守不设付费墙,保持全部内容免费开放,以降低技术门槛并营造纯粹交流空间。为回应读者建议,新增自愿捐赠通道与透明捐赠者名单,仅供愿意支持的朋友参与。每一份支持都将用于提升博客体验与内容质量,但无论捐赠与否,所有人都是这个温暖技术社区的重要参与者。
4日前
[linux内存管理] 第037篇 LRU链表详解
聚焦Linux内存管理的核心机制——内存回收,文章详细解析了内核如何通过LRU(最近最少使用)链表,实现对“冷”页面的精准识别和高效回收,保障系统在物理内存受限下的稳定运行。深入讲解了LRU链表的多层架构、页面在不同链表间的切换逻辑,并系统梳理了五类核心链表的数据结构,为理解和后续拓展如MGLRU机制奠定了扎实基础。
6日前
[linux内存管理] 第036篇 CMA内存分配器
面对硬件DMA需求和内存碎片化问题,CMA机制通过“保留但共享”的设计,动态预留物理连续内存并允许系统共享使用,按需自动迁移页面确保设备可获取大块连续空间。CMA通过struct cma等核心数据结构灵活配置,可支持多块物理区域,极大提升连续内存的分配效率。
1周前
Linux 中断线程化
文章深入解析Linux中断线程化机制及核心实现,详细讲解了struct irqaction结构体、关键flag如IRQF_ONESHOT和IRQTF_RUNTHREAD的作用,剖析了request_threaded_irq函数的注册流程及__setup_irq的内部逻辑。重点强调线程化中断带来的实时性保证和中断线屏蔽原理,具有丰富代码注释与流程分析,对理解内核中断管理与设备驱动开发极具参考价值
1周前
[灵感风暴] 用 AI 自动追踪 Linux 内核进展:一款周刊生成工具的架构与演进
面对Linux内核社区庞杂的信息流,这款自动化工具以AI驱动,实现高效邮件抓取、深度分析与结构化周报生成,彻底突破手工筛选与数据量限制,极大提升内核动态追踪的便捷性,为开发者提供了省时、全面、智能的工作新体验。
1周前
[灵感风暴] 从废墟中寻找真相:一个 AI 驱动的内核崩溃分析工具的诞生记
深夜警报频发,内核稳定性工程师面临信息过载、分析低效等挑战。Stability AI以管道式架构和插件化设计,融合本地规则与AI能力,实现高效、结构化的系统崩溃分析报告。强调人机协作、灵活扩展和精准问题定位,大幅提升故障处理效率与可维护性。
1周前
[LRDP2] IRQ状态解析器
深入解析Linux Ramdump Parser框架中IRQ状态的提取与分析机制,结合内核多版本下中断描述符存储结构(数组、Radix Tree、XArray、Maple Tree)遍历算法及Per-CPU数据访问,实现支持多场景的中断诊断。
2周前
[linux内存管理] 第035篇 vmalloc详解
内核启动的内存初始化分为Fixmap、线性映射、Buddy分配器和Slab分配器四大阶段,逐步实现高效的物理与虚拟内存管理。vmalloc通过vmap机制,将非连续物理内存映射为连续虚拟地址,极大提升内存分配灵活性。文中详解vmalloc区域管理与关键数据结构,介绍空闲及已分配管理策略,并列举常用分配释放API,并解释代码流程
2周前
Linux aarch64 中断处理全流程分析
深入解析了Linux中断系统的核心概念,包括硬件中断号(hwirq)与虚拟中断号(virq)的区别、各类中断号在中断控制器中的分配和映射关系,以及物理与逻辑中断线的实际意义。强调Linux内核通过virq实现统一管理,解决硬件中断号冲突,展示了复杂中断结构在SoC中的连接方式,为开发者理解和排查多级中断控制器的中断流程问题提供理论知识的指导。