Portál AbcLinuxu, 21. říjen 2017 19:55

Jaderné noviny - 20. 4. 2017: Statistiky vývojového cyklu 4.11

11.5. | Redakce
Články - Jaderné noviny - 20. 4. 2017: Statistiky vývojového cyklu 4.11  

Stav vydání jádra. Citáty týdne: Peter Zijlstra a Harald Welte. Statistiky vývojového cyklu 4.11.

Stav vývoje jádra

Současné vývojové jádro je 4.11-rc7, vydané 16. dubna. Linus řekl: „Jsme v pozdní fázi rc vydání a pokud nedojde k žádným překvapením, mohlo by jít o posledního kandidáta na vydání.“

Stabilní aktualizace: 4.10.11, 4.9.23, 4.4.62 a 3.18.49 byly vydány 18. dubna.

Pokud jste překvapeni, že vidíte aktualizaci řady 3.18, přestože jí už skončila podpora, Greg Kroah-Hartman má vysvětlení:

3.18? Nemělo tohle jádro být mrtvé a zapomenutý, aby shnilo někde v příkopě? Ano, mělo, ale bohužel tu máme řádově několik milionů zařízení, které jsou na tomto jádře závislé. Někteří výrobci a dodavatelé SoC se sice moc o aktualizaci svých jader nestarají, ale aspoň některým na bezpečnosti a uživatelích záleží, takže toto vydání je pro ně. Pokud se váš dodavatel o uživatele nestará, běžte si stěžovat, protože je možné, že vaše zařízení je teď v podstatě nechráněné.

Aktualizace 4.10.12, 4.9.24 a 4.4.63 byly v době psaní tohoto článku v procesu revidování, vyšly 21. dubna.

Citáty týdne

Jenže lidí, kteří používají lockdep, je více než lidí, kteří píší kód, a těch je zase víc něž těch, kteří při psaní kódu čtou relevantní komentáře. Mít anotaci lockdep je tím pádem o dva řády lepší než mít komentář.

Peter Zijlstra

Jeden by čekal, že se vší tržní sílou a spoustou zařízení běžících na Linuxu v oblasti telekomunikací by některý z velkých poskytovatelů telekomunikačních služeb mohl investovat do vylepšení kódu SCTP v upstreamu Linuxu. Tím myslím, že všichni stejně používají jaderné UDP a TCP, takže to funguje v případě většiny ostatních síťových protokolů v jádře, tak proč ne SCTP? Předpokládám, že to bude základním nepochopením toho, jak vlastně vývoj open source funguje.

Harald Welte (díky Paulu Wiseovi)

Statistiky vývojového cyklu 4.11

Linus Torvalds nedávno dal najevo, že 4.11-rc7 má docela velkou šanci stát se posledním kandidátem na vydání v této řadě. Takže přišel čas se podívat na uplynulý vývojový cyklus a přispěvatele, kteří se v něm angažovali.

V době vzniku tohoto článku bylo do hlavního repozitáře pro vydání 4.11 začleněno 12 546 neslučovacích sad změn, čímž se tento cyklus co do velikosti zařadil k více méně průměru poslední doby. Tyto změny poskytlo celkem 1723 vývojářů a jádro tak narostlo o téměř 300 tisíc řádek. Zatím nejvíce vývojářů, konkrétně 1729, se podílelo na vydání 4.9, takže kdyby se v cyklu 4.11 přidalo dalšího půl tuctu vývojářů, tento rekord mohl být překonán. Z celkového počtu všech vývojářů jich do cyklu 4.11 278 přispělo vůbec poprvé.

Mezi nejaktivnější vývojáře cyklu 4.11 patří:

Nejaktivnější vývojáři cyklu 4.11
Podle počtu změn
Chris Wilson2261,8 %
Arnd Bergmann1601,3 %
Ingo Molnár1581,3 %
Christoph Hellwig1150,9 %
Takaši Iwai1100,9 %
Guenter Roeck1010,8 %
Bart Van Assche940,7 %
Bhumika Goyal890,7 %
Geert Uytterhoeven870,7 %
Ville Syrjälä860,7 %
James Hogan830,7 %
Johan Hovold800,6 %
Nikolay Borisov790,6 %
Andy Ševčenko770,6 %
Colin Ian King770,6 %
Laurent Pinchart750,6 %
Julia Lawall740,6 %
Florian Fainelli720,6 %
Eric Dumazet710,6 %
Daniel Vetter700,6 %
Podle počtu řádek
James Smart142882,2 %
Ard Biesheuvel142152,2 %
Selvin Xavier133932,1 %
Greg Kroah-Hartman117051,8 %
David VomLehn110851,7 %
Rob Rice95391,5 %
Eric Anholt94601,5 %
Jakub Kicinski90241,4 %
Chris Wilson89861,4 %
Chad Dupuis88291,4 %
Ingo Molnár77531,2 %
Balbir Singh74511,1 %
Maxime Ripard71101,1 %
Ursula Braun66661,0 %
Christoph Hellwig57400,9 %
Rex Zhu57190,9 %
Paul E, McKenney54970,8 %
Jiří Pírko54070,8 %
Quinn Tran53310,8 %
Takaši Iwai48920,8 %

