Portál AbcLinuxu, 6. května 2025 14:33
Stav vydání jádra. Citáty týdne: Peter Zijlstra a Harald Welte. Statistiky vývojového cyklu 4.11.
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.
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ář.
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)
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 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
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 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
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 Reinecke | 126 | |
Joonas Lahtinen | 125 | |
Alex Deucher | 106 | |
Christoph Hellwig | 106 | |
Chris Wilson | 92 | |
Johannes Thumshirn | 77 | |
Geert Uytterhoeven | 68 | |
Andreas Dilger | 68 | |
Christian König | 63 | |
Tvrtko Ursulin | 60 | |
Daniel Vetter | 57 | |
Tomáš Henzl | 56 | |
Andy Ševčenko | 55 | |
Laurent Pinchart | 50 | |
Oleg Drokin | 50 | |
Doug Oucharek | 46 | |
Linus Walleij | 45 | |
Liu Bo | 42 | |
Greg Kroah-Hartman | 38 | |
Darrick J. Wong | 38 | |
Chao Yu | 38 | |
Josh Triplett | 37 |
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. Miller | 1473 | 12,4 % |
Greg Kroah-Hartman | 961 | 8,1 % |
Andrew Morton | 408 | 3,4 % |
Mark Brown | 313 | 2,6 % |
Martin K. Petersen | 308 | 2,6 % |
Ingo Molnár | 272 | 2,3 % |
Kalle Valo | 241 | 2,0 % |
Mauro Carvalho Chehab | 231 | 1,9 % |
Doug Ledford | 207 | 1,7 % |
Jens Axboe | 203 | 1,7 % |
Michael Ellerman | 187 | 1,6 % |
Linus Walleij | 172 | 1,4 % |
Herbert Xu | 166 | 1,4 % |
Alex Deucher | 164 | 1,4 % |
Daniel Vetter | 152 | 1,3 % |
Jonathan Cameron | 129 | 1,1 % |
Rafael J, Wysocki | 129 | 1,1 % |
David Štěrba | 127 | 1,1 % |
Ralf Baechle | 126 | 1,1 % |
Ulf Hansson | 124 | 1,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 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
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.
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.