Portál AbcLinuxu, 10. května 2025 11:49

Jaderné noviny 199

13. 1. 2003 | Leoš Literák
Články - Jaderné noviny 199  

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.

Optimalizace pro Intel architekturu, 306 e-mailů

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:

Není v zájmu Linuxu používat pomalejší rozhraní až do řady 2.8, když jiné operační systémy včetně Win32 už publikovaly, že budou používat výhod SYSENTER. Nechci se dočíst v technických magazínech, jak mají Windows na platformě IA-32 nižší režii systémových volání než Linux.

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.

Podpora sysenteru v glibc, 4 e-maily

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.

Možná náhrada bugzilly, 4 e-maily

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:

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.

Rychlý přístup k seznamu procesů, 1 e-mail

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/.

Tento článek vychází ze seriálu Kernel Traffic (http://kt.zork.net) a je zveřejněn pod licenci GPL verze 2.

Související články

Jaderné noviny 198
Jaderné noviny 197
Jaderné noviny 196

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.