Portál AbcLinuxu, 8. května 2025 21:00

Jaderné noviny 214

30. 4. 2003 | Leoš Literák
Články - Jaderné noviny 214  

Fork ovladače radeonfb. Nový strom pro embedded Linux. Úspora místa v hláškách jádra. Nahradí udev devfs?

Do konference přišlo celkem 1445 emailů, nejvíce jich poslali Greg KH, Alan Cox, Andrew Morton.

Fork ovladače radeonfb, 8 e-mailů

Benjamin Herrenschmidt ohlásil, že vytvořil fork ovladače framebufferu pro grafické karty ATI Radeon. Fork bude existovat do doby, než mu současný správce Ani předá správcovství nebo začne začleňovat patche do oficiální verze. Benjamin potřebuje testery a přivítá jakékoliv patche, které se toulají po netu. Zároveň pracuje na kompletním přepisu ovladače pro řadu 2.5. Patche najdete na adrese http://penguinppc.org/~benh/radeonfb-040603-2.4.20.diff.

Nový strom pro embedded Linux, 15 e-mailů

Joern Engel ohlásil:

Před pár dny jsem vytvořil -je ("just embedded") strom, který se zaměří na snížení paměťových nároků linuxového jádra. Důvodem je, že na PPC s flashí, pamětí, sítí a ničím jiným nepotřebuji čtení MS-DOS oddílů, IPX sítě atd., nicméně jsou nepodmíněně začleněny v jádrech 2.[45].current.

Mým prvním cílem je přidat konfigurační volby, který odstraní kód na platformách, které jej nepotřebují. Pokud nebudu vědět, k čemu kód slouží, prostě jej odstraním a počkám na hlášení chyb - doufám. Pokud budu mít pocit, že některý patch je dostatečně čistý pro hlavní strom, zašlu jej Linusovi / Marcelovi.

Patche najdete na adrese http://wh.fh-wedel.de/~joern/software/kernel/je.

Spousta lidí nabízela nápady, jak změnšit kernel a Tom Rini poznamenal, že všichni budou profitovat z jeho změn, není to jen věc embedded oblasti. Joern souhlasil a dodal, že ideálním stavem bude, až jeho strom bude obsahovat přesně nula záplat.

Úspora místa v hláškách jádra, 6 e-mailů

Timothy Miller měl nápad, jak ušetřit místo v jádře.

Abych byl stručný, mým cílem bylo identifikovat 128 nejčastěji používaných slov v hláškách jádra a nahradit je jediným znakem nad 127, který by printk dekódoval při výstupu. Až bude seznam sestaven, vznikl by hlavičkový soubor, kteý by vývojáři mohli používat. Takže například místo

printk("invalid: ...");

bychom měli

#define MSG_INVALID "\200"
...
prink(MSG_INVALID "...");

Abych posoudil praktičnost, použil jsem příkaz strings na nekomprimovaném jádře:

tr '[:lower:]' '[:upper:]' | tr '[:blank:]' '\n' | sort | uniq -c | tr ' ' 0

To mi dalo seznam všech slov v jádře i s počty jejich užití. Pak jsem spustil svůj malý C program, který zjistil nikoliv 128 nejčastěji používaných slov, ale 128 slov, jejichž redukce způsobí největší zmenšení (počet * (délka-1)). Výsledek by ušetřil až 62 424 bytů, což je zhruba 3% velikosti jádra a 27% velikosti výstupu ze strings. Má to cenu? Pokud ještě ne, inteligentnější přístup k této kompresi by mohl mít.

Alan Cox odpověděl, že se nejedná o úplně šílený nápad a navrhl 5pack kódování či podobné triky s řetězci. Timothy požádal o vysvětlení 5pack a Alan připomněl, že nápad pochází z 8bitového světa herních počítačů. 5 bitů je dostatek pro písmena anglické abecedy, pár znaménkových znaků a speciální escape znak indikující, že následuje 8bitový blok. Takto je možné získat až 40% kompresi na reálných datech a potřebuje jen 200 bytů pro dekódování.

Timothy vyzkoušel nový algoritmus, který ignoroval hranice slov a ohlásil, že zprávy jádra se snížily ze 232 690 B na 154 365 B, což je 33% úspora. To stále ještě asi nestojí za tu námahu, ale David Lang napsal, že ne, pokud by se to mělo dělat ručně, avšak kdyby to někdo dokázal začlenit do build procesu, tak ušetřených 80 KB nemůže škodit.

Nahradí udev devfs?, 111 e-mailů

Greg KH ohlásil, že dlouho slibovaný program udev je možné stáhnout na adrese kernel.org/pub/linux/utils/kernel/hotplug/udev-0.1.tar.gz.

Greg pracoval na konceptu Dana Stekloffa a trochu jej poupravil. Místo tří částí je zde jediný program. Ve zkratce se jedná o userland náhradu devfs, která bude vytvářet a mazat položky v /dev podle aktuální konfigurace systému. Dělá to monitorováním událostí z /sbin/hotplug a čtením informací o těchto událostech ze sysfs. Funguje pouze se zařízeními, které vytvářejí dev soubor v sysfs a informují o hlavním a vedlejším čísle [major, minor] (v současnosti pouze bloková zařízení a usb-serial zařízení). Pro práci s blokovými zařízeními budete potřebovat kobject patche.

Greg úspěšně udev otestoval na svých strojích a čeká na reakce vývojářů. Následovala diskuse, zda bude Gregův kód škálovatelný a zda se bude jednat skutečně o vylepšení vůči původnímu devfs.

Související články

Jaderné noviny 213
Jaderné noviny 212
Jaderné noviny 211

Odkazy a zdroje

Kernel Traffic

Další články z této rubriky

Jaderné noviny – přehled za březen 2025
Jaderné noviny – přehled za únor 2025
Jaderné noviny – přehled za leden 2025
Jaderné noviny – přehled za prosinec 2024
Jaderné noviny – přehled za listopad 2024

Diskuse k tomuto článku

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.