向 Linux 内核社区提交 patch 实操要点 3日前 1 条
向 Linux 内核社区提交 patch 实操要点

详尽介绍了通过git send-email方式向Linux内核社区提交补丁的完整流程。内容涵盖git和git send-email的安装配置,SMTP邮件发送环境的设置,如何规范填写commit信息、生成和检查patch格式,以及标准化邮件回复方法。文章指出:基于next分支开发、严格遵循社区指南、养成bottom-posting习惯、合理使用收件人和抄送自动化配置,都是与上游高效沟通的关键。新手可从修复warning类小问题入手,逐步熟悉内核社区流程与规范。文末列举了寻找补丁切入点和提升英文交流技能的建议,强调实践积累对个人成长与社区认可的重要性。

Linux aarch64 中断处理全流程分析 1月前 评论
Linux aarch64 中断处理全流程分析

深入解析了Linux中断系统的核心概念,包括硬件中断号(hwirq)与虚拟中断号(virq)的区别、各类中断号在中断控制器中的分配和映射关系,以及物理与逻辑中断线的实际意义。强调Linux内核通过virq实现统一管理,解决硬件中断号冲突,展示了复杂中断结构在SoC中的连接方式,为开发者理解和排查多级中断控制器的中断流程问题提供理论知识的指导。

华为充电管理架构概览 1月前 3 条
华为充电管理架构概览

深入剖析华为Mate X5充电管理源码,从软件架构、目录组织到核心模块如电池与充电器管理,亮点涵盖充电模式协商、事件驱动通信、参数投票决策等机制。文章详细展现了多电池支持、故障安全保护、硬件抽象接口与充电流程,对华为Linux内核电源管理体系结构及流程进行了系统性解读,为技术研究和实践提供重要参考。

[Linux进程调度] 第002篇 Linux下0号进程的前世(init_task进程)今生(idle进程) 5月前 评论
[Linux进程调度] 第002篇 Linux下0号进程的前世(init_task进程)今生(idle进程)

Linux下有三个特殊进程:idle(PID=0)、init(PID=1)和kthreadd(PID=2)。idle是系统首个进程,由静态定义的init_task演变而来,是唯一未通过fork/kernel_thread产生的进程,运行在内核态,每个处理器单元独立一个,负责系统空闲时执行节能循环。init由idle创建,完成初始化后进入用户空间,成为所有用户进程祖先,最终转为守护进程。kthreadd亦由idle创建,始终运行于内核空间,负责管理和调度所有内核线程,是其父进程。idle通过rest_init函数创建init和kthreadd后演变为idle,不参与调度,仅在运行队列为空时执行cpu_idle_loop。