Portál AbcLinuxu, 22. únor 2020 07:49

Jaderné noviny – 4. 1. 2018: Statistiky vývojového cyklu 4.15

21. 1. 2018 | Redakce
Články - Jaderné noviny – 4. 1. 2018: Statistiky vývojového cyklu 4.15  

Stav vývoje jádra. Izolace tabulek stránek jádra začleněna. Citáty týdne: The Register a Linus Torvalds. Statistiky vývojového cyklu 4.15.

Stav vydání jádra

Současné vývojové jádro je 4.15-rc6, vydané 31. prosince. Tento prepatch obsahuje, kromě jiného, sadu patchů izolace tabulek stránek jádra,, která představuje velkou změnu takto pozdě ve vývojovém cyklu. Linus řekl: „Byl by to velmi klidný týden, nebýt finální podoby záležitostí kolem PTI pro x86, a to se projevilo i ve statistikách změn. Zhruba polovina prací v rc6 představuje aktualizace pro x86. Načasování není ideální, ale vypadá to hezky a čistě.“

4.15-rc5 předtím vyšla 23. prosince.

Stabilní aktualizace: Za dva poslední týdny se objevilo docela dost aktualizací. 4.14.9, 4.9.72, 4.4.108 a 3.18.90 vyšly 25. prosince. 4.14.10 a 4.9.73 následovaly 29. prosince a 4.14.11, 4.9.74, 4.4.109 a 3.18.91 se objevily 3. ledna. Aktualizace 4.14.11 obsahuje patche izolace tabulek stránek jádra.

Stabilní aktualizace 4.9.75 a 4.4.110 byly v době psaní tohoto článku v procesu revidování, vyšly 5. ledna. Tyto aktualizace jsou věnovány izolaci tabulek stránek jádra, ale využívají starší verzi sady patchů, která si drží starý název „KAISER“.

Izolace tabulek stránek jádra začleněna

Linus začlenil sadu patchů izolace tabulek stránek jádra do hlavního repozitáře těsně před vydáním 4.15-rc6. Jedná se o zásadní změnu takto pozdě ve vývojovém cyklu, takže si můžeme tipnout, že 4.15 bude muset mít aspoň osm kandidátů na vydání, než bude připravena k vydání.

Citáty týdne

Představte si jádro jako Boha, který sedí na obláčku a dívá se dolů na Zemi. Je tam, žádný běžný smrtelník jej nemůže vidět, ale může se k němu modlit.

The Register

Myslím, že by se měl někdo z Intelu posadit, pořádně se podívat na své procesory a skutečně uznat, že mají vady, namísto psaní PR nesmyslů o tom, že všechno funguje, jak má.

Linus Torvalds

Statistiky vývojového cyklu 4.15

Statistics for the 4.15 kernel. Jonathan Corbet. 3. ledna 2018

Jádro 4.15 bude pravděpodobně v důsledku začlenění patchů izolace tabulek stránek jádra až po -rc5 vyžadovat poměrně dlouhý vývojový cyklus. Ale i tak by již mělo být v téměř finální podobě, až na některé nevyhnutelné opravy chyb. Vývojové statistiky pro toto vydání jádra vypadají dost normálně, ale celkově odhalují nečekaně rušný vývojový cyklus.

Tento vývojový cyklus měl být poměrně klidný – po očekávaném shonu, aby se výsledky práce dostaly do vydání 4.14 s dlouhodobou podporou. Ale zatímco cyklus 4.14 se zastavil na počtu 13 452 neslučovacích sad změn, tento cyklus jich má v době 4.14-rc6 již 14 226, což z něj dělá jeden z nejrušnějších vývojových cyklů v dějinách projektu. Více práce přidala pouze vydání 4.9 (16 214 sad změn) a 4.12 (14 570) a 4.15 možná nakonec v době svého dokončení 4.12 překoná. Zatím do tohoto cyklu přispělo 1 707 vývojářů, kteří 725 tisíc řádek kódu přidali a 407 tisíc řádek odstranili, což znamená čistý růst 318 tisíc řádek kódu.

Nejaktivnější vývojáři tentokrát byli:

