Portál AbcLinuxu, 5. května 2025 10:37

Jaderné noviny - 17. 1. 2007

8. 2. 2007 | Robert Krátký
Články - Jaderné noviny - 17. 1. 2007  

Aktuální verze jádra: 2.6.20-rc5. Stav projektu Nouveau. Přístup k souborům pomocí O_DIRECT. Automatické ladění jádra.

Aktuální verze jádra: 2.6.20-rc5

link

Aktuální předverze řady 2.6 je 2.6.20-rc5, vydaná 12. ledna. Obsahuje množství oprav a mohla by být posledním -rc před 2.6.20. Od vydání -rc5 se do hlavního git repozitáře nedostaly žádné patche; což pravděpodobně potrvá, dokud se Linus nevrátí z Linux.conf.au.

Aktuální verze -mm stromu je 2.6.20-rc4-mm1. Mezi nedávné změny patří zařazení vývojových stromů e1000 a HID, unionfs a patche pro asynchronní I/O u souborových systémů.

Stav projektu Nouveau

link

Na každé konferenci dojde k tomu, že se divíte, co to ty lidi, kteří plánují rozvrh přednášek, napadlo. V případě lca2007 tento okamžik nastal ve chvíli, kdy jsem si uvědomil [Jonathan Corbet], že se překrývají přednášky o OLPC (Jim Gettys), real-time (Ted Ts'o) a Nouveau. Vyhrál projekt Nouveau, ale nebylo to snadné rozhodování.

Projekt Nouveau se snaží vyvinout sadu svobodných 3D ovladačů pro čipsety nVidia. nVidia už dlouho komunitu svobodného softwaru trápí svým odmítavým postojem k vydání svobodných ovladačů nebo programátorských informací o svých čipsetech. Zakladatelé projektu Nouveau už toho měli dost a rozhodli se s tím něco udělat. Dave Airlie využil čas, který mu byl na linux.conf.au přidělen, aby promluvil o projektu a jeho současném stavu.

Nouveau byl založen v únoru 2005, i když pracovat se začalo až v červnu toho roku. Projekt byl oznámen na FOSDEM 2006, což přitáhlo další pomocníky. Teď na Nouveau opravdu pracuje asi šest vývojářů.

Informace potřebné k napsání svobodných ovladačů projekt získává pomocí reverzního inženýrství. Pro ten účel vývojáři připravili sadu nástrojů. První na seznamu je renouveau, který je navržen k odhalování příkazů odesílaných kartě v reakci na určité operace. S použitím existujících binárních ovladačů nastaví renouveau kontext a pak skenuje mapování procesů, dokud nenalezne FIFO (First In, First Out = první tam, první ven) příkazu. Potom vyžádá operaci a sleduje, jak se FIFO mění. S dostatkem operací je možné si udělat dobrou představu o tom, jak je adaptér pro konkrétní úkoly programován. Není to zrovna jednoduchý nástroj, takže jeho vývoj trval skoro celý rok.

Renouveau se hodí pro zkoumání FIFO, ale nepomůže se zápisy a čtením z I/O registrů. Pro tento účel je další sada nástrojů: valgrind-mmt - verze valgrindu navržená pro zachycení paměťových I/O operací, libsegfault - upravená verze mmap(), která ve skutečnosti neprovádí mapování, jak by si volající kód představoval; zachytí výsledné segmentační chyby [segfault] a vyplivne operace. Další nástroj se nazývá kmmio - provádí podobnou věc s registrovými operacemi v jádře. A nakonec projekt využívá trasovač [tracer], který spouští kódu BIOSu v x86emu a zachytává I/O přístupy k registrům.

Informace získávané pomocí těchto nástrojů jsou doplňovány ze starého svobodného nv ovladače. Dave také říká, že na některých ruských stránkách jsou informace, "které by tam být neměly".

Jak si se všemi těmi informacemi projekt poradil? Základní úkony, jako třeba alokace RAM a inicializace FIFO, fungují. Přepínání kontextu také funguje - na little-endian strojích. 2D podpora je odvozena z ovladače nv; nabízí základní podporu EXA a RandR 1.2. Z oblasti 3D funguje z větší části ovladač Mesa TCL (transformace, ořezávání [clipping] a osvětlování). Textury a objekty však nejdou. Na čipech nv4x je možné spustit glxgears. Dostat se do tohoto bodu trvalo docela dlouho, ale Dave věří, že odteď se už věci budou hýbat mnohem rychleji.

Dalším milníkem bude zprovoznění Quake 3. To je, jak říká Dave, povinnost. Aby se to povedlo, bude potřeba podporovat textury, mít lepší správu paměti a lepší zamykání v DRM kódu jádra. Vývojáři (především Dave) by chtěli dosáhnout podpory RandR 1.2 multi-head. Až bude tohle všechno funkční, ovladač dosáhne rozumně použitelného stavu.

Hodně lidí se ptá, kdy to bude; Dave zmínil, že IRC kanál projektu je často zavalen zvědavci, kteří lační po novinkách. Není však v plánu kód vydat příliš brzy; kromě jiného by to určilo API mezi jádrem a X serverem, takže by pak bylo těžší věci měnit. V tuto chvíli vývojáři doufají, že budou mít funkční alfa verzi koncem roku 2007.

Pro lidi, kteří by chtěli pomoci, má Dave jednoduchou zprávu: potřebujeme vývojáře. V této fázi není práce pro lidi, kteří nemohou pracovat na kódu ovladače. Grafické ovladače, říká, nejsou tak složité, jak si většina lidí myslí. Nakonec také něco řekl o slibu 10 tisíc dolarů pro projekt. Vývojáře dost překvapil; akci předem neschválili a také měli pochybnosti o tom, jestli bude úspěšná. O tom, jak bude s penězi naloženo, se ještě nerozhodlo; vypadá, že budou využity pro nákup hardwaru.

Absence podpory 3D grafických adaptérů komunitu léta brzdí; dlouho se čekalo na to, jestli výrobci dostanou rozum. Čekání však končí. Projekt Nouveau (společně s dalšími) ukazuje, že máme možnosti zjistit, jak náš hardware funguje - i když je třeba se potýkat s komplexními zařízeními a nespolupracujícími výrobci. Bylo by lepší, kdybychom takhle nemuseli brát věci do vlastních rukou, ale je fajn vědět, že to jde, když je potřeba.


Následující obsah je © KernelTrap

Přístup k souborům pomocí O_DIRECT

link

11. led, originál

Diskuze na LKML začala otázkou na používání O_DIRECT při otevírání souboru. Dokument, ve kterém Andrea Arcangeli popisoval O_DIRECT patch před začleněním do jádra 2.4, vysvětluje: S O_DIRECT bude jádro provádět DMA z/do fyzické paměti, na kterou ukazuje buffer v uživatelském prostoru předaný jako parametr systémovým voláním read/write [čtení/zápis]. Takže se při kopírování mezi uživatelskou pamětí a keší jádra nijak nezatíží procesor ani paměť; a jádro nebude pro správu keše potřebovat žádný procesorový čas (vyhledávání v keši, zámky stránek atd.).

Linus neztrácel čas s odpovědí, že přes všechna tvrzení o opaku neexistuje rozumný důvod, proč soubory připojovat pomocí O_DIRECT, a podotkl, že by měla být spíše používána rozhraní jako madvise() a posix_fadvise(): Opravdu neexistuje žádný důvod pro používání O_DIRECT. Buffer je potřeba při jakémkoliv I/O, takže to klidně může být stránková keš. O_DIRECT existuje jen kvůli tomu, že jsou na to zvyklí lidé, kteří dělají databáze - protože jim jiné operační systémy nedokázaly říct, ať to dělají správně. Tak si předělali systém, aby se jim nepletl pod nohy. Výsledkem je, že naše rozhraní madvise a/nebo posix_fadvise asi nejsou tak výkonná, protože je lidé moc nepoužívají. Je to smutný příklad toho, jak může naprosto vadné rozhraní (O_DIRECT) způsobit, že se lepší rozhraní nepoužívá, a proto se mu ani nevěnuje tolik vývojářské pozornosti." A dodal:

Celá teorie "přímého IO" je úplně padlá na hlavu. Prostě řekněte ne.
Tohle je váš mozek: O
Tohle je váš mozek na O_DIRECT: .
Nějaké otázky?

[Poznámka překl.: Linus naráží na americké kampaně proti užívání drog (80. a 90. léta). Jedna z nich zavedla slogan "Just say no" (Prostě řekni ne), jiná ukazovala v televizním spotu, jak [známá osobnost] vezme vajíčko a řekne "This is your brain" (Tohle je tvůj mozek), pak ukáže pánvičku, o které prohlásí, že jsou to drogy. A nakonec vajíčko buď na pánvičce usmaží ("Tvůj mozek na drogách. Nějaké otázky?") nebo pánvičkou rozmázne, což komentuje slovy, že tohle se vašemu mozku stane, když si drogu vezmete.]

Automatické ladění jádra

link

16. led, originál

Nadia Derbey poslala sadu patchů nazvanou Automatic Kernel Tunables (AKT): Jde o sérii patchů, která zavádí funkci umožňující, aby jádro automaticky měnilo "laditelné" hodnoty [tunables] podle toho, jak ubývají zdroje. Jaderná část systému AKT je popisována jako sysfs rozhraní pro registraci tunables a aktivaci jejich automatického ladění. Druhou funkci vysvětluje Nadia takto: Rozhraní může být voláno během alokace zdrojů, aby hodnotu zvýšilo, a během uvolňování, aby ji snížilo. Uživatelská část systému poskytuje rozhraní pro konfiguraci toho, jestli má být daná laditelná hodnota nastavována automaticky.

Základní rutina pro automatické ladění umožňuje nastavení laditelných proměnných na minimální nebo maximální hodnoty a podle stupňů. Překročí-li monitorovaná hodnota určený stupeň, dojde ke snížení. Jakmile monitorované hodnoty klesnou pod stanovený stupeň, dojde ke zvýšení. Celé je to součást rozsáhlejšího projektu libtune, který se snaží o poskytnutí standardního API pro sjednocení způsobů, pomocí kterých mají vývojáři jádra přístup k laditelným hodnotám a systémovým informacím.

Související články

Jaderné noviny - 10. 1. 2007
Jaderné noviny - 3. 1. 2007
Jaderné noviny - 20. 12. 2006
Jaderné noviny - 13. 12. 2006
Blog: renouveau

Odkazy a zdroje

Kernel coverage at LWN.net: January 17, 2007
kerneltrap.org

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

8.2.2007 00:28 trekker.dk | skóre: 72
Rozbalit Rozbalit vše Re: Jaderné noviny - 17. 1. 2007
Odpovědět | Sbalit | Link | Blokovat | Admin
V části o projektu Nouveau - mám zato, že nejde o ovladače pro čipsety nVidia, ale o grafické karty.

Další věc, podle zprávičky (http://www.abclinuxu.cz/zpravicky/na-nouveau-se-podarilo-spustit-glxgears), která tady nedávno proběhla, šlo o dar deset dolarů, který zatím přislíbilo 1300 lidí.
Quando omni flunkus moritati
michich avatar 8.2.2007 07:57 michich | skóre: 51 | blog: ohrivane_parky
Rozbalit Rozbalit vše Re: Jaderné noviny - 17. 1. 2007
Nvidia nevyrábí celé grafické karty, ale právě jenom čipsety pro ně. Čili mohlo tam být třeba napsáno "grafické čipsety", aby to bylo úplně jasné, ale v zásadě je to správně.
8.2.2007 08:26 Ondrej 'SanTiago' Zajicek
Rozbalit Rozbalit vše Re: Jaderné noviny - 17. 1. 2007
Nvidia nevyrábí celé grafické karty, ale právě jenom čipsety pro ně. Čili mohlo tam být třeba napsáno "grafické čipsety"
Sice jednoprvkova mnozina je taky mnozina, nicmene zde by asi plne stacilo "graficke cipy".
8.2.2007 14:16 trekker.dk | skóre: 72
Rozbalit Rozbalit vše Re: Jaderné noviny - 17. 1. 2007
V zásadě je to dost matoucí, protože to vyznívá, že nouveau vyrábí ovladače pro nForce.
Quando omni flunkus moritati
8.2.2007 09:55 Robert Krátký | skóre: 94 | blog: Robertův bloček
Rozbalit Rozbalit vše Re: Jaderné noviny - 17. 1. 2007
podle zprávičky (http://www.abclinuxu.cz/zpravicky/na-nouveau-se-podarilo-spustit-glxgears), která tady nedávno proběhla, šlo o dar deset dolarů, který zatím přislíbilo 1300 lidí.
Znění slibu:

"I will pledge at least $10 USD towards the development of the open source nouveau driver for the nvidia card series but only if 1,000 other people will do the same."

Řekl bych tedy, že je v pořádku o tom mluvit jako o 10 tisících.
8.2.2007 09:58 Robert Krátký | skóre: 94 | blog: Robertův bloček
Rozbalit Rozbalit vše Re: Jaderné noviny - 17. 1. 2007
Ještě jedna drobnost mi při čtení popisu projektu padla do oka:

Thus the aim to present the Nouveau team with this no strings attached donation of at least $10.000 USD to further their nobel effort in developing this driver.

Patrně měli na mysli noble effort, ale proč nemířit rovnou za nobelovkou, že jo? :-)
8.2.2007 14:13 trekker.dk | skóre: 72
Rozbalit Rozbalit vše Re: Jaderné noviny - 17. 1. 2007
Jako udělit jim Nobelovu cenu za mír, protože kvalitní Open Source ovladač i pro nejnovější nVidia karty by navždy vyřešil flame nVidia vs. ATi na Linuxu?
Quando omni flunkus moritati
8.2.2007 14:45 Kyosuke | skóre: 28 | blog: nalady_v_modre
Rozbalit Rozbalit vše Re: Jaderné noviny - 17. 1. 2007
Nobelova cena za herní fyziku se neuděluje? :-D
8.2.2007 17:38 Lukáš Zapletal | skóre: 42 | blog: lzapův svět | Olomouc
Rozbalit Rozbalit vše Re: Jaderné noviny - 17. 1. 2007
A ani nebude... ekonomové by mohli vyprávět.
8.2.2007 19:45 trekker.dk | skóre: 72
Rozbalit Rozbalit vše Re: Jaderné noviny - 17. 1. 2007
Nobelova cena za ekonomii se ale uděluje.
Quando omni flunkus moritati
8.2.2007 19:54 m0rph
Rozbalit Rozbalit vše Re: Jaderné noviny - 17. 1. 2007
Neuděluje... uděluje se jiná cena téhož jména :)
David Ježek avatar 8.2.2007 20:15 David Ježek | skóre: 83 | blog: Mostly_IMDB
Rozbalit Rozbalit vše Re: Jaderné noviny - 17. 1. 2007
obecne povazovana za "nobelovku za ekonomii". neudeluje se vsak nobelovka za matematiku. nobel prej nemel rad matematiky. ale ti zas maji fieldsovu medaili, takze to mas jedno ;)
8.2.2007 20:38 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: Jaderné noviny - 17. 1. 2007
nobel prej nemel rad matematiky

