Knihovna libpng, tj. oficiální referenční knihovna grafického formátu PNG (Portable Network Graphics), byla vydána ve verzi 1.6.51. Opraveny jsou 4 bezpečnostní chyby obsaženy ve verzích 1.6.0 (vydána 14. února 2013) až 1.6.50. Nejvážnější z chyb CVE-2025-65018 může vést ke spuštění libovolného kódu.
Nové číslo časopisu Raspberry Pi zdarma ke čtení: Raspberry Pi Official Magazine 159 (pdf).
Hru Warhammer: Vermintide 2 (ProtonDB) lze na Steamu získat zdarma napořád, když aktivaci provedete do pondělí 24. listopadu.
Virtualizační software Xen (Wikipedie) byl vydán v nové verzi 4.21. Podrobnosti v poznámkách k vydání a přehledu nových vlastností.
Evropská komise schválila český plán na poskytnutí státní pomoci v objemu 450 milionů eur (téměř 11 miliard Kč) na rozšíření výroby amerického producenta polovodičů onsemi v Rožnově pod Radhoštěm. Komise o tom informovala v dnešní tiskové zprávě. Společnost onsemi by podle ní do nového závodu v Rožnově pod Radhoštěm měla investovat 1,64 miliardy eur (téměř 40 miliard Kč).
Microsoft v příspěvku na svém blogu věnovaném open source oznámil, že textové adventury Zork I, Zork II a Zork III (Wikipedie) jsou oficiálně open source pod licencí MIT.
První prosincový týden proběhne SUSE Hack Week 25. Zaměstnanci SUSE mohou věnovat svůj pracovní čas libovolným open source projektům, například přidání AI agenta do Bugzilly, implementaci SSH v programovacím jazyce Zig nebo portaci klasických her na Linux. Připojit se může kdokoli.
Google oznámil, že Quick Share na Androidu funguje s AirDropem na iOS. Zatím na telefonech Pixel 10. Uživatelé tak mohou snadno přenášet soubory z telefonů s Androidem na iPhony a obráceně.
Byla vydána nová verze 8.5 (8.5.0) skriptovacího jazyka PHP používaného zejména k vývoji dynamických webových stránek. Přináší řadu novinek a vylepšení (URI Extension, Pipe Operator, Clone With, …). Vydána byla také příručka pro přechod z předchozích verzí.
Evropská komise zahájila tři vyšetřování týkající se cloudových platforem Amazon Web Services (AWS) a Microsoft Azure. Evropská exekutiva, která plní také funkci unijního antimonopolního orgánu, chce mimo jiné určit, zda jsou americké společnosti Microsoft a Amazon v cloudových službách takzvanými gatekeepery, tedy hráči, kteří významně ovlivňují provoz internetu a musí dle nařízení o digitálních trzích (DMA) na společném trhu
… více »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.