Nejaktivnější vývojáři cyklu 4.15
Podle počtu sad změn
Kees Cook3492,5 %
Colin Ian King2371,7 %
Harry Wentland1701,2 %
Ben Skeggs1561,1 %
Gustavo A. R. Silva1381,0 %
Christoph Hellwig1371,0 %
Geert Uytterhoeven1361,0 %
Arnd Bergmann1340,9 %
Chris Wilson1290,9 %
Dmytro Laktjuškin1250,9 %
Allen Pais1120,8 %
Masahiro Jamada1080,8 %
Thomas Gleixner1050,7 %
Dave Airlie1030,7 %
Eric Dumazet990,7 %
Ville Syrjälä970,7 %
Arvind Yadav950,7 %
Jakub Kicinski940,7 %
Markus Elfring920,6 %
Mauro Carvalho Chehab890,6 %
Podle počtu změněných řádek
Harry Wentland15226216,8 %
Dave Airlie476515,2 %
Takaši Iwai419434,6 %
Dmytro Laktjuškin283063,1 %
Rex Zhu240082,6 %
Andy Shevchenko182042,0 %
Paul E. McKenney146291,6 %
Ben Skeggs126841,4 %
Palmer Dabbelt104331,1 %
David Howells102101,1 %
Darrick J. Wong87921,0 %
Yue Hin Lau84830,9 %
Greg Kroah-Hartman82980,9 %
Kees Cook70910,8 %
Christoph Hellwig70760,8 %
Linus Walleij67570,7 %
Jakub Kicinski64020,7 %
Wei Hu59670,7 %
Mauro Carvalho Chehab56920,6 %
Alex Deucher54060,6 %

Kees Cook byl nejplodnějším přispěvatelem sad změn v tomto cyklu, pracoval na zabezpečení napříč jádrem, ale většina patchů implementovala změny interního API jaderných časovačů. Colin Ian King přispěl úklidovými patchi různě po celém jádře, Harry Wentland přidal další obrovskou hromadu kódu grafických ovladačů AMD, Ben Skeggs pracoval jako obvykle na ovladači Nouveau a Gustavo Silva se zaměřil na označování případů, kdy dochází k propadu skrz alternativy ve výrazu switch (jako v tomto patchi).

Ve sloupci „Podle počtu změněných řádek“ se na prvním místě díky grafickým ovladačům AMD na první místě umístil Wentland. Dave Airlie přivedl do grafického subsystému kód AMD Display Core, ale provedl také spoustu úklidových prací, které vedly k odstranění více než 21 tisíc řádek kódu. Takaši Iwa pracoval na subsystému audia, zejména odstranil starý kód Open Sound System, čímž jádro zmenšil o 40 tisíc řádek. Dmytro Laktjuškin a Rex Zhu také přidali více kódu grafického ovladače AMD. Grafické ovladače AMD tím pádem dominovaly změnám v tomto vývojovém cyklu, pokud jde o počet řádek kódu, jak tomu bylo u řady nedávných vývojových cyklů.

Stojí za zmínku, že se v těchto číslech opět v podstatě vůbec nenachází práce ve stromě staging. Zdá se, že jsou pryč dny, kdy práce na staging byly největším tahounem změn v jádře. Ani práce na izolaci tabulek stránek jádra se moc neukazuje, na čemž je vidět, že důležité změny často přicházejí v relativně malých balíčcích.

Práce v cyklu 4.15 podpořilo 231 společností (které se nám podařilo identifikovat), více než kolik jich podpořilo vznik 4.14, ale vzhledem k současným standardům je to stále poměrně málo. Rekord v tomto ohledu drží vydání 4.10, na kterém se podílelo 271 společností. Ty nejaktivnější společnosti v tomto cyklu jsou:

Nejaktivnější zaměstnavatelé cyklu 4.15
Podle počtu sad změn
Intel160911,3 %
AMD152610,7 %
Red Hat9556,7 %
(žádný)8135,7 %
Google7395,2 %
(neznámý)7034,9 %
Linaro4893,4 %
IBM4503,2 %
Oracle3902,7 %
Renesas Electronics3432,4 %
Mellanox3402,4 %
Linux Foundation3072,2 %
ARM3062,2 %
SUSE2942,1 %
Broadcom2601,8 %
Huawei Technologies2571,8 %
Canonical2541,8 %
(konzultanti)2511,8 %
Samsung2211,6 %
Netronome Systems1571,1 %
Podle počtu změněných řádek
AMD26623029,3 %
Red Hat9717710,7 %
Intel827919,1 %
SUSE464795,1 %
(neznámý)337393,7 %
IBM331053,6 %
(žádný)248422,7 %
Linaro232912,6 %
Google177602,0 %
Broadcom154821,7 %
Mellanox149231,6 %
Samsung138411,5 %
Oracle137551,5 %
Huawei Technologies136551,5 %
ARM131181,4 %
Renesas Electronics107621,2 %
Netronome Systems103661,1 %
Linux Foundation98551,1 %
ST Microelectronics88031,0 %
Chelsio86951,0 %