Podle té historky Nobel neměl rád jednoho konkrétního matematika (mám pocit, že to byl Mittag-Leffler) a problém byl v tom, že hrozilo nezanedbatelné riziko, že právě ten by byl jedním z prvních laureátů ceny…

12.2.2007 12:17 zde | skóre: 9 | blog: Linuch | Brno
Rozbalit Rozbalit vše Re: Jaderné noviny - 17. 1. 2007
Nobel neměl rád jednoho konkrétního matematika

Přesněji řečeno s jedním matematikem Panu Nobelovi utekla jeho žena. .-)
Táto, ty de byl? V práci, já debil.
12.2.2007 18:43 Kyosuke | skóre: 28 | blog: nalady_v_modre
Rozbalit Rozbalit vše Re: Jaderné noviny - 17. 1. 2007
To musel být velmi protřelý matematik, že dokázal odloudit manzelku starému mládenci. :-D
12.2.2007 19:43 trekker.dk | skóre: 72
Rozbalit Rozbalit vše Re: Jaderné noviny - 17. 1. 2007
Matematici totiž dokáží téměř cokoliv.
Quando omni flunkus moritati
8.2.2007 20:44 Kyosuke | skóre: 28 | blog: nalady_v_modre
Rozbalit Rozbalit vše Re: Jaderné noviny - 17. 1. 2007
A Fields je stejně prestižnější, stejně jako olympiáda… :-D
David Ježek avatar 8.2.2007 21:05 David Ježek | skóre: 83 | blog: Mostly_IMDB
Rozbalit Rozbalit vše Re: Jaderné noviny - 17. 1. 2007
ano, udeluje se jednou za ctyri roky, takze matematik musi byt opravdu "king of the hill", aby to dostal :-D
9.2.2007 08:50 Michal Vyskočil | skóre: 60 | blog: miblog | Praha
Rozbalit Rozbalit vše Re: Jaderné noviny - 17. 1. 2007
Ovšem pro ty nejdrsnější z nich je to stejně asi málo :-D
When your hammer is C++, everything begins to look like a thumb.

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