Na vrcholu sloupce „podle počtu změn“ se se svou prací na ovladači Intel i915 umístil Chris Wilson. Arnd Bergmann pokračuje v aplikování oprav napříč celým stromem; Ingo Molnár (primárně) přispěl k rozsáhlému přepracování hlavičkového souboru sched.h; Christoph Hellwig udělal významný kus práce na subsystému blokového I/O a Takaši Iwai přidal mnoho patchů z pozice správce audio subsystému.

Ve sloupci „podle počtu změněných řádek“ figuruje James Smart, který udělal hodně práce na ovladači SCSI. Práce Arda Biesheuvela spočívala vesměs v optimalizaci šifrovacích algoritmů na architektuře ARM; Selvin Xavier přispěl třemi patchi přidávajícími ovladač „bnxt_re“ pro RoCE (RDMA over Converged Ethernet); Greg Kroah-Hartman smazal něco nepotřebného staging kódu a David VomLehn přidal síťový ovladač AQtion.

Vývojáři přispívající do cyklu 4.11 byli podporováni nejméně 225 zaměstnavateli, z nichž nejaktivnější byli následující:

Nejaktivnější zaměstnavatelé cyklu 4.11
Podle počtu změn
Intel160812,8 %
(neznámý)10718,5 %
Red Hat9557,6 %
(žádný)7986,4 %
Linaro6245,0 %
IBM4933,9 %
SUSE4823,8 %
Google3753,0 %
(konzultanti)3492,8 %
Samsung3032,4 %
Broadcom2962,4 %
Mellanox2692,1 %
Oracle2311,8 %
AMD2071,6 %
Renesas Electronics1971,6 %
Huawei Technologies1971,6 %
Facebook1871,5 %
Imagination Technologies1601,3 %
Canonical1561,2 %
Code Aurora Forum1461,2 %
Počtem řádek
Intel8006912,3 %
Broadcom481637,4 %
(neznámý)440466,8 %
(žádný)433116,6 %
Linaro375315,8 %
IBM332865,1 %
Red Hat319554,9 %
Cavium283124,3 %
(konzultanti)249743,8 %
SUSE150202,3 %
ST Microelectronics147092,3 %
Mellanox144742,2 %
Google121851,9 %
Linux Foundation117891,8 %
AMD113971,7 %
Samsung108451,7 %
Free Electrons102581,6 %
Code Aurora Forum94551,5 %
Netronome Systems91721,4 %
Facebook90231,4 %

Tahle tabulka už za ty roky trochu nudí a nemá moc tendence se mezi cyklů moc měnit.

Vyvíjet kód je důležité, ale to platí i pro jeho revidování, testování a hlášení chyb. V procesu vývoje jádra jsou už dlouho mechanismy ke sledování těchto příspěvků, ačkoliv se nepoužívají tolik, jak by mohly. Štítek reviewed_by explicitně zaznamenává příspěvky recenzentů – v tomto vývojovém cyklu byli nejaktivnější:

Nejaktivnější recenzenti v cyklu 4.11
Hannes Reinecke126
Joonas Lahtinen125
Alex Deucher106
Christoph Hellwig106
Chris Wilson92
Johannes Thumshirn77
Geert Uytterhoeven68
Andreas Dilger68
Christian König63
Tvrtko Ursulin60
Daniel Vetter57
Tomáš Henzl56
Andy Ševčenko55
Laurent Pinchart50
Oleg Drokin50
Doug Oucharek46
Linus Walleij45
Liu Bo42
Greg Kroah-Hartman38
Darrick J. Wong38
Chao Yu38
Josh Triplett37

Hannes Reinecke se soustředil na subsystém SCSI, zatímco Joonas Lahtinen revidoval patche i915. Každý z nich zvládl revidovat 1 % z celkového množství patchů, které do vydání 4.11 přitekly – dva patche denně z 63 dnů dlouhého vývojového cyklu.

Z 12 546 sad změn začleněných do vydání 4.11 jich 3099 obsahovalo štítky Reviewed-by. Netřeba dodávat, že tyto štítky nedokumentují veškerou práci odvedenou na revidování během tohoto vývojového cyklu. Většina recenzí se nedočkala žádného štítku. Když jsou patche revidovány správcem subsystému, který je poté aplikuje, je místo toho výsledkem štítek Signed-off-by. Pokud se podíváme na tyto štítky aplikované vývojáři, kteří ovšem nejsou autory příslušných patchů, pak je výsledek následující:

