Minulý týden byl oficiálně vydán Android 17. Detaily na blogu a stránkách věnovaných vývojářům.
Dnes jde do prodeje zařízení Steam Machine. Steam Machine 512 GB za 1 039 EUR a Steam Machine 2 TB za 1 359 EUR. Do čtvrtka 25. června do 19:00 se lze zapsat na seznamy. Ty budou jednorázově náhodně slosovány, čímž bude určeno pořadí rezervací a čekacích listin.
Vývojáři OpenMW (Wikipedie) oznámili vydání verze 0.51.0 této svobodné implementace enginu pro hru The Elder Scrolls III: Morrowind. Přehled novinek v oznámení o vydání a také na YouTube a PeerTube.
Byla vydána nová verze 2026.3.0 "Carousels & Killer Whales" svobodného softwaru ScummVM (Wikipedie) umožňujícího bezproblémový běh mnoha klasických adventur na zařízeních, pro které nebyly nikdy určeny. Přehled novinek v poznámkách k vydání a na GitHubu.
Tento týden (24. a 27. června) vyprší platnost Microsoft certifikátu v UEFI vydaných v roce 2011. Nové certifikáty byly vydány v roce 2023. Kdo na počítačích, i virtuálních, používá zabezpečené spouštění (Secure Boot), měl by si ověřit, že má certifikáty aktualizovány, viz např. články na Red Hat nebo Fedora. Pro stávající systémy se nic nemění. Nadále se budou normálně spouštět. Zavaděče podepsané pouze klíčem z 2023 se ale na počítačích s pouze certifikátem 2011 nespustí. Ve Fedoře je zavaděč shim ve verzi 16.1-6 podepsán klíči 2011 i 2023.
Uživatelé mobilních telefonů s Linuxem si nyní mohou nainstalovat aplikaci Mobilní Datovka. Díky tomu je přístup k datovým schránkám dostupný i na zařízeních s mobilními linuxovými distribucemi, jako jsou například Mobian, NixOS Mobile, pmOS atd. Aplikace je dostupná na Flathubu.
Software Freedom Conservancy v novém dokumentu shrnuje doporučení, jak přistupovat ke generativní AI založené na LLM při přispívání do svobodného a open-source softwaru. Mimo jiné vyzývá k obezřetnosti, transparentnosti a revizi generovaného kódu člověkem.
Byla vydána nová verze 5.6.0 programu na úpravu digitálních fotografií darktable (Wikipedie).
Na čem aktuálně pracují vývojáři GNOME a KDE Plasma? Pravidelný přehled novinek v Týden v GNOME a Týden v KDE Plasma. V Týdnu v GNOME je zmíněn flatpak balíček pro GIMP 0.54.1 z roku 1996. Jedná se o poslední verzi GIMPu postavenou nad toolkitem Motif.
Home Assistant Operating System, tj. linuxová distribuce optimalizována pro hostování Home Assistanta a jeho aplikací, byl vydán v nové major verzi 18.0.
V minulém zápisku na toto téma jsem si postěžoval na defaultní nastavení desktopových jader, které mělo za příčinu efekt známý jako „cukající se kurzor myši při sebemenším nátlaku na disk“. To je léčitelné překladem vlastního jádra s rozumným nastavením. (Mám experimentálně ověřeno, že tento symptom přetrvává a proto distro jádrům stále nevěřím.)
No ale aby toho nebylo málo, symptomy se vrátily, a to na všech strojích, které poslední dobou prodělaly upgrade jádra. Letmo jsem si vzpomněl na zprávy o jakémsi low_latency patchi, který by měl ty symptomy eliminovat. Říkal jsem si tehdy, proč další hack, když řešení je prosté a plně v rámci současné výbavy, nicméně to jsem netušil že tento patch spíše situaci zhoršuje.
A co je ještě strašnější, že tento režim je zapnut defaultně. Takže léčba křápojádra pokračuje a sice příkazem
for i in /sys/block/*/queue/iosched/low_latency; do echo 0 >$i; done
někde v bootovací sekvenci.
Nějak nechápu, proč se tohle děje? Z mé perspektivy fungovalo všechno dobře, než to soudruzi začali opravovat. Má někdo opačnou zkušenost?
Tiskni
Sdílej:
).
Tohle potvrzuju.
Já jedu na Archlinuxu rel. krátkou dobu, takže ani nevím, co bylo v době jádra 2.6.30.
V kernelu 2.6.32 je u dotyčného enkódování x264 o 53% rychlejší. Ale z kontextu to snad bylo jasné...
Ono je to vidět krásně i v htopu, při použití BFS a přehrávání náročného 1080p videa mám obě jádra vytížená na 100% kdežto při použití vanilla kernelu < 2.6.32 mám jádra vytížená jen okolo 60% (fluktuuje to i výš, ale tak nějak se to střídá a průměr bude okolo těch 60%).
-nosound -benchmark -vo null. Pokud je vzorek moc dlouhý, tak ještě -endpos a číslo v sekundách. Ještě bývá dobré fixnout frekvenci.
Distribuční jádra v Arch Linuxu např. mají zapnutý forced preempt a vypnutý group cpu scheduler,Tak to nevím od kdy, ale před půl rokem to tak nebylo.
Pravda CONFIG_HZ je nastaven na 300 Hz, ale to je zaprvé na vícejádrovém systému lepší hodnota než 1000 Hz a za druhé je to stejně tickless (CONFIG_NO_HZ) kernelPokud to náhodou nevíš, tickless kernel se týká jenom situace, kdy nic neběží. Vzhledem k tomu, že se bavíme o výkonností při zatížení, tak to asi nebude ten případ.
Jinak viz první poznámka - na vícejádrovém systému už nadělá 1000 Hz víc škody než užitku.Zajímavé, proč?
důkaz od kotyze je tam i přímo v diskuziHmm, důkaz místo slibů? Tak to musí být ještě v něčem dalším (možná v tom hz? nebo preempt rcu?), protože zrovna na -arch jádru to křápuje téměř všude kde jsem byl.
Zajímavé, proč?Protože časovač funguje per-core. Tudíž se dá říct, že pokud má člověk dvoujádro a časovač 300Hz, je to efektivně jako by měl jedno jádro a časovač 600Hz. U dvoujádra tedy o 1000Hz ještě lze uvažovat (i když si nemyslím, že je to potřeba), ale u čtyřjádra už je to IMHO naprosto přehnané (nevýhody - tedy snížená propustnost při vyšších Hz - už převýší výhody).
Hmm, důkaz místo slibů? Tak to musí být ještě v něčem dalším (možná v tom hz? nebo preempt rcu?), protože zrovna na -arch jádru to křápuje téměř všude kde jsem byl.Je nutné si uvědomit, že to tvé "křápochování" má dvě složky - zaprvé špatně fungující plánovač CPU (což se díky BFS změnilo a už i ve vanilla jádře 2.6.32 je CFS upraveno tak, aby se chovalo lépe), což se týkalo všech jader bez ohledu na nastavení preempce a časovače (to samozřejmě dosti podstatně pomáhalo, ale jen v rámci určitých mezí). A pak "křápochování" když probíhá nějaké velké IO (kopírování souborů, etc.), na což sice má lepší plánovač CPU také vliv, ale ne tak markantní - pořád prakticky nikdo s určitostí neví, co to způsobuje a jak se toho problému zcela zbavit. Může to mít souvislost s určitým hardwarem (třeba špatně fungující NCQ u disku), ale spíš to bude souhra problémů (NCQ, plánovač IO, plánovač CPU, práce s pamětí a diskovou cache, atp.). Btw. údajně se tohle "křápochování" ještě markantněji projevuje na 64-bit Linuxu (ale nevím, s tím nemám moc zkušeností, jen jsem na to někde narazil při mém neúspěšném hledání řešení). Tohodle problému se zcela nezbavíš ani s tvým nastavením kernelu, pouze se ten problém více skryje (zkoušel jsem to).
Tudíž se dá říct, že pokud má člověk dvoujádro a časovač 300Hz, je to efektivně jako by měl jedno jádro a časovač 600Hz.Takže každé core má vlastní časovač, kterej je mimo fázi s ostatníma a kterej generuje interrupty pro všechny core? :)
Je nutné si uvědomit, že to tvé "křápochování" má dvě složkyPo tom, co zavedli low_latency tak už tři složky. Ale díky za vysvětlení. Používám pouze 64 bit systémy a je fakt, že distribuční 2.6.32 jsem ještě v ruce neměl. A pokud něco vydatně pomáhá, nebo problém zakreje tak to stejně radši použiju, než abych jen seděl na zadku a stěžoval si.
Takže každé core má vlastní časovač, kterej je mimo fázi s ostatníma a kterej generuje interrupty pro všechny core? :)Nevím jak to přesně funguje (zas tak do toho nevidím), ale jsem si jistý, že mimo fázi není
Jde jen o to, že _efektivně_ by se co do latencí 2 jádra s časovačem 300Hz měly rovnat 1 jádru s časovačem 600Hz.
Po tom, co zavedli low_latency tak už tři složky. Ale díky za vysvětlení. Používám pouze 64 bit systémy a je fakt, že distribuční 2.6.32 jsem ještě v ruce neměl.Nikoliv 3 složky, stále jen 2 složky (vlastně teď už jen 1 složka, protože ten plánovač CPU už považuji za vyřešený - BFS je sice stále v mnohém lepší než CFS, chování CFS je však teď už obstojné). To tvé low_latency je právě pokus o odstranění jedné z příčin toho "křápochování" při velkém IO (je to pouze úprava chování IO scheduleru cfq, nic jiného). Zjevně to ale není moc povedený pokus (respektive podle mailing-listu to někomu opravdu pomáhá, ale jiným to naopak situaci zhoršuje). Btw. jestli používáš jen 64-bit systémy, pak si možná důkazem toho, že u 64-bitových systémů se to "křápochování" při velkém IO projevuje markantněji než u 32-bit systémů (jak jsem se někde dočetl, ale neověřoval jsem to).
_efektivně_ by se co do latencí 2 jádra s časovačem 300Hz měly rovnat 1 jádru s časovačem 600HzNějaký odkaz k tomu?
BFS je sice stále v mnohém lepší než CFS, chování CFS je však teď už obstojnéHlavně, že linus je proti pluggable plánovačům, takže si na každej "test" musíme počkat jednu verzi jádra. :(
To tvé low_latency je právě pokus o odstranění jedné z příčin toho "křápochování" při velkém IO (je to pouze úprava chování IO scheduleru cfq, nic jiného).No a jak píšu v zápisku, nechápu proč to dělají nějakým dalším patchem, kterej je navíc defaultně zaplej, místo toho aby pořádně zjistili příčinu a opravili to *v rámci* současného kódu.
Hlavně, že linus je proti pluggable plánovačům,Ano, ...
takže si na každej "test" musíme počkat jednu verzi jádra. :(... ale to z toho přece nevyplývá. Testovat scheduler můžeš kdykoliv. Aplikovat na něj patch, zkompilovat, rebootnout. Jestli fakt máte někdo spolehlivý test, ve kterém se BFS chová výrazně lépe než CFS, tak o tom dejte vědět na LKML (CC alespoň na Ingo Molnar, Peter Zijlstra, Mike Galbraith).
perf sched record; vedle nechat běžet test; CTRL+C zastavit perf; prohlížení výsledků perf sched latency pro statistické shrnutí, nebo perf sched map či perf sched trace pro detaily).
Testovat scheduler můžeš kdykoliv. Aplikovat na něj patch, zkompilovat, rebootnout.Jasně že to jde, ale spousta lidí dá přednost "echo bfs >/proc/scheduler", než nějakému šaškování s překladem jádra.
Jestli fakt máte někdo spolehlivý test, ve kterém se BFS chová výrazně lépe než CFS, tak o tom dejte vědět na LKML (CC alespoň na Ingo Molnar, Peter Zijlstra, Mike Galbraith).Pokud bych to mohl přepínat výše uvedeným způsobem tak bych si to mohl zkontrolovat, ale pokud kvůli každému testu budu muset rebootovat, tak na to seru, a stejně to pravděpodobně udělá většina jindy i akčních lidí.
Tudíž se dá říct, že pokud má člověk dvoujádro a časovač 300Hz, je to efektivně jako by měl jedno jádro a časovač 600Hz.Tohle tvrzení mi přijde poměrně divné... pokud běží jenom jedna úloha, tak je přerušována s frekvencí 300Hz. Když běží dvě a víc, tak je každá přerušována s frekvencí 300Hz - kde se bere těch 600Hz? (Pokud to nicméně myslíš tak, že je zbytečné úlohu přerušovat tak často kvůli interaktivitě, když stejně většinou má jedno jádro jenom pro sebe, tak to pak OK.)
(Pokud to nicméně myslíš tak, že je zbytečné úlohu přerušovat tak často kvůli interaktivitě, když stejně většinou má jedno jádro jenom pro sebe, tak to pak OK.)Přesně tak, jak píšu výše jde prostě o efektivní vliv frekvencí časovače a počtu jader na latence (kde by ten vztah "frekvence časovače * počet jader" měl podle toho co jsem se dočetl a i podle mých osobních zkušeností platit).
např. top (tj. jeho načtení do paměti) je operace na několik minut.Coze?!
Ačkoliv pánové tvrdí, že to CPU schedulerem není, tak si myslím, že je. Jinak si nedovedu vysvětlit cukání myši.Nejlepší by samozřejmě bylo to změřit pomocí latencytop
find a to je pak porod...) ale nikdy jsem to moc neřešil. Zajímalo by mě, jestli někdo nenašel podrobnější popis situace, jak by se měla jádra vyladit pro desktop apod.
low_latency vlastně dělá. Že to v 2.6.32 přineslo nečekané problémy, je známo. Diskutovalo se to v dlouhém threadu na LKML. Možná to bude v 2.6.33 lepší, můžeš to vyzkoušet. Každopádně tady ten problém nevyřešíš, to raději na LKML.
low_latency povoleno. Pustil jsem současně ionice -n 1 find /, rozbalení zdrojáků openjdk (taky s ionice -n 1) a zypper ref - s myší to nic neudělalo.
zypper up.


