Portál AbcLinuxu, 8. května 2025 00:54
Vzhledem k tomu, že se nám příliš nedaří dohnat skluz u překladů Jaderných novin, jsme se rozhodli vydávat každý týden až do konce roku jakýsi souhrn z vybraných článků a citátů za celý daný měsíc. Od ledna potom najedeme na aktuální dění kolem vývoje jádra a budou vycházet skutečné Jaderné noviny. Tento týden je to přehled za listopad.
Jádro 4.3 je venku. Vydáno bylo 1. listopadu. Linus: „Celkově tento vývojový cyklus zůstává klidný až do konce. Vzhledem k vydání 4.3 je nyní otevřeno začleňovací okno 4.4. Přejme si, aby bylo taky tak klidné.“ Jádro 4.3 obsahuje možnost přidávat programům BPF kontrolovat uživatelský prostor (user-space probes), přidává regulátor PID (opatření proti fork bombám), byl odstraněn souborový systém ext3, přidána podpora identifikátoru adresního vyhledávání, schopnost pracovat s chybami v uživatelském prostoru atd.
V druhém listopadovém týdnu se otevřelo začleňovací okno 4.4., žádné vývojové jádro tedy nebylo vydáno.
Stabilní aktualizace: 4.2.6, 4.1.13, 3.14.57 a 3.10.93 byly vydány 9. listopadu.
Vývojové jádro 4.4-rc1 bylo vydáno 15. listopadu.
Když máte na stole pět myší, dva externí touchpady, trackball a dva tablety Wacom, víte, že se vám podařilo zvítězit nad životem.
Někde velmi vysoko na mém osobním seznamu obecně platných bezpečnostních rad je i tato: Nepřetáčejte bezpečnostní knoflíky, abyste měli neurčitý hřejivý pocit. Opakuji: NEPŘETÁČEJTE BEZPEČNOSTNÍ KNOFLÍKY, ABYSTE MĚLI NEURČITÝ HŘEJIVÝ POCIT.
Letošní summit se konal, spolu s Korea Linux Forum, od 26. do 28. října v Soulu. Sešli se zde vývojáři z celého světa, aby mohli probrat témata, která se týkají komunity kolem vývoje jádra.
Jediný minisummit se konal 26. října. Pro report najdete zde.
Poslední den byl pouze pro zvané vývojáře a správce. Mezi témata, o kterých byla řeč, patří:
Celý report zde.
Dave Jones konečně oznámil nové vydání fuzz testovacího nástroje Trinity. „Na summitu mnoho lidí říkalo, že Trinity je užitečný nástroj a byli zklamaní, že na něm už nepracuji. Taková zpětná vazba mi dodala motivaci dokončit práci a verzi 1.6 vydat.“
Kees Cook oznámil projekt Kernel Self Protection, který má být „komunitou lidí pracujících na různých (sebe)obranných technologiích (většinu je možné najít v PaX a Grsecurity).“ Jedná se o následek rozhovoru o začlenění tvrzení (hardening) a (auto) obranných mechanismů do hlavního jádra. „Díky společnostem, které chápou důležitost tohoto projektu, a Linux Foundation, která je připravena financovat konkrétní činnosti v této oblasti, si myslím, že to můžeme někam dotáhnout.“ Kees hledá další lidi, kteří by měli zájem se na projektu podílet.
Podrobný report z Media Workshopu na Kernel Summitu, který se konal 26. října je zde. Celkem 21 účastníků z různých společností a různých zemí se sešlo, aby diskutovalo současný stav médií v Linuxu, a také výzvy, které je třeba zvládnout, aby bylo možné tyto technologie posunout do budoucnosti. Tento článek pokryje hlavní témata, o kterých se na workshopu mluvilo, a také rozhodnutí, která byla o směru komunity učiněna.
Již 11. listopadu bylo začleněno 10 800 neslučovacích sad změn. Vypadá to na další rušný cyklus.
Některé změny viditelné pro uživatele:
Některé změny viditelné pro vývojáře:
Několik změn, které stojí za zmínku:
Říká se, že bloková vrstva I/O jádra běžně krade nápady ze síťového subsystému. Pravdou je, že dobré nápady se pohybují oběma směry, ale dá se říct, že bloková vrstva I/O se za ta léta stala spíše síťovou I/O. Detaily se různí, ale na nejvyšší úrovni jde o nezávislé počítače, které si navzájem posílají zprávy čím dál tím rychlejšími kanály. Takže by vlastně ani nemělo být překvapením, že se jedno z nejstarších vylepšení síťového subsystému – polling I/O – objevila v blokové vrstvě.
V síťovém světě se I/O polling nazývá „NAPI“ (nové API). Na LWN se o tom poprvé psalo v roce 2003. NAPI umožňuje síťovému jádru získat ovladače pro nové pakety – místo toho, aby tyto řadiče musely napichovat pakety pokaždé, když dojde k hardwarovému přerušení. Posun od přerušení k pollingu se může z výkonnostního hlediska zdát neintuitivní, ale při velkém provozu dává smysl. Obsluha přerušení je nákladná a ani nemá cenu, protože najít další pakety není problém. Pokud nemá CPU při čekání na pakety nic dalšího na práci, je polling dobrý ke snížení latence. Vždy je rychlejší počkat na nový paket než čekat na všechny mechanismy (softwarové i hardwarové) pro obsluhu přerušení.
Celý článek zde.
Kdysi dávno bylo vysoce paralelní programování zájmem jen velmi malé skupiny vývojářů. Vzhledem k rostoucímu počtu jader v CPU se ovšem obavy ze souběhu přesouvají do uživatelského prostoru. Předmětem zájmu zde není pouze ochrana kritických sekcí, uživatelský prostor to musel umět již dávno. Objevují se jiné obavy na úrovni, kde režie zamykání představuje výkonnostní problém. Pak začínají vývojáři znovu přemýšlet o algoritmech bez zámků, které mají v uživatelském prostoru své specifické problémy.
V jádře bývá programování bez zámků složité. Výsledný kód může být křehký, pokud nejsou správně pochopena nebo dodržována pravidla pro přístup k datům. V tomto ohledu však má kód jádra oproti kódu uživatelského prostoru jisté výhody. Může zajistit, že kritická část kódu poběží až do konce, aniž by došlo k nucené preempci. Dokud se takový kód omezuje pouze na datové struktury přístupné jednomu CPU, běh se zakázanou preempcí zajišťuje, že se žádné jiné vlákno nepokusí o souběžný přístup k těmto strukturám. Kód uživatelského prostoru nemá takovou možnost k dispozici. Jakýkoli pokus o použití datových struktur dostupných jednomu CPU v bezzámkovém režimu musí použít jiný přístup.
Celý článek zde.
získat ovladače pro nové pakety
→ vyžádat si od ovladače další pakety
aby tyto řadiče musely napichovat pakety pokaždé, když dojde k hardwarovému přerušení
V předchozí části věty je drivers (správně) přeloženo jako ovladače, tak proč najednou řadiče? A inject tu není myšleno jako napíchnout, ale spíš ve významu vstříknout - prostě se tím myslí předat přijaté pakety ke zpracování vyšším vrstvám.
Jinak v komentáři k tomu článku Jens Axboe upozorňuje, že to, co se teď přidávalo do blokové vrstvy, odpovídá spíš busy polling přidanému do síťového stacku v roce 2013 (přejmenováno, protože původní název připadal Linusovi příliš marketingový a zastírající skutečnou podstatu).
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.