Práce na grafikách AMD jsou v těchto číslech jasně vidět, jinak jsou výsledky typické pro poslední vývojové cykly.

Štítky Signed-off-by přidané k patchům poskytují informace o tom, kdo převzal zodpovědnost za jejich vývoj. Konkrétně, když se podíváme na podpisy připojené vývojáři, kteří ale nejsou autory patche, můžeme vidět, kdo akceptoval patche k začlenění do hlavního repozitáře, tedy nejaktivnější správce. V jádře 4.15 výsledek vypadá takto:

Neautorské štítky Signed-off-by („podepsal“) v cyklu 4.15
Podle vývojáře
David S. Miller194214,1 %
Alex Deucher155111,3 %
Greg Kroah-Hartman7495,5 %
Ingo Molnar3972,9 %
Mark Brown3292,4 %
Doug Ledford3002,2 %
Mauro Carvalho Chehab2872,1 %
Andrew Morton2712,0 %
Jens Axboe2401,7 %
Martin K. Petersen2261,6 %
Thomas Gleixner2181,6 %
Simon Horman1771,3 %
Herbert Xu1741,3 %
Jeff Kirsher1561,1 %
Kalle Valo1521,1 %
Michael Ellerman1511,1 %
Jiří Pírko1260,9 %
David Štěrba1140,8 %
Martin Schwidefsky1130,8 %
Linus Walleij1100,8 %
Podle společnosti
Red Hat333424,3 %
AMD168112,2 %
Intel10887,9 %
Linaro9046,6 %
Linux Foundation7695,6 %
Google4793,5 %
Samsung4403,2 %
Oracle3952,9 %
IBM3722,7 %
Facebook3342,4 %
Huawei Technologies3282,4 %
(žádný)3202,3 %
Mellanox2832,1 %
SUSE2702,0 %
Renesas Electronics2191,6 %
Free Electrons2181,6 %
Linutronix2181,6 %
Code Aurora Forum2141,6 %
(konzultanti)1811,3 %
ARM1761,3 %

Správci jaderných subsystémů se dlouho soustřeďovali v relativně malé skupině firem. Tato situace se pomalu mění, ale stále je pravda, že v cyklu 4.15 byla polovina začleněných změn přijata vývojáři, kteří pracují pro pouze čtyři společnosti.

Nakonec přehled nejaktivnějších oznamovatelů chyb a testerů, tedy alespoň podle štítků Reported-by a Tested-by připojených k patchům:

Hlášení a testování chyb v cyklu 4.15
štítky Reported-by („nahlásil“)
kernel test robot365,5 %
Dan Carpenter253,8 %
syzbot253,8 %
Dmitrij Vjukov121,8 %
Andrey Konovalov111,7 %
Geert Uytterhoeven91,4 %
Arnd Bergmann71,1 %
Michael Ellerman71,1 %
Randy Dunlap71,1 %
Brian Foster71,1 %
Stephen Rothwell71,1 %
Jianlin Shi71,1 %
Jakub Kicinski60,9 %
štítky Tested-by („otestoval“)
Andrew Bowers11412,7 %
Juergen Gross525,8 %
Yu Chen515,7 %
Krishneil Singh222,4 %
Borislav Petkov202,2 %
Oleksandr Natalenko161,8 %
Arnaldo Carvalho de Melo151,7 %
Aaron Brown131,4 %
Sean Wang121,3 %
Chris Brandt121,3 %
Xin Long111,2 %
Geert Uytterhoeven91,0 %
Lee Tibbert91,0 %

Relativně novým záznamem je zde „syzbot“, což je věc provozovaná Dmitrijem Vjukovem v Google. Syzbot spouští fuzzovací tester syzkaller v automatickém režimu a hlásí (početné) výsledné pády. Jak můžeme vidět na štítcích, tato hlášení vedou ke stálému proudu oprav chyb, což je jedině dobře.

Zpráva, kterou podává poslední tabulka, ale není úplná, protože většina hlášení chyb a (zvláště) testování se nikde neuvádí. Jaderná komunita spoléhá na mnohem více lidí než jen na ty, kteří přímo přispívají kódem – nikdy nebude možné uvést je všechny. Celkově zůstává tato komunita velká, aktivní a rostoucí. První jádro vydané v roce 2018 tomu bude odpovídat.

Odkazy a zdroje

LWN.net
Statistics for the 4.15 kernel

Další články z této rubriky

Jaderné noviny – přehled za leden 2020
Jaderné noviny – přehled za prosinec 2019
Jaderné noviny – přehled za listopad 2019
Jaderné noviny – přehled za říjen 2019
Jaderné noviny – přehled za září 2019

Diskuse k tomuto článku

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.