Portál AbcLinuxu, 5. května 2025 21:43
Aktuální verze jádra: 2.6.25-rc2. Citát týdne: Ingo Molnár. Setkání v Pekingu. KGDB o krok blíže k začlenění?
Aktuální vývojové jádro je (k 20. 2. 2008) 2.6.25-rc2, vydané 15. února. Jsme teď ve stabilizačním období, takže většinu změn tvoří opravy. Tento patch [prepatch] obsahuje také nějaká vylepšení v rozhraní realtime skupinového plánování a přidává jaderným značkovačům možnost vícenásobných kontrol [multiple-probes]. Linus říká: Věřím, že tento vývojový cyklus nebude ani zdaleka tak náročný jako v případě 24, a proto se chystám odjet na dlouhý víkend a zůstat na pláži. Pro detaily se podívejte na dlouhý changelog.
Od 2.6.25-rc2 si do hlavního repozitáře našlo cestu přes 300 patchů. Jsou to většinou opravy, ale také nějaké nové ovladače sledovacích zařízení [watchdog], vylepšení bezpečnostního modulu SMACK a několik opravdu velkých aktualizací Video4Linux ovladačů.
Aktuální -mm strom je 2.6.25-rc2-mm1. Nedávné změny v -mm zahrnují podporu online defragmentace a read-only bind mód pro ext4.
Starší jádra: 2.4.36.1 bylo vydáno 16. února, obsahuje množství bezpečnostních oprav s nízkou prioritou.
Tvrdím, že neexistuje žádný rozumný důvod, proč dělat obsáhlé změny atomicky a odděleně od současného stromu, který má být stabilizován. _Každá_ rozsáhlá změna API může být rozdělena na fáze, ve kterých se každý subsystém přizpůsobí svým vlastním tempem; musí se to jen dobře naplánovat, otestovat a provést důsledně.
-- Ingo Molnar
Vývojář jádra v obleku není moc často k vidění, takže nešlo než vystavit následující obrázek. Andrew Morton se účastní Linux Developer Symposia 2008 v Pekingu, Číně. Zaměřením této akce, sponzorované Linux Foundation a Chinese Open Source Promotion Union, je dostat čínské vývojáře hlouběji do globální linuxové komunity. Zprávu z této akce hledejte v příštích Jaderných novinách.
Jaderný debugger na úrovni zdrojových kódů KGDB je tady už nějaký ten pátek, avšak mimo hlavní strom. Linus Torvalds není obecně moc velký fanda debuggerů a byl vždy proti začlenění KGDB. To se nyní možná mění a o začlenění KGDB do 2.6.26 se vážně uvažuje.
V průběhu let toho Linus o debuggerech řekl dost, zejména o těch jaderných; dlouhý příspěvek do linux-kernel (2000) nastiňuje jeho námitky:
Náhodou věřím, že když lidi nemají jaderný debugger, nutí je to přemýšlet o problému jinak než s ním. Myslím, že bez debuggeru se člověk nedostane do pozice, kdy ví, jak to funguje, a problém opraví z tohoto pohledu. Bez debuggeru má člověk tendenci přemýšlet o problémech jinak. Chce jim rozumět na jiné úrovni.
Pokus propašovat KGDB do hlavního stromu v rámci aktualizací architektury x86 selhal, ale Linus přeci jen pootevřel dveře k přijetí KGDB: Vůbec se tím nebudu zabývat, dokud to nebude nabízeno jako samostatný strom, nepomíchané s dalšími věcmi. Pak se na to můžu podívat. To podnítilo snahu o kgdb-light, kterou vedl Ingo Molnár.
Původní naděje, že bude kgdb obsažen v 2.6.25, se nenaplnily, ale s tím, jak Ingo opakovaně adresuje požadavky hackerů kernelu, se množství stížností snižuje. Po třech dnech od prvního odeslání kgdb-light je teď Ingo u desáté verze. Různá vlákna na linux-kernel ukazují, že spousta optimistických vývojářů se zatajeným dechem čeká, jestli se KGDB konečně dostane do hlavního stromu.
Odlehčená verze KGDB má stále většinu schopností té originální a další, teoreticky více rušivé, mohou být přidány později. Ingo se zjevně snaží jít na věc korektně, protože chce nejprve začlenit nerušivé části, které by mohly být použitelné pro různé architektury. Poukazuje na to, že ve třech architekturách v hlavním stromu už jsou kousky gdb, a pokračuje:
Takže jsme to mohli udělat tak, že bychom jen dali cp kernel/kgdb.c arch/x86/kernel/gdb-stub.c a začlenili tohle. Nikdo by nemohl nic říct - v early_printk.c už máme nízkoúrovňový UART kód, který jsme mohli znovu použít.
Ale my jsme to chtěli dělat správně a nepřidávat do arch/x86/kernel/gdb-stub.c speciální hack.
Diskuze o patchích se zaměřovaly především na vyřešení problémů nebo oblasti, které potřebují pročistit. Filozofické námitky byly z většiny ponechány stranou. Dost možná proto, že se Ingo svědomitě snažil o sestavení sady patchů, která by neměla velký dopad:
Tato série kgdb má očividně nulový dopad na kernel, protože se zkrátka nedotýká žádné nebezpečné cesty kódu [codepath]. Od tohoto okamžiku se může KGDB vyvíjet po malých, pečlivě kontrolovaných dětských krůčcích, stejně jako veškerý další jaderný kód.
Pro tento účel mění patch 22 souborů (na rozdíl od 41, které měnil původní kgdb), odstraňuje všechny vlivy na důležité cesty a nízkoúrovňové sériové ovladače; jak říká Ingo, KGDB by se neměl motat do věcí ovladačů. Kromě toho byla přepracována a pročištěna podpora "kgdb přes dotazované konzole" [kgdb over polled consoles]. Byly odstraněny různé hacky určené pro přístup k symbolům modulů, protože je potřeba vymyslet pro tento problém lepší řešení. Zatím se nepřišlo na žádné problémy, které by bránily začlenění, takže teď už to opravdu závisí na tom, co si myslí Linus; to se možná nedozvíme, dokud se v dubnu nebo květnu neotevře začleňovací okno pro 2.6.26.
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.