LWN:5.8内核数据分析!

关注了就能看到更多这么棒的文章哦~

Some statistics from the 5.8 kernel cycle

By Jonathan Corbet
August 3, 2020

8月2日,Linus Torvalds宣布了5.8 kernel正式发布。标志着9周的开发周期的结束。这期间,有16,306个changeset合入了mainline,这个数字又创新高,超过了之前2016年12月的4.9版本时的记录,虽然仅仅超出了92个changeset。这轮开发周期算是很繁忙了。现在也是时候来进行我们的传统项目,看一下这些工作都来自哪里。

总共有1,991位开发者对5.8版本有贡献,这也是一个新纪录。其中304位是首次参与。总共增加了924,000行代码,移除了371,000行,净增553,000行。最活跃的开发者是:

Most active 5.8 developers
By changesets
Mauro Carvalho Chehab 549 3.4%
Christoph Hellwig 354 2.2%
Andy Shevchenko 223 1.4%
Jason Yan 205 1.3%
Chris Wilson 199 1.2%
Jérôme Pouiller 175 1.1%
Thomas Gleixner 156 1.0%
Gustavo A. R. Silva 136 0.8%
Masahiro Yamada 133 0.8%
Miquel Raynal 125 0.8%
Leon Romanovsky 114 0.7%
Sean Christopherson 109 0.7%
Geert Uytterhoeven 101 0.6%
Colin Ian King 101 0.6%
Daniel Vetter 99 0.6%
Al Viro 98 0.6%
Peter Zijlstra 95 0.6%
Christophe Leroy 93 0.6%
Lorenzo Bianconi 89 0.5%
Serge Semin 87 0.5%
By changed lines
Mauro Carvalho Chehab 272614 25.8%
Oded Gabbay 80603 7.6%
Yan-Hsuan Chuang 15798 1.5%
Arnd Bergmann 13082 1.2%
Jack Wang 12895 1.2%
Thomas Bogendoerfer 11161 1.1%
Christoph Hellwig 10940 1.0%
Omer Shpigelman 10861 1.0%
Ryder Lee 10076 1.0%
Chris Wilson 8682 0.8%
David Howells 8130 0.8%
Serge Semin 7520 0.7%
Andrii Nakryiko 6189 0.6%
Thomas Gleixner 5695 0.5%
Marco Elver 5619 0.5%
Peter Zijlstra 5533 0.5%
Boris Brezillon 5451 0.5%
Leon Romanovsky 5399 0.5%
Ping-Ke Shih 5173 0.5%
Bryan O'Donoghue 4953 0.5%

Mauro Carvalho Chehab在changeset数量和行数两方面都登顶了。他的工作主要集中在文档方面,把许多文件改为了RST格式,重写了video4linux2 user space manual,不过他也做了很多工作来复活atomisp camera驱动,此前已经从staging tree移除了。Christoph Hellwig在kernel的memory-management,filesystem, block subsystem等领域做了很多工作。Andy Shevchenko对许多驱动进行了改进。Jason Yan在kernel里面多处进行了代码清理。Chris Wilson仍然在改进i915 graphics driver。

按行数来算的话,Oded Gabbay为Habana Gaudi处理器增加了许多自动生成的寄存器定义信息。Yan-Hsuang则为Realtek rtw88 wireless driver增加了许多机器生成的数据,看起来不像源代码,倒像是二进制数据。Arnd Bergmann进行了许多清理工作,其中包括删除从来没有实现好的sh5 subarchitecture。Jack Wang贡献了一个rndb driver(这是一个使用RDMA的network block device)。

尽管贡献者人数创了新高,他们背后的公司数量基本未变,仍是213个。多数工作来自:

