Portál AbcLinuxu, 28. března 2024 12:11

Jaderné noviny – 26. 10. 2017: Statistiky vývojového cyklu 4.14

7. 11. 2017 | Redakce
Články - Jaderné noviny – 26. 10. 2017: Statistiky vývojového cyklu 4.14  

Stav vydání jádra. Výroční zpráva Linux Foundation o vývoji jádra. Záznam živého přenosu z Realtime Summitu. Citáty týdne: Narcisa Vasile a Dave Chinner. Statistiky vývojového cyklu 4.14.

Stav vydání jádra

Současné vývojové jádro je 4.14-rc6, vydané 23. října. Linus řekl: „Tahle rc6 je o něco větší, než jsem doufal, a nevím, jestli je to známka, že nakonec _budeme_ potřebovat rc8 (což by nebylo až tak překvapující), nebo je to prostě načasováním. Nechám to zatím otevřené, abyste věděli, že na rc8 _může_ dojít.“

Stabilní aktualizace: 4.13.9, 4.9.58, 4.4.94 a 3.18.77 vyšly 22. října. Aktualizace 4.13.10, 4.9.59, 4.4.95 a 3.18.78 byly v době psaní tohoto článku v procesu revidování, vyšly 27. října.

Výroční zpráva Linux Foundation o vývoji jádra

Linux Foundation oznámila zveřejnění své výroční zprávy o vývoji jádra. „Jedná se o osmou takovou zprávu, vycházející zhruba jednou ročně, která má pomoci ilustrovat proces vývoje jádra Linux a práci, která definuje největší společný projekt v dějinách výpočetní techniky. Letošní zpráva se zabývá pracemi, které byly dokončeny do cyklu 4.13, s důrazem na vydání 4.8 až 4.13.“ Tato zpráva, kterou sepsali Jonathan Corbet, editor LWN, a Greg Kroah-Hartman, nepřináší pravidelným čtenářům Linux Weekly News (resp. Jaderných novin) mnoho nového, ale jsou v ní hezky zpracované profily vývojářů.

Záznam živého přenosu z Realtime Summitu

Na YouTube je dostupný záznam živého přenosu Realtime Summitu 2017, který se konal 21. října na ČVUT v Praze. Dostupný je také program jednotlivých příspěvků.

Citáty týdne

S velkou mocí přicházejí velké chyby.

—Narcisa Vasile (během panelu jaderných vývojářů na Open Source Summit Europe)

Řeknu to takhle: Z Documentation/memory-barriers.txt mě bolí hlava. (…)

Takže ve finále opravdu jde o to, že víme, že refcount_t není přímou náhradou za atomické operace a že skutečně ověřit, že změna je správná, vyžaduje hlubší pochopení Documentation/memory-barriers.txt. Podle mého názoru to představuje příliš velké nároky na dlouhodobou údržbu a množství znalostí, které je potřeba přidat k něčemu, co je jednoduchá sada čítačů referencí…

Dave Chinner

Statistiky vývojového cyklu 4.14

A look at the 4.14 development cycle. Jonathan Corbet. 20. října 2017

Jádro 4.14, které by mělo vyjít v první polovině listopadu, se v době psaní tohoto článku dostalo do relativně pomalejší fáze vývojového cyklu. Nastal tedy čas podívat se na změny, které se dostaly do tohoto vývojového cyklu, a také na to, jak se tam dostaly. Ačkoliv je 4.14 celkem běžný cyklus, v pár aspektech tentokrát vybočuje.

Do doby pre-patche 4.14-rc5 se do hlavního repozitáře jádra dostalo 12 757 neslučovacích sad změn, což činí 4.14 o něco rušnějším než předchozí cyklus, ale i tak stále jde o celkem běžný vývojový cyklus. Pokud vývojáři do tohoto vydání – vzhledem k jeho dlouhodobé podpoře – protlačili nedodělaný kód, jak se někteří obávají, na celkovém objemu patchů to není poznat.

Do tohoto vývojového cyklu zatím přispělo 1649 vývojářů a toto číslo se do finálního vydání téměř jistě o něco zvýší. I v tomto případě jde o to nárůst oproti cyklu 4.13. Z celkového počtu vývojářů jich 240 přispělo do jádra 4.14 vůbec poprvé. Tato čísla nejsou v ničem neobvyklá, ale bližší pohled na nejaktivnější vývojáře ukazuje pár neobvyklých aspektů.

Nejaktivnější vývojáři cyklu 4.14
Podle počtu sad změn
Arvind Yadav5444,3 %
Bhumika Goyal1951,5 %
Gustavo A. R. Silva1561,2 %
Colin Ian King1511,2 %
Julia Lawall1411,1 %
Arnd Bergmann1271,0 %
Mauro Carvalho Chehab1170,9 %
Bart Van Assche1130,9 %
Arnaldo Carvalho de Melo1060,8 %
Paul Burton1000,8 %
Chris Wilson960,8 %
Markus Elfring940,7 %
Thomas Gleixner870,7 %
Dan Carpenter870,7 %
Laurent Pinchart870,7 %
Daniel Vetter830,7 %
Xin Long820,6 %
Christoph Hellwig790,6 %
Geert Uytterhoeven770,6 %
Michael Ellerman760,6 %
Podle počtu změněných řádek
Greg Kroah-Hartman12942114,9 %
Ping-Ke Shih12291214,1 %
Lionel Landwerlin302893,5 %
Mauro Carvalho Chehab224612,6 %
Daniel Scheller177082,0 %
Nick Terrell142231,6 %
Aviad Krawczyk128311,5 %
Salil Mehta120511,4 %
Juergen Gross110361,3 %
Todor Tomov92861,1 %
Sukadev Bhattiprolu92481,1 %
Hannes Reinecke90031,0 %
Arnaldo Carvalho de Melo77900,9 %
Andi Kleen68260,8 %
Johannes Berg66310,8 %
Masahiro Yamada64290,7 %
Russell King45730,5 %
John Fastabend44120,5 %
Jérôme Glisse41280,5 %
Vikas Shivappa40910,5 %

Arvind Yadav přispěl 544 sadami změn, vesměs zaměřenými na převedení seznamů zařízení-ID na konstanty. Na rozdíl od většiny podobných úprav nemají tyto sady změn velký bezpečnostní význam, ale aspoň vedou k drobnému zmenšení zdrojového kódu jádra. Bhumika Goyal začala svou stáž v rámci Outreachy úpravou struktur, které jsou plné ukazatelů na funkce, na const, což je práce, která bezpečnost vylepšuje. Na této práci pokračuje i nyní, po opuštění programu Outreachy, s podporou Core Infrastructure Initiative (CII). Gustavo A.R. Silva podporovaný CII také pracoval na převodu dat na konstanty (constification), ale přispěl i řadou dalších oprav. Colin Ian King pracoval na, počkejte si na to, převodu na konstanty a dalších opravách a konečně i Julia Lawall dělala totéž.

Jinými slovy, prvních pět přispěvatelů přispělo téměř 1200 změnami, většinou čistěním deklarací v jádře. Tato práce nepřitahuje stejnou pozornost jako přidávání tvrdících mechanismů, ale celkově se jedná o důležitou součást tvrzení jádra.

Greg Kroah-Hartman se dostal na vrchol sloupce „podle změněných řádek“ hlavně díky jedinému patchi, který z jaderného stromu odstraňuje zbývající staré soubory s firmwarem. Firmware je již dlouho udržován mimo strom, takže toto pročištění bylo na místě. Ping-Ke Shih přidal další ovladač WiFi od společnosti Realtek do staging stromu, Lionel Landwerlin přepracoval části ovladače Intel i915 tak, že bylo možné hodně kódu odstranit, Mauro Carvalho Chebab jako obvykle přispěl změnami napříč subsystémy médií a dokumentace a Daniel Scheller přidal nový velký ovladač médií.

Ovladač WiFi Realtek si se svými 120 000 řádkami zaslouží trochu více pozornosti. Byl předmětem stížnosti na to, jak se ovladače Realteku dostávají do jádra. Ovšem stalo se něco, co je třeba zdůraznit. Řada ovladačů Reatek si prošla začleněním do staging stromu a často odtud to hlavního repozitáře, většinou to ve svém volném čase dělal Larry Finger. Ale, jak vysvětlil, dosáhl věku, kdy mu na to začíná chybět energie, a má v plánu brzy přestat. Takže je povzbudivé, že Ping-Ke Shih, který tentokrát dodal patch s ovladačem Realtek, je ve skutečnosti zaměstnancem Realteku. Zdá se, že se společnost konečně rozhodla dát nějaké zdroje na podporu Linuxu, a doufejme, že se situace s příslušnými ovladači bezdrátových zařízení časem zlepší. Mezitím by Realtek měl Larrymu poslat hezký dárek k odchodu do důchodu, rozhodně si to zaslouží.

Práce v cyklu 4.14 podporovalo 213 firem, které se podařilo identifikovat. To je obvyklý počet, opět o něco vyšší než v případě 203 firem v cyklu 4.13. Nejaktivnějšími zaměstnavateli tentokrát byli:

