Portál AbcLinuxu, 7. května 2025 20:29
Diskuze o stabilních rozhraních v kernelech. Stav Andreových VM příspěvků ve 2.4. Šifrování a komprimace souborových systémů. Ukládání .config ve zkompilovaných kernelech. Patenty ovlivňující podporu FAT. Předávání řady 2.6 Andrewovi stále probíhá.
Do konference přišlo celkem 1389 emailů, nejvíce jich poslali William Lee Irwin III, Greg KH a Linus Torvalds.
1. pro - 6. pro
Haris Peco se zeptal: Existuje linuxové ABI pro kernel 2.6? Christoph odpověděl, že myslí, že ne a Jan-Benedict Glaw se připojil: Na ABI nikomu moc nezáleží (tedy, alespoň ne natolik, aby bylo udržováno stabilní), když máme dobré API. Jsou k tomu potřeba zdrojáky, ale to je dobře... Linus Torvalds se do toho vložil:
Lidem na uživatelsky viditelném ABI záleží velmi - osobně si myslím, že zpětná kompatibilita je absolutně nejdůležitější záležitostí jakéhokoliv kernelu a nedodržování uživatelského ABI je prostě špatné.
Někdy uživatelské věci trochu pozměníme (například odstranění skutečně zastaralých systémových volání), ale i tehdy jsme velmi, velmi opatrní. Což zahrnuje třeba vypisování varovných hlášek celé roky před tím, než je ta funkce doopravdy odstraněna.
Jedinou výjimkou se zdá být ABI "správy systému", tj. věci, které normální programy nepoužívají. Takže upgrady kernelu se někdy neobejdou bez potřeby nových utilit pro věci jako jsou třeba nastavení firewallu, konfigurace hardware (ethernetové nástroje, ifconfig, atd.) nebo - v případě 2.6 - natahování a odstraňování modulů. A ani to se lidem nelíbí a musí pro to tedy být dobrý důvod.
Občas jsme změnili sémantiku systémového chování nenápadně: buď proto, aby se vyhovělo standardům, nebo kvůli implementačním otázkám. Nestává se to často a zjistí-li se, že by kvůli tomu nefungovaly stávající aplikace, neudělá se to vůbec (ta věc se napraví přidáním nového systémového volání se správnou sémantikou a to staré zůstane tak, jak je).
Máš však pravdu o interních rozhraních kernelu: tam se o ABI nestaráme vůbec, a dokonce API jsou pohyblivá a bývají volně měněna, je-li pro to dobrý technický důvod. Ale to platí pouze pro interní věci kernelu (a tam jsou zdrojáky potřeba tak jako tak).
Jan-Benedict odpověděl: Kdykoliv se začne mluvit o otázce ABI, jde o požadování (binárně kompatibilního) rozhraní - hlavně pro moduly. Ale myslím, že se všeobecně přijímá, že na vytvoření nějaké skutečné binární kompatibility se moc nepracuje (např. UP/SMP spinlocky a jiné). Linus odpověděl:
Přesně tak. To se nestane. Vůbec mě nezajímá stabilní ABI pro moduly kernelu, a dokonce se aktivně snažím bránit všem pokusům o něj. Chci, aby si lidé byli vědomi toho, že vnitřnosti kernelu se mění a že tomu tak bude i nadále.
Pro binární moduly není žádná dobrá omluva. Některé mohou být technicky legální (díky tomu, že nejsou odvozenou prací) a povolené, ale i když jsou legální, tak jsou pořádnou osinou v zadku a vždycky příšerně chybové.
Občas si mi výrobci stěžují na můj nezájem o alespoň snahu pomoci binárním modulům. To máte těžké. Je to obousměrná ulice: když nepomůžeš ty mně, nepomohu já tobě. Binární moduly Linuxu nepomáhají, spíš naopak. Jako takovým nemáme důvod jim pomáhat, aby byly ještě rozšířenější než teď. A máme spoustu důvodů proti.
3. pro - 6. pro
Ian Soboroff si v 2.4.23 ChangeLogu všiml, že alespoň nějaký kód subsystému virtuální paměti od Andrea Arcangeliho byl začleněn. Zeptal se, jestli by mu to někdo objasnil, a Mike Fedyk odpověděl: Do 2.4.23-pre3 byla zařazena velká část VM, takže -aa patche oproti -pre6 by měly ukázat, co ještě chybí. Andrea Arcangeli také řekl, že poslední 2.4 kernely by měly běžet v některých případech o mnoho lépe.
I přesto však stále doporučuji používat můj strom. Poslední dva zásadní kousky, které z něj potřebujete, jsou inode-highmem a related_bhs. Ty stále chybí a s 12G je asi budete potřebovat. Mimochodem, chystám se vydat 2.4.23aa1, což bude poslední 2.4-aa. Mike se zeptal, jestli bude Andrea vydávat i 2.6-aa, ale nepřišla žádná odpověď. Stephan von Krawczynski a Bill Davidsen využili příležitosti k poděkování Andreovi za jeho práci na VM subsystému.
3. pro - 9. pro
Kallol Biswas chtěl znát způsob, jak by mohl filesystém ukládat některá data šifrovaná a některá normálně; Richard B. Johnson řekl, že o tohle by se spíše měla starat aplikace, ne filesystém, s čímž souhlasil Bill Davidsen. Richard vysvětlil: Souborové systémy jsou hromada inodů. Vždy, když chceš jeden zapsat nebo přečíst, musí se něco rozhodnout, jestli to je šifrované, a pokud ano, tak jak to zašifrovat nebo rozšifrovat. Dokonce i velikost požadovaného zápisu nebo čtení se stává závislou na druhu použité šifry. Určitě nechceš používat algoritmus, ve kterém je N-bajtový řetězec zakódován do N-bajtového řetězce, protože to by prozradilo velikost, ze které lze odvodit další aspekty, což by vedlo k odhalení skutečného obsahu. Takže budeš potřebovat inody s proměnlivou velikostí -- hrozný zmatek. Výsledkem by byl jeden z nejpomalejších filesystémů, které si lze představit.
Na jiném místě Joern Engel poradil, že by mohlo být možné přidat volitelné šifrování k existujícímu filesystému jako je JFFS2. Ale Linus Torvalds odpověděl:
U většiny existujících filesystémů není zrovna snadné uvažovat o šifrování z jednoho prostého důvodu: kvůli výkonu (a paměťovým nárokům) provádí většina filesystémů "IO na místě". Jinými slovy, provádějí IO přímo do a přímo ze stránkové keše.
U šifrovaného filesystému to udělat nelze. Nebo spíše: můžeš to udělat, pokud je to filesystém pouze pro čtení, ale rozhodně to NELZE udělat při zapisování. Pro zapisování je potřeba výstupní buffer zařadit někam jinam (a po pravdě řečeno, je to o hodně snazší, když to děláš i při čtení).
Takže šifrování jako takové složité není. Ale přidání nepřímého bufferu navíc může být pěkně nechutné a přidat jej později není nic lehkého.
4. pro - 5. pro
Robert L. Harris si všiml, že možnost uložit .config ve zkompilovaném kernelu není součástí 2.4.23-bk3; zeptal se, jestli byla ta funkce odstraněna. Randy Dunlap odpověděl: V 2.4.x nikdy nebyla. Marcelo ji nechtěl. Je ve 2.6.x. V tomto adresáři je patch pro 2.4.22-pre: http://www.xenotime.net/linux/ikconfig/ Lucio Maciel navrhl funkci začlenit do 2.4, ale Randy řekl: To je na Marcelovi a on se teď snaží snížit množství patchů pro 2.4.x.
5. pro - 8. pro
Torsten Scheck oznámil problém s filesystémem VFAT, ale Joanne Dow odpověděl: To všechno může být bezpředmětné. Microsoft se chystá vybírat poplatek za používání FAT. http://www.microsoft.com/mscorp/ip/tech/fat.asp Softwarové patenty zabíjejí inovaci a konkurenci. Helge Hafting řekl: Není FAT tak staré, že by už všechny patenty měly být prošlé? Tomasz Torcz odpověděl: Patenty pro ukládání dlouhých názvů souborů (za které si Microsoft účtuje) jsou někdy z roku 1995.
5. pro - 5. pro
Jeff Garzik poslal několik oprav a Linus Torvalds napsal: Teď přijímám jen jednořádkové opravy, o kterých si myslím, že jsou jednak "jasné" a také "velmi důležité" (tj. opravy oopsů, které může vyvolat kdokoliv, spíše než třeba aktualizace konkrétního ovladače). Takže to vypadá, že bych mohl přijmout jeden z nich. A dodal: Andrew je stále pryč, ale rozhodnutí může dělat samostatně. Teď však nebudu začleňovat nic většího.
V originálu Kernel Traffic 245 vyšla navíc ještě tato témata:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.