Most active 5.8 employers
By changesets
Intel 1939 11.9%
Huawei Technologies 1399 8.6%
(Unknown) 1231 7.5%
Red Hat 1079 6.6%
(None) 1016 6.2%
Google 791 4.9%
IBM 542 3.3%
(Consultant) 515 3.2%
Linaro 513 3.1%
AMD 503 3.1%
SUSE 463 2.8%
Mellanox 445 2.7%
NXP Semiconductors 330 2.0%
Renesas Electronics 322 2.0%
Oracle 252 1.5%
Code Aurora Forum 248 1.5%
Facebook 247 1.5%
Arm 239 1.5%
Silicon Labs 175 1.1%
Linux Foundation 171 1.0%
By lines changed
Huawei Technologies 293365 27.8%
Habana Labs 93213 8.8%
Intel 88288 8.4%
(None) 47655 4.5%
(Unknown) 36786 3.5%
Linaro 36322 3.4%
Red Hat 34737 3.3%
Google 34209 3.2%
IBM 24233 2.3%
Mellanox 23364 2.2%
Realtek 22767 2.2%
AMD 21411 2.0%
NXP Semiconductors 21328 2.0%
(Consultant) 15418 1.5%
Facebook 14874 1.4%
MediaTek 14751 1.4%
SUSE 13659 1.3%
1&1 IONOS Cloud 13219 1.3%
Code Aurora Forum 11865 1.1%
Renesas Electronics 11077 1.1%

多数内容看起来都很眼熟,不过华为(Huawei)则意外地来到了第一名的位置。主要是来源于上面讲过的Chehab的工作,不过Huawei还是有许多更加重要的代码贡献。目前世界上有股势力一直在试图冻结华为的市场竞争力,但是它在社区里面仍然非常活跃,这一轮里面有92位开发者做出贡献。华为的工作主要集中在下面这些子系统:

Subsystem Changesets
Documentation 226
drivers/net 226
drivers/staging 222
fs 73
drivers/media 62
drivers/scsi 62
drivers/gpu 49
net 49
include 38
sound 22
security 21
kernel 18

总之,华为的patch中的907个(占65%)是在driver subsystem里面的,此外也有许多工作分布在kernel中的其他领域。

Linux kernel很依赖人们来进行测试并报出bug。开发者无法测试所有的硬件组合以及工作场景。在测试领域最活跃的贡献者如下:

Test and report credits in 5.8
Tested-by
Aaron Brown 97 9.1%
Andrew Bowers 90 8.5%
Arnaldo Carvalho de Melo 53 5.0%
Hoan Tran 21 2.0%
Marek Szyprowski 19 1.8%
Serge Semin 16 1.5%
David Heidelberg 14 1.3%
Peter Geis 14 1.3%
Jasper Korten 13 1.2%
Tomasz Maciej Nowak 12 1.1%
Reported-by
Hulk Robot 243 19.8%
kernel test robot 178 14.5%
Syzbot 70 5.7%
Dan Carpenter 33 2.7%
Stephen Rothwell 26 2.1%
Randy Dunlap 20 1.6%
Guenter Roeck 13 1.1%
Qian Cai 11 0.9%
Greg Kroah-Hartman 8 0.7%
Lars-Peter Clausen 8 0.7%

绝大多数bug都还是来自自动测试系统的,不过此外也还是有许多人做出了贡献的。

Patch review也非常重要,这也是我们希望减少今后报出bug的首先该做的事情。尽管不是所有的review结果都有Reviewed-by tag,但是这个数字还是有参考意义的:

Review credits in 5.8
Rob Herring 183 2.6%
Christoph Hellwig 179 2.6%
Alexandre Chartre 128 1.8%
Andy Shevchenko 125 1.8%
Ranjani Sridharan 121 1.7%
Andrew Lunn 113 1.6%
Darrick J. Wong 107 1.5%
Florian Fainelli 94 1.4%
Jiri Pirko 88 1.3%
David Sterba 83 1.2%
Hannes Reinecke 81 1.2%
Ursula Braun 79 1.1%
Alex Deucher 78 1.1%
Stephen Boyd 78 1.1%
Kees Cook 78 1.1%

在5.8版本中新增的这些patch中,有5,470个(占比34%)包含Reviewed-by tag。过去几个kernel版本中基本上带有这类tag的patch占所有合入的patch的比例都是差不多1/3的样子。

总的来看,内核开发社区仍然在高速发展。全球性的疫情就算是有影响,那么看起来也是加速了kernel的开发进度。很想看看到5.9版本的时候这个趋势是否还能保持。请大家等待10月初的时候的答案吧!

全文完

LWN文章遵循CC BY-SA 4.0许可协议。

欢迎分享、转载及基于现有协议再创作~

长按下面二维码关注,关注LWN深度文章以及开源社区的各种新近言论~

你可能感兴趣的:(LWN:5.8内核数据分析!)