Portál AbcLinuxu, 10. května 2025 12:26
Optimalizace pro Intel architekturu. Podpora sysenteru v glibc. Možná náhrada bugzilly. Rychlý přístup k seznamu procesů.
Do konference přišlo celkem 1103 emailů, nejvíce jich poslali Linus Torvalds, Alan Cox a H. Peter Anvin.
V konferenci proběhla dlouhá diskuse, jak adaptovat Linux na nové intelovské ovladače [handler] systémových volání - sysenter a sysexit. Podle mnoha vývojářů je klíčová podpora těchto vlastností bez obětování efektivnosti. Padlo mnoho návrhů (i od Linuse Torvaldse), ale všechny se zdály být kompromisem na jednu stranu či na jinou.
Ulrich Drepper napsal, že vytvořil glibc s podporou nových systémových volání. Rozběhl to, ale jen za cenu ošklivých hacků. Na to reagoval Linus, že je důležité implementovat podporu správně od začátku, neboť později bude obtížné provést změny. Hlavním problémem (kromě efektivnosti) byla podpora programů, které by mohly běžet na více různých verzích jádra. Když už to vypadalo, že Linus, Ulrich a další se dobrali blízko k řešení, Linus poznamenal, že je důležité zajistit podporu pro syscall s šesti argumenty. To vedlo k diskusi o dalších vylepšeních a k novým problémům.
Když už byla nalezena řešení, Horst von Brand se zeptal, co se stalo se zmražením nových funkcí [feature freeze]. Sean Neakums odpověděl, že se nejedná o novou vlastnost, ale o optimalizaci rozhraní systémových volání, které existuje už po dlouhou dobu. Jenže Horst měl jiný názor. Podle něj je tato "optimalizace" velmi viditelná v uživatelském prostoru a on takovýto radikální zásah do rozhraní považuje za novou vlastnost. Mark Mielke poznamenal:
Ale Alan Cox souhlasil s Horstem a dodal, že jádro 2.5.49 bylo použitelné pro práci vývojáře, od té doby už žádné. Varoval Linuse, že už opět kráčí k druhému kolu vývojářské práce, tak jako uprostřed řady 2.3 a stejně jako u 1.3.60 ... Linus napsal, že to je férová otázka a nahlas přemýšlel nad způsobem, jak spustit brzdy u patchů dříve, nejakým procesem schvalování patchů. Například že by ve stavu zmražení nových funkcí každý patch musel být odsouhlasen třemi hlasy ze čtyř možných (například Linus, Alan, Dave a Andrew). Andrew Mortonovi se však takový přístup zdál příliš byrokratický a navrhnul nejdříve vytvořit směrnice. Například povolit pouze
Nyní je sysenter uvnitř seznamu, v pozdější fázi vypadnou optimalizace a třeba systenter by byl také mimo.
Ulrich Drepper napsal, že vytvořil binárky glibc s podporou sysenter. Problémem bylo zkoordinovat v ld.so vše tak, aby systém fungoval i na starších jádrech bez podpory TLS. Výsledek je dostupný ke stažení na adrese ftp://people.redhat.com/drepper/glibc/2.3.1-25/. Tyto rpm jsou náhradou za ty z poslední beta verze RedHatu, která vyšla před týdnem. Nebyly ještě testovány v jiných prostředích. Používají NPTL jako předvolenou knihovnu vláken (libpthread). Později Linus Torvalds ohlásil jednu chybu, která se projevila jen na kompletním systému a zabraňovala nabootování. Chybu hned opravil a uložil do BitKeeperu.
John Bradford napsal, že před pár týdny načal diskusi nad databází chyb určenou výhradně pro vývoj kernelu. Podle jeho teorie by specializace na kernel mohla ušetřit spoustu času a sledování chyb by bylo také snazší než s obecnou databází chyb. Jon tedy uveřejnil první verzi na adrese http://grabjohn.com/kernelbugdatabase/. V tuto chvíli je nutné požádat Johna o vytvoření účtu, neboť neexistuje automatický nástroj pro tuto činnost.
Systém je postaven na dvou principech:
Chyby jsou rozlišeny barvami:
šedá - netestovaná v této verzi
Blue - netestovatelná v této verzi kvůli jiným chybám
Red - chyba je přítomna v této verzi
Green - chyba není přítomná v této verzi
O několik hodin později John ohlásil, že ošetřil několik chyb a přidal uživatele guest s heslem guest. Tento uživatel smí pouze prohledávat chyby, pro skutečný účet musíte poslat email Johnovi.
Alex Tomas ohlásil:
Chtěl bych ohlásit druhou verzi fastps. Změny na straně kernelu:
Změny v uživatelském nástroji fps:
Patche vůči jádrům 2.4.20/2.5.53 a nástroje lze nalézt na adrese http://tmi.comex.ru/fps/.
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.