9月前
评论
[Android稳定性] 第024篇 [方法篇] RCU Stall问题如何进行分析?
RCU(读-复制-更新)是一种针对多核、多线程环境的内存同步机制,旨在解决读写并发问题,特别适用于读多写少的场景。RCU Stall是指RCU子系统检测到的问题,如宽限期未结束、回调堆积或调度延迟等,可能导致系统性能下降。分析RCU Stall的方法包括检查内核日志、任务栈回溯、长时间运行的任务、锁和资源争用等。实例中,通过dmesg日志分析和打开panic_on_rcu_stall来复现问题,并通过串口输出进程信息进行深入诊断。
9月前
评论
[linux内存管理] 第021篇 buddy内存管理之快速分配
深入解析Linux buddy分配器的alloc_pages核心算法,详述内存分配的“快速分配”与“慢速分配”流程。通过源码剖析,呈现alloc_pages如何高效处理内存请求,包括gfp标志、NUMA节点选择、碎片优化及分配策略,突出快速分配优先从zone链表获取空闲页,未命中时转入慢速路径处理回