Nejčastější neautorské podpisy vývojářů v cyklu 4.11
David S. Miller147312,4 %
Greg Kroah-Hartman9618,1 %
Andrew Morton4083,4 %
Mark Brown3132,6 %
Martin K. Petersen3082,6 %
Ingo Molnár2722,3 %
Kalle Valo2412,0 %
Mauro Carvalho Chehab2311,9 %
Doug Ledford2071,7 %
Jens Axboe2031,7 %
Michael Ellerman1871,6 %
Linus Walleij1721,4 %
Herbert Xu1661,4 %
Alex Deucher1641,4 %
Daniel Vetter1521,3 %
Jonathan Cameron1291,1 %
Rafael J, Wysocki1291,1 %
David Štěrba1271,1 %
Ralf Baechle1261,1 %
Ulf Hansson1241,0 %

V tomto případě je těžké oddělit revidování od celkové úrovně aktivity v příslušném subsystému. Nicméně hrubá korelace jistě existuje, což znamená, že vývojáři uvedení v tabulce výše prohlížejí velké množství patchů. Této práci se často nedostává chvály, leč jedná se o důležitou součást vývoje jádra – bez ní by celý proces neběžel tak plynule a rychle jako nyní.

Testování a hlášení chyb se dá také vysledovat podle štítků v souvisejících patchích. V případě cyklu 4.11 to vypadá následovně:

Testování a hlášení chyb v cyklu 4.11
Štítky Reported-by
Dmitry Vyukov476,9 %
Dan Carpenter476,9 %
kbuild test robot314,5 %
Greg Kroah-Hartman121,8 %
Andrey Konovalov101,5 %
Al Viro91,3 %
Colin Ian King91,3 %
Ben Hutchings71,0 %
Bart Van Assche71,0 %
Jay Vana71,0 %
Russell King60,9 %
Marc Dionne60,9 %
Linus Torvalds60,9 %
David Binderman60,9 %
Geert Uytterhoeven50,7 %
Mike Galbraith50,7 %
Dave Jones50,7 %
Ville Syrjälä40,6 %
Dexuan Cui40,6 %
Anton Blanchard40,6 %
Štítky Tested-by
Andrew Bowers7010,0 %
Tomasz Nowicki172,4 %
Bharat Bhushan152,2 %
Arnaldo Carvalho de Melo142,0 %
Krishneil Singh142,0 %
Larry Finger131,9 %
Mark Rutland121,7 %
Florian Vaussard101,4 %
Stan Johnson101,4 %
Aaron Brown101,4 %
David Lechner91,3 %
Omar Sandoval81,1 %
Jarkko Sakkinen81,1 %
Xiaolong Ye81,1 %
Jeremy McNicoll81,1 %
Neil Armstrong81,1 %
Geert Uytterhoeven71,0 %
Stefan Wahren71,0 %
Y.C. Chen71,0 %
Laurent Pinchart60,9 %

Opět platí, že většiny aktivity nevede k použití explicitních štítků, a to obzvláště když jde o testování – spousta testerů se neozve, pokud nenarazí na žádný problém. Bez ohledu na to, zda je testování a hlášení připisováno konkrétním lidem či nikoli, jsou obě činnosti zásadní, jinak by nebylo možné vydat každých devět nebo deset týdnů vývojového cyklu solidní jádro.

Odkazy a zdroje

Linux Weekly News: Briefs
4.11 Kernel development statistics

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

Jaderné noviny – 28. 9. 2017: Poznámky z mikrokonference o trasování na LPC
Jaderné noviny – 21. 9. 2017: Zbytek začleňovacího okna 4.14
Jaderné noviny – 14. 9. 2017: První polovina začleňovacího okna 4.14
Jaderné noviny – 8. 9. 2017
Jaderné noviny – 31. 8. 2017: Statistiky vývojového cyklu 4.13

Diskuse k tomuto článku

11.5. 17:32 huh
Rozbalit Rozbalit vše Re: Jaderné noviny - 20. 4. 2017: Statistiky vývojového cyklu 4.11
Odpovědět | Sbalit | Link | Blokovat | Admin
Prislo mi zajimave to o nedostatku vyvojaru, financi na protokolu SCTP! Drive zminovana zpravicka zde o EU grantu 25M Eur pro MariaDB - myslim, ze by penize mely byt davany do opravdu abstraktnich veci typu protokoly apod (obzvlast, kdyz to vse stejne jede na linuxu), a ne na konkretni implementaci.

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