按:不出意外的话,4.17(或5.0)将于下周release。这里笔者以4.16和4.17内核变动为线索,介绍了追踪linux内核最新特性的方法。以体系结构和内存的特性为实例,介绍了作为一个内核开发者或者关心内核开发的底层开发者,如何有效的关注内核最新进展。 整体来说这是一条线就是从社区到产品的过程。对于重度使用开源软件的产品来说,这是个很重要一条线。

本内容基于笔者上周(5月23日)在优麒麟北京产品发布派对内容整理。

Live with upstream kernel

2015年到2017年笔者在华为负责内核从2.6.32/3.10到4.1的迁移,支撑产品线内核迁移。需要熟悉2.6.32/3.10到4.1的内核特性和接口变更。当时有两方面的体会:

  1. 提前了解社区的发展趋势,可以从特性到代码实现各个层次降低专有代码量工作量,降低内核升级工作量:
  2. 更重要的是可以把自身的需求放入到社区的路线图中,提高社区影响力。

相关slide如下,后续以实例说明。 Live with upstream kernel 01 Live with upstream kernel 02 Live with upstream kernel 03

Who write kernel?

Who write kernel

History

这里给大家提了一个问题,就是内核历史贡献量是哪一个公司或者组织最多。活动中我给了大家几个选项,最终大家没有猜对。 Who write kernel: history 从上图可以看到,内核历史第一贡献公司/组织是爱好者,第四名是没有说明公司或组织的个人,这两者加在一起,一共有20%的贡献量,所以这里希望大家能明白一个道理,真正活跃的,健壮的开源社区,它的贡献是非常多元的,开源社区所倡导的集市的开发模式,贡献者会非常分散,并不会被公司把持。

4.16统计

Who write kernel: 4.16 随后笔者分享了4.16内核的贡献统计,可以看到这前20名厂商里面大概分为三类,第一类是芯片公司,例如intel,amd,瑞萨,arm,broadcom;第二类是软件公司,例如Linux发行版的两家公司:redhat和suse;第三类是软硬件都做的公司,例如oracle和华为。最近几个版本,华为作为唯一的中国公司稳稳的站在内核贡献前20名。这和华为拥有从嵌入式到手机再到云计算产品丰富的产品线,所需要的完整的公共内核的研发能力有关。

后续文章中笔者将从体系结构和内存两个子系统,分享一下从Linux merge window到具体代码,追踪内核特性开发的过程。

本文首发本人公众号敏达生活,欢迎关注,勾搭,转发。