本文主要是介绍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% 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% 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% 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% 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内核数据分析!的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!