Portál AbcLinuxu, 6. května 2025 09:21
Aktuální verze jádra: 3.4-rc4. Citáty týdne: Rob Landley, Mat Mackall, Tejun Heo. Google spustil zrcadlo git.kernel.org. Rozhovor s Linusem Torvaldsem. O_HOT a O_COLD.
Aktuální verze jádra je 3.4-rc4 vydaná 21. dubna. Linus k tomu řekl: Ale nic z toho nevypadá až tak děsivě. Zdá se, že vydání verze 3.4 se blíží podle plánu, ale křičte, když narazíte na nějaké regrese. Vyskytla se hlášení problémů s grafickým ovladačem Nouveau, ale tyto potíže snad budou brzo vyřešeny.
Stabilní aktualizace: verze 3.0.29, 3.2.16 a 3.3.3 vyšly 22. dubna. S verzí 3.2.16 končí řada 3.2, ale Ben Hutchings dal vědět, že bude tuto řadu namísto Grega Kroah-Hartmana ještě nějakou dobu udržovat.
Aktualizace 3.0.30 a 3.3.4 se aktuálně revidují a jejich vydání lze očekávat 26. dubna nebo později.
Snad PRVNÍ věci, kterou máte přidat po „hello world“, je parser stromu zařízení, protože tak se dozvíte, kolik máte paměti a kde se nachází.
-- Rob Landley
Proto si myslím, že se teď už firmám dobře daří vyrobit krabičku, na které poběží Linux, s dostatkem RAM, flash pamětí, CPU, základními periferiemi jako oscilátor, USB, I2C/SPI v balení o velikosti 8 mm2 za 5 dolarů. Pravda je taková, že potřebné úsilí na straně vlastníka licence ARM je znatelně menší než kdybyste se snažili srazit spotřebu paměti Linuxu na polovinu. Z toho důvodu jsou dny projektů jako Linux-tiny za námi.
-- Matt Mackall
U některých patchů mě děsí, že to pak vůbec nabootuje.
-- Tejun Heo
Google oznámil spuštění (readonly) zrcadla git.kernel.org na kernel.googlesource.com. kernel.googlesource.com je poskytováno z několika datových center Googlu v Asii, USA a Evropě, aby byl poskytován rychlý přístup pokud možno odkudkoliv na světě.
Na TechCrunch vyšel rozhovor s Linusem Torvaldsem. Byli by někteří jaderní vývojáři raději, kdyby je někdo místo nadávek večer uložil do postele? Jsem si jist, že by to docenili. Ale sám se na to necítím.
Ačkoliv jsou úložiště dat považována za zařízení s „náhodným přístupem“, pravdou je, že operace na některých částech zařízení mohou být rychlejší než na jiných. Úložiště s rotujícím médiem mají větší rychlostní rozdíly než flash, u hybridních zařízení to pak může být ještě větší. Vzhledem k existenci rozdílů je přirozené chtít, aby častěji požadovaná data byla na rychlejších místech. Nedávný návrh, aby aplikace měly možnost umístění dat ovlivnit, se setkal s různými reakcemi; problém je zjevně složitější, než by se mohlo zdát.
Nápadem, jehož autorem je Ted Ts'o, je dát aplikacím možnost používat nové příznaky při vytváření souborů. Soubor, u kterého se očekává častý přístup, by byl vytvářen s příznakem O_HOT, a soubor málo používaný by byl zase označen pomocí O_COLD. Očekává se, že soubory s O_HOT, by byly souborovým systémem umístěny na nejrychlejší část zařízení.
Implementace znamená změny v operaci create(); byl přidán nový parametr, který umožní vrstvě VFS předat dále příznaky od aplikace. Tato změna je nejintruzivnější částí patche, protože vyžaduje opravy ve většině souborových systémů – jde celkem o 43 změněných souborů. Jediným souborovým systémem, který tyto příznaky implementuje už od počátku, je ext4. V jeho implementaci jsou soubory s příznakem O_HOT umisťovány do bloků s menším číslem a u souborů označených pomocí O_COLD je to zase naopak – ale jen pokud je souborový systém uložen na disku s rotujícím médiem. Pro použití O_HOT je potřeba právo CAP_RESOURCE.
Spoustě lidí se nápad obecně líbí, ale byly to právě podrobnosti implementace, které vyvolávaly spousty otázek. Co se stane, když je úložné zařízení na poli rotujících zařízení? Proč předpokládat, že soubor je buď celý „hot“, nebo „cold“; některé části mohou být takové a jiné zase makové. Pokud aplikace používá oba typy souborů, způsobí přesouvání mezi těmito typy souborů obecný propad výkonu? Co když se typ souboru bude časem měnit? Měl by tento koncept být napojen na to, jak s daty zachází subsystém správy paměti? A co má „hot“ a „cold“ vůbec znamenat?
Ohledně poslední otázky Ted odpověděl, že i když by bylo možné dát dohromady definici „hot“ a „cold“ v tomto kontextu, není to zrovna něco, co by chtěl udělat:
Druhou možností je nechávat věci nedefinované a přijmout fakt, že aplikace, které to budou využívat, budou asi natolik specializované, aby si byly vědomy toho, jaký systém používají, a aplikacím tedy dávat jen obecné náznaky, což je přístup, který jsem zvolil v návrhu O_HOT/O_COLD.
Jinými slovy je návrh stvořen např. pro potřeby společnosti s velkým internetovým vyhledávačem, která se snaží vytěžit maximum ze svého masivního pole výpočetních clusterů. To je zajisté rozumné použití, ale zaměření na právě takové použití může znesnadnit zobecnění této funkčnosti.
Zobecnění funkčnosti navíc nemusí zrovna pomáhat určování práv k označování souborů na úrovni konkrétních souborových systémů. Tento návrh by mohl vést ke stanovování odlišných pravidel u různých souborových systémů; což Ted očekává. Pravidla na úrovni FS umožní experimentovat, ale přesune to funkci do oblasti, kde bude užitečná jen pro specifické aplikace, kde mají vývojáři naprostou kontrolu nad používaným systémem. Pak by se O_HOT jen tak v aplikacích neobjevovalo, protože vývojáři by nemohli vědět, co by tento příznak mohl přivodit. A to je možná správně, protože jinak bychom se nemohli divit, kdyby nakonec většina souborů byla označena jako „hot“.
Zajímavostí je, že existuje ještě jeden jiný přístup, který zde nebyl diskutován. V roce 2010 byla do mailing listu btrfs zaslána sada patchů ošetřující „teplotu dat“. Tento kód sledoval přístupy k souborům a za běhu rozhodoval, o které bloky je největší zájem. Účelem bylo, aby pak btrfs mohlo migrovat „žhavá“ data na rychlejší místa úložiště, čímž by byl zlepšen celkový výkon. Práce na těchto patchích asi ustala; už nějakou dobu se nové verze neobjevily. Obecně ale dává smysl, že pozorování přístupů bude přesnější spíš než představy různých vývojářů.
Abychom si to shrnuli, tak to vypadá, že ačkoliv koncept odlišného zacházení s často čtenými daty má smysl, ještě nějaký čas potrvá, než se přijde na to, jak o takové zacházení požádat nebo jak jej implementovat. Další věcí je, že jakýkoliv explicitní příznak (jako O_HOT) se rychle stane součástí jaderného ABI, takže bude obtížné jej změnit, jakmile jej lidé začnou používat. Proto asi stojí za to chvíli uvažovat o tom, jak funkčnost navrhnout tak, aby byla dlouhodobě užitečná, i když to bude znamenat, že všelijaké žhavé soubory budou ještě nějakou dobu muset trávit čas na horších místech.
Jednoduchost u HW pole spatřuji v tom, že se rychle nastaví, když vytahám disky a dám je do jiného serveru (s kompatibilním řadičem), tak se hned v pohodě složí tak, jak má.To bych osobně považoval spíše za komplikaci.
Když máš jednotný prostředí, tak je ti to šumák a takovou věc hlídat nemusíš.Pokud se nejedná o triviální případ jednotného prostředí :D.
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.