Byla vydána nová verze 2.16 svobodného video editoru Flowblade (GitHub, Wikipedie). Přehled novinek v poznámkách k vydání. Videoukázky funkcí Flowblade na Vimeu. Instalovat lze také z Flathubu.
TerminalTextEffects (TTE) je engine pro vizuální efekty v terminálu. Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT.
Od čtvrtka 30. 5. do soboty 1. 6. lze v Praze navštívit Veletrh vědy, tj. největší populárně naučnou akci v České republice, kterou každoročně od roku 2015 pořádá Akademie věd ČR. Vstup zdarma.
Canonical představil Ubuntu optimalizované pro jednodeskový počítač s RISC-V procesorem Milk-V Mars.
Armbian, tj. linuxová distribuce založená na Debianu a Ubuntu optimalizovaná pro jednodeskové počítače na platformě ARM a RISC-V, ke stažení ale také pro Intel a AMD, byl vydán ve verzi 24.5.1 Havier. Přehled novinek v Changelogu.
Společnost xAI založena Elonem Muskem a stojící za AI LLM modelem Grok získala investici 6 miliard dolarů.
Finálový zápas mistrovství světa v ledním hokeji přinesl nový rekord NIX.CZ (𝕏): "Dosavadní absolutní maximum našeho propojovacího uzlu bylo překonáno v čase 21:10, kdy jsme při přenosu dat dosáhli 3,14 Tbps. Je třeba také doplnit, že po deváté hodině večerní byly na maximu i ostatní datové přenosy nesouvisející s hokejovým šampionátem".
Přihlaste svou přednášku na další ročník konference LinuxDays, který proběhne 12. a 13. října na FIT ČVUT v pražských Dejvicích. CfP poběží do konce prázdnin, pak proběhne veřejné hlasování a výběr přednášek.
Na crowdsourcingové platformě Crowd Supply byla spuštěna kampaň na podporu open source biometrického monitoru ve tvaru hodinek HealthyPi Move. Cena je 249 dolarů a plánovaný termín dodání listopad letošního roku.
Aktuální vývojová verze jádra je 3.5-rc1 oznámená 3. června. Je to vcelku normální vydání – zhruba ze 60 % ovladače, 20 % jsou změny v architekturách a 20 % je „všude možně“ – souborové systémy, dokumentace, nástroje a tak dále. [...] V závislosti na tom, co vás zajímá, váš může potěšit plánovač paketů CoDel nebo aktualizace ovladačů GPU nebo nové cíle [targets] SCSI. Najde se tam něco snad pro každého.
Stabilní aktualizace: verze 3.0.33, 3.2.19, 3.3.8 a 3.4.1 všechny vyšly 4. června; každá z nich obsahuje dlouhý seznam oprav. Verze 3.3.8 je poslední v řadě 3.3.
Možná to čtu špatně a unikají mi detaily, ale: číst ten kód je asi tak příjemné, jako léčit důkladnou kocovinu teplým zvětralým pivem. Mám na mysli ten typ kocoviny, kdy po probuzení plivete mouchy nebo snad i vajgly.
-- Al Viro
Abych řekl, že si myslím, že máš pravdu, to bys věru nechtěl,
tím bych mohl drze naznačovat, že vůbec beru v potaz tu možnost, že ji nemáš.
Vzdychám nad tvým údělem.
-- Hugh Dickins
Složitost je mým Sluncem a já jsem planeta, která se kolem něj točí.
Jde o to, že v pondělí ráno mi to až tak rychle nemyslí. Pokud se právě tehdy pustím do zpětného inženýrství patche, protože lidé zapomínají zmínit to podstatné, tak se naštvu.
-- Peter Zijlstra před úterkem nepřijímá špatně popsané patche
Linus uzavřel začleňovací okno 2. června; oznámení předverze 3.5 přišlo následujícího dne. Do hlavní řady bylo od posledního přehledu začleněno necelých 1000 patchů, což dělá celkem 9534 za celé okno. Některé z důležitějších změn jsou:
Změny viditelné vývojářům zahrnují:
int svc_bind(struct svc_serv *serv, struct net *net);Cílem je ošetřit registraci služby v daném síťovém kontextu; je pouze pro GPL kód.
Konečnou verzi 3.5 bychom mohli očekávat začátkem srpna.
V listopadovém LWN se psalo o patchi pro volatile ranges (nestálé rozsahy) od Johna Stultze. Smyslem patche bylo přinést funkčnost z Androidu do hlavního jádra, ale jde o reimplementaci, která je hlouběji svázaná se subsystémem správy paměti. Patch se nyní vrátil zpět, ale API se změnilo, takže je třeba se na něj znovu podívat.
"Volatile range" je sada stránek v paměti, která obsahuje data, jež mohou někdy v budoucnu být aplikaci užitečná; hlavní věcí je to, že pokud to bude nutné, aplikace dokáže znovu získat (nebo vygenerovat) data z jiného zdroje. Klasickým příkladem je cache obrázků v paměti prohlížeče. Udržování obrázků může redukovat síťový provoz a zrychlit vykreslování stránek, ale kdyby se cachovaný obrázek vytratil, je možné vyžádat kopii odjinud. Takže ačkoliv má smysl si data uchovávat, má rovněž smysl se jich zbavit, kdyby byla o paměť nouze.
Kdyby jádro o takových cachovaných datech vědělo, jednoduše by v horkých chvilkách mohlo data zahodit a paměť použít pro něco jiného. Takto by navíc aplikace mohly cachovat více než jindy s vědomím, že jsou zde hranice, jak moc může toto cachování ovlivnit zbytek systému. Výsledkem by bylo lepší využívání paměti a systém, který celkově pracuje lépe.
Robert Love z Google tento mechanismus implementoval pro Android pod názvem „ashmem“. Je zde zájem o zařazení ashmem do jádra, ale implementace a API nebyly všem po chuti. Proto John vzal kód ashmem, přepracoval integraci s virtuální pamětí a napojil to na systémové volání posix_fadvise(); v této podobě to bylo v listopadu.
Dave Chinner následně ukázal na to, že pro tuto funkčnost by se více hodilo fallocate(). Toto volání vypadá takto:
int fallocate(int fd, int mode, off_t offset, off_t len);
Toto systémové volání má pracovat nad rozsahy dat v souboru. Zajímavá je pak hlavně operace FALLOCATE_FL_PUNCH_HOLE, která odstraní blok dat z určitého místa v souboru. Označení volatile range by se pak dalo považovat za takový hole punching (vytváření děr) s tím, že je toto oddáleno dle vůle jádra. Když je paměti málo, mohlo by k odstranění dojít ihned, jinak by operace byla dokončena později, nebo vůbec. Vzhledem k podobnosti mezi těmito operacemi dává smysl, aby byly implementovány přes stejné volání; Johny náležitě přepracoval patch.
S novým patchem se označuje rozsah v souboru jako volatilní pomocí volání:
fallocate(fd, FALLOCATE_FL_MARK_VOLATILE, offset, len);
Kde offset a len popisují rozsah, který má být označen. Po dokončení volání není jádro zavázáno udržovat tento rozsah v paměti. Aplikace by se neměla k tomuto rozsahu nyní snažit přistupovat, protože obsah může kdykoliv zmizet. Místo toho, jakmile je o data zájem, by se mělo zavolat:
fallocate(fd, FALLOCATE_FL_UNMARK_VOLATILE, offset, len);
Pokud je určený rozsah stále v paměti, volání vrátí nulu a aplikace může nadále pracovat s daty. Pokud ale byla část paměti jádrem odstraněna, nenulová návratová hodnota bude značit, že aplikace musí získat data odjinud.
Jakýkoliv souborový systém může implementovat tuto funkčnost, ale v reálu to dává smysl jen u souborových systémů pracujících nad RAM (jako tmpfs), takže je to implementované jen tam.
Patch nyní dosáhl třetí revize, v průběhu prvních dvou se mu dostalo řady komentářů. Počet stížností ale značně poklesl, takže většina lidí už je asi spokojená. Tato funkce se tedy může dostat do jádra 3.6.
Nástroje: Tisk bez diskuse
Tiskni Sdílej: