Portál AbcLinuxu, 28. března 2024 12:11
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.
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.
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ářů.
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ů.
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í…
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 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
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 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
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 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
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ů.
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.