当前位置: 首页 > news >正文

记录一下第一次patch kernel的经历

参考:

向 Linux kernel 社区提交patch补丁步骤总结(已验证成功)_发patch包-CSDN博客

向 Linux 内核社区提交补丁的流程 - 我的笔记集 | RaverStern

作为一个Linux开发人员,但是又不是kernel开发。能够向内核提交代码,一直觉得是一件很cool的事情。最近在开发AMD V3K SOC相关的代码的时候,终于发现了kernel的一些bug,并成功的向内核提交了batch。也算是完成了一个个人的里程碑吧。所以记录一下。

大概流程2周,还提交了两个patch,有点超出预料。

发现第一个bug,主要是因为需要用AMD的SPI controller去接一颗SPI NOR。

AMD SPI driver这里的bug很多,其实挖一下可以修很多bug...但是看代码的过程中,还是发现了spi子系统middle layer的spi-mem有一些缺陷,然后修起来又比较简单,所以就作为试水发了一个patch。

8月5号,发出的patch

8月5号就收到原作者review确认。

8月6号maintainer就确认可以合入。

内核开发的效率还是非常高的。

第二个patch是关于intel igb driver的,net下面的问题,review似乎更加严格。

虽然只是修改一行代码,但是有3个人review了。

8月11号发出patch,8月11号和12号收到2位reviewers的关于git message规范的comments。

于是8月12号又发出了修改之后的patch。

8月12号有reviewer询问如何测试修改。

8月13号回复如何测试。

8月15号maintainer私信说合入他的某个branch。

整个PR流程给我的感觉是内核开发非常活跃,然后开发流程也非常科学。通过git send-email,./scripts/get_maintainer.pl,git format-patch/patchwork等工具非常流畅的发布patch。

对于git message的规范也非常有利于代码review理解和记录。

在commit message中记录why(root cause)和how,以及fix的问题是哪个commit引入的。确实非常好。

http://www.dtcms.com/a/334394.html

相关文章:

  • CSV 生成 Gantt 甘特图
  • 2^{-53} 单位舍入误差、机器精度、舍入的最大相对误差界限
  • 【QGIS数据篇】QGIS 3.40 栅格计算器经典实用公式全集
  • 高并发场景下如何避免重复支付
  • 17.3 全选购物车
  • 双椒派E2000D开发板LED驱动开发实战指南
  • 线程回收与线程间通信
  • [Python 基础课程]抽象类
  • 强化学习入门教程(附学习文档)
  • (第十七期)HTML图像标签详解:从入门到精通
  • 创新词汇表设计:UniVoc - 中英文混合处理的新方案
  • 安卓11 12系统修改定制化_____列举与安卓 9、10 系统在定制化方面的差异与权限不同
  • 数学建模Topsis法笔记
  • 非功能性需求设计:可解释性、鲁棒性、隐私合规
  • 【数据结构初阶】--排序(五):计数排序,排序算法复杂度对比和稳定性分析
  • 启发式合并 + 莫队 恋恋的心跳大冒险
  • 汽车大灯ABD算法介绍
  • 【算法】——力扣hot100常用算法技巧
  • leetcode_ 739 每日温度
  • 分享一个大数据的源码实现 基于Hadoop的二手车市场数据分析与可视化 基于Spark的懂车帝二手车交易数据可视化分析系统
  • Windows MCP.Net:革命性的 .NET Windows 桌面自动化 MCP 服务器
  • 嵌入式硬件篇---电容电感
  • 【C++】动态内存管理
  • 嵌入式硬件篇---电平转换电路
  • Python-深度学习(一)
  • Flutter开发 网络请求
  • Obot MCP 网关:用于安全管理 MCP 服务器采用的开源平台
  • DINOv3 论文精读(逐段解析)
  • 一文速通Python并行计算:14 Python异步编程-协程的管理和调度
  • CPP运算符优先级