Nejaktivnější zaměstnavatelé cyklu 4.14
Podle počtu sad změn
Intel132810,4 %
(žádný)8136,4 %
Red Hat7545,9 %
(neznámý)5754,5 %
IBM5664,4 %
Motorola5444,3 %
Linaro5003,9 %
Google4533,6 %
Mellanox4253,3 %
SUSE4043,2 %
Linux Foundation3913,1 %
AMD3482,7 %
Renesas Electronics3192,5 %
Samsung2622,1 %
Rockchip2572,0 %
Oracle2211,7 %
ARM2181,7 %
(konzultanti)1991,6 %
Canonical1851,5 %
Broadcom1821,4 %
Podle počtu změněných řádek
Linux Foundation13136915,1 %
Realtek12497614,4 %
Intel10167111,7 %
(žádný)472225,4 %
Red Hat318883,7 %
SUSE294083,4 %
Huawei Technologies288073,3 %
IBM283633,3 %
Linaro256142,9 %
Samsung249402,9 %
(neznámý)227492,6 %
Mellanox183792,1 %
Facebook183452,1 %
Google172572,0 %
AMD146211,7 %
(konzultanti)121621,4 %
Renesas Electronics120041,4 %
ST Microelectronics99231,1 %
Rockchip90911,0 %
ARM84381,0 %

Tyhle výsledky jsou u posledních jader celkem běžné. Snad největším překvapením je přítomnost Realteku, o kterém byla řeč výše. Jinak postupuje projekt jádra stále kupředu, poháněn velkou podporou firem.

I když je projekt vývoje jádra jednoznačně závislý na vývojářích píšících kód, závisí také na těch, kdo testují změny a hlásí chyby. Alespoň občas jsou tyto příspěvky zaznamenány pomocí štítků přidaných patchům. Při pohledu na štítky Reported-by („nahlásil“; 619 k vydání 4.14-rc5) a Tested-by („otestoval“; 605) jsou vidět následující výsledky:

Testování a hlášení chyb v cyklu 4.14
štítky Reported-by („nahlásil“)
Fengguang Wu365,8 %
Dan Carpenter274,4 %
Andrey Konovalov172,7 %
Peter Zijlstra142,3 %
Eric Biggers121,9 %
Arnd Bergmann111,8 %
Michael Ellerman111,8 %
Stephen Rothwell91,5 %
kbuild test robot71,1 %
Eric Dumazet61,0 %
Dmitry Vyukov61,0 %
Jianlin Shi61,0 %
Christoph Hellwig50,8 %
Geert Uytterhoeven50,8 %
Ingo Molnar50,8 %
Tetsuo Handa50,8 %
kernel test robot50,8 %
Mathias Kresin50,8 %
štítky Tested-by („otestoval“)
Andrew Bowers518,4 %
Richard Scobie213,5 %
Arnaldo Carvalho de Melo193,1 %
Laurent Pinchart162,6 %
Thierry Reding162,6 %
Andrey Konovalov152,5 %
Laura Abbott142,3 %
Eric Biggers122,0 %
Jasmin Jessich122,0 %
Dietmar Spingler122,0 %
Manfred Knick122,0 %
Aaron Brown122,0 %
Marcin Wojtas122,0 %
Pavel Machek81,3 %
Philippe Cornu71,2 %
Stan Johnson71,2 %
Heiko Stuebner61,0 %
Ondrej Zary61,0 %

Ve skutečnosti nejspíš patří záznamy o hlášení „Fengguang Wu“ a dvakrát „test robot“ k sobě, ale v patchích byly uvedeny zvlášť.

Tato čísla samozřejmě značně podhodnocují, kolik testování a hlášení v komunitě probíhá. Příslušné štítky nejsou patchům vždy přidány, jak by se patřilo. V případě testování o sobě spousta testerů vůbec nedá vědět, když jim všechno funguje. I tak štítky, které použity jsou, zaznamenávají opravdu odvedenou práci, díky které je jádro lepší.

Celkově se zdá, že proces vývoje jádra běží i nadále celkem plynule, občasným komplikacím navzdory. Jen málo projektů by dokázalo integrovat změny takovým tempem a produkovat nějaký výsledek, který v následujících letech poslouží jako základ bezpočtu v praxi nasazených systémů.

Odkazy a zdroje

LWN.net
A look at the 4.14 development cycle

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

Jaderné noviny – přehled za únor 2024
Jaderné noviny – přehled za leden 2024
Jaderné noviny – přehled za prosinec 2023
Jaderné noviny – přehled za listopad 2023
Jaderné noviny – přehled za říjen 2023

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