{"id":100032,"date":"2021-04-26T10:22:56","date_gmt":"2021-04-26T08:22:56","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/reliz-yadra-linux-5-12"},"modified":"2021-04-26T10:22:56","modified_gmt":"2021-04-26T08:22:56","slug":"reliz-yadra-linux-5-12","status":"publish","type":"post","link":"https:\/\/prohoster.info\/cs\/blog\/news\/reliz-yadra-linux-5-12","title":{"rendered":"Uvoln\u011bn\u00ed j\u00e1dra Linux 5.12","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Po dvou m\u011bs\u00edc\u00edch v\u00fdvoje p\u0159edstavil Linus Torvalds vyd\u00e1n\u00ed j\u00e1dra Linux 5.12. Mezi nejv\u00fdrazn\u011bj\u0161\u00ed zm\u011bny pat\u0159\u00ed podpora z\u00f3novan\u00fdch blokov\u00fdch za\u0159\u00edzen\u00ed v Btrfs, mo\u017enost mapov\u00e1n\u00ed identifik\u00e1tor\u016f u\u017eivatel\u016f pro souborov\u00fd syst\u00e9m, odstran\u011bn\u00ed zastaral\u00fdch architektur ARM, re\u017eim \u201enetrp\u011bliv\u00e9ho\u201c z\u00e1pisu v NFS, mechanismus LOOKUP_CACHED pro ur\u010den\u00ed cest k soubor\u016fm z cache, podpora atomov\u00fdch instrukc\u00ed v BPF, debugovac\u00ed syst\u00e9m KFENCE pro odhalov\u00e1n\u00ed chyb p\u0159i pr\u00e1ci s pam\u011bt\u00ed, re\u017eim NAPI pollingu v s\u00ed\u0165ov\u00e9m z\u00e1sobn\u00edku b\u011b\u017e\u00edc\u00ed v samostatn\u00e9m j\u00e1drov\u00e9m vl\u00e1kn\u011b, hypervisor ACRN, mo\u017enost dynamick\u00e9 zm\u011bny preemptivn\u00edho modelu v pl\u00e1nova\u010di \u00faloh a podpora LTO optimalizac\u00ed p\u0159i sestaven\u00ed v Clang.    <\/p>\n<p>Do nov\u00e9 verze bylo p\u0159ijato 14170 (v p\u0159edchoz\u00edm vyd\u00e1n\u00ed 15480) oprav od 1946 (1991) v\u00fdvoj\u00e1\u0159\u016f, velikost patche - 38 MB (zm\u011bny se dotkly 12102 (12090) soubor\u016f, bylo p\u0159id\u00e1no 538599 (868025) \u0159\u00e1dk\u016f k\u00f3du, odstran\u011bno 333377 (261456) \u0159\u00e1dk\u016f). P\u0159ibli\u017en\u011b 43 % v\u0161ech p\u0159edlo\u017een\u00fdch zm\u011bn v 5.12 souvis\u00ed s ovlada\u010di za\u0159\u00edzen\u00ed, asi 17 % zm\u011bn se t\u00fdk\u00e1 aktualizace k\u00f3du specifick\u00e9ho pro hardwarov\u00e9 architektury, 12 % souvis\u00ed se s\u00ed\u0165ov\u00fdm z\u00e1sobn\u00edkem, 5 % \u2014 se souborov\u00fdmi syst\u00e9my a 4 % s vnit\u0159n\u00edmi subsyst\u00e9my j\u00e1dra.    <\/p>\n<p>Hlavn\u00ed novinky:  <\/p>\n<ul>\n<li class=\"l\"> <b>Diskov\u00fd subsyst\u00e9m, vstup\/v\u00fdstup a souborov\u00e9 syst\u00e9my<\/b>\n<ul>\n<li class=\"l\"> Byla realizov\u00e1na mo\u017enost mapov\u00e1n\u00ed identifik\u00e1tor\u016f u\u017eivatel\u016f pro p\u0159ipojen\u00e9 souborov\u00e9 syst\u00e9my (mo\u017eno p\u0159i\u0159adit soubory jednoho u\u017eivatele na p\u0159ipojen\u00e9m ciz\u00edm odd\u00edlu k jin\u00e9mu u\u017eivateli v aktu\u00e1ln\u00edm syst\u00e9mu). Mapov\u00e1n\u00ed je podporov\u00e1no pro FS FAT, ext4 a XFS. Navrhovan\u00e1 funkcionalita usnad\u0148uje sd\u00edlen\u00ed soubor\u016f r\u016fzn\u00fdmi u\u017eivateli a na r\u016fzn\u00fdch po\u010d\u00edta\u010d\u00edch, v\u010detn\u011b toho, \u017ee mapov\u00e1n\u00ed bude pou\u017eito v mechanismu p\u0159enositeln\u00fdch dom\u00e1c\u00edch adres\u00e1\u0159\u016f systemd-homed, co\u017e u\u017eivatel\u016fm umo\u017en\u00ed p\u0159esunout sv\u00e9 dom\u00e1c\u00ed adres\u00e1\u0159e na extern\u00ed nosi\u010de a pou\u017e\u00edvat je na r\u016fzn\u00fdch po\u010d\u00edta\u010d\u00edch, jejich\u017e rozlo\u017een\u00ed identifik\u00e1tor\u016f u\u017eivatel\u016f se neshoduje. Dal\u0161\u00edm u\u017eite\u010dn\u00fdm pou\u017eit\u00edm je organizace sd\u00edlen\u00ed soubor\u016f z extern\u00edho hostitele, ani\u017e by do\u0161lo ke skute\u010dn\u00e9 zm\u011bn\u011b \u00fadaj\u016f o vlastn\u00edc\u00edch soubor\u016f v FS.\n<li class=\"l\"> Do j\u00e1dra byly p\u0159ijaty patche LOOKUP_CACHED, kter\u00e9 umo\u017e\u0148uj\u00ed prov\u00e1d\u011bt operace ur\u010dov\u00e1n\u00ed cest k soubor\u016fm z u\u017eivatelsk\u00e9ho prostoru bez blokov\u00e1n\u00ed, pouze na z\u00e1klad\u011b dostupn\u00fdch dat v cache. Re\u017eim LOOKUP_CACHED se aktivuje p\u0159i vol\u00e1n\u00ed openat2() zasl\u00e1n\u00edm p\u0159\u00edznaku RESOLVE_CACHED, p\u0159i n\u011bm\u017e se data vracej\u00ed pouze z cache, a pokud ur\u010den\u00ed cesty vy\u017eaduje p\u0159\u00edstup k \u00falo\u017ei\u0161ti, vrac\u00ed se chyba EAGAIN.\n<li class=\"l\"> Ve souborov\u00e9m syst\u00e9mu Btrfs byla p\u0159id\u00e1na po\u010d\u00e1te\u010dn\u00ed podpora z\u00f3novan\u00fdch blokov\u00fdch za\u0159\u00edzen\u00ed (za\u0159\u00edzen\u00ed na pevn\u00fdch disc\u00edch nebo NVMe SSD, jejich\u017e \u00falo\u017en\u00fd prostor je rozd\u011blen na z\u00f3ny, kter\u00e9 obsahuj\u00ed skupiny blok\u016f nebo sektor\u016f, do kter\u00fdch je povoleno pouze sekven\u010dn\u00ed p\u0159id\u00e1v\u00e1n\u00ed dat s aktualizac\u00ed cel\u00e9 skupiny blok\u016f). V re\u017eimu pouze pro \u010dten\u00ed byla implementov\u00e1na podpora blok\u016f s metadaty a daty men\u0161\u00edmi ne\u017e str\u00e1nka (subpage).\n<li class=\"l\"> Ve souborov\u00e9m syst\u00e9mu F2FS byla p\u0159id\u00e1na mo\u017enost v\u00fdb\u011bru algoritmu a \u00farovn\u011b komprese. P\u0159id\u00e1na podpora vysok\u00e9 \u00farovn\u011b komprese pro algoritmus LZ4. Byla implementov\u00e1na mo\u017enost p\u0159ipojen\u00ed checkpoint_merge.\n<li class=\"l\"> Byla implementov\u00e1na nov\u00e1 ioctl p\u0159\u00edkaz FS_IOC_READ_VERITY_METADATA pro \u010dten\u00ed metadat z soubor\u016f chr\u00e1n\u011bn\u00fdch pomoc\u00ed fs-verity.\n<li class=\"l\"> V klientovi NFS byl implementov\u00e1n re\u017eim \u201enetrp\u011bliv\u00e9ho\u201c z\u00e1pisu (writes=eager), p\u0159i jeho\u017e zapnut\u00ed jsou operace z\u00e1pisu do souboru okam\u017eit\u011b pos\u00edl\u00e1ny na server, obch\u00e1zej\u00edc\u00ed str\u00e1nkovou cache. Tento re\u017eim umo\u017e\u0148uje sn\u00ed\u017eit spot\u0159ebu pam\u011bti, zaji\u0161\u0165uje okam\u017eit\u00e9 z\u00edsk\u00e1n\u00ed informac\u00ed o dokon\u010den\u00ed voln\u00e9ho m\u00edsta v souborov\u00e9m syst\u00e9mu a v n\u011bkter\u00fdch situac\u00edch poskytuje mo\u017enost zv\u00fd\u0161en\u00ed v\u00fdkonu.\n<li class=\"l\"> Do CIFS (SMB) byly p\u0159id\u00e1ny nov\u00e9 mo\u017enosti p\u0159ipojen\u00ed: acregmax pro \u0159\u00edzen\u00ed cachov\u00e1n\u00ed soubor\u016f a acdirmax pro \u0159\u00edzen\u00ed cachov\u00e1n\u00ed metadat adres\u00e1\u0159\u016f.\n<li class=\"l\"> Ve XFS byl zahrnut re\u017eim v\u00edcestup\u0148ov\u00e9 kontroly kv\u00f3t, bylo urychleno prov\u00e1d\u011bn\u00ed fsync a byl proveden p\u0159\u00edprava k\u00f3du growfs pro realizaci funkce zmen\u0161en\u00ed velikosti FS.                        <\/ul>\n<li class=\"l\"> <b>Pam\u011b\u0165 a syst\u00e9mov\u00e9 slu\u017eby<\/b>\n<ul>\n<li class=\"l\"> Byl p\u0159id\u00e1n subsyst\u00e9m DTMP (Dynamic Thermal Power Management), kter\u00fd umo\u017e\u0148uje dynamicky regulovat spot\u0159ebu energie r\u016fzn\u00fdch za\u0159\u00edzen\u00ed na z\u00e1klad\u011b stanoven\u00fdch obecn\u00fdch teplotn\u00edch limit\u016f.\n<li class=\"l\"> Byla implementov\u00e1na mo\u017enost sestaven\u00ed j\u00e1dra pomoc\u00ed kompil\u00e1toru Clang s aktivac\u00ed optimalizac\u00ed b\u011bhem propojen\u00ed (LTO, Link Time Optimization). Optimalizace LTO se li\u0161\u00ed t\u00edm, \u017ee zohled\u0148uj\u00ed stav v\u0161ech soubor\u016f \u00fa\u010dastn\u00edc\u00edch se procesu sestaven\u00ed, zat\u00edmco tradi\u010dn\u00ed re\u017eimy optimalizace optimalizuj\u00ed ka\u017ed\u00fd soubor jednotliv\u011b a nezohled\u0148uj\u00ed podm\u00ednky vol\u00e1n\u00ed funkc\u00ed definovan\u00fdch v jin\u00fdch souborech. Nap\u0159\u00edklad p\u0159i LTO je mo\u017en\u00e9 inlinov\u00e9 rozvinut\u00ed funkc\u00ed z jin\u00fdch soubor\u016f, do spustiteln\u00e9ho souboru se nezahrnuje nepou\u017e\u00edvan\u00fd k\u00f3d, prob\u00edh\u00e1 kontrola typ\u016f a celkov\u00e1 optimalizace na \u00farovni projektu. Podpora LTO je zat\u00edm omezena na architektury x86 a ARM64.\n<li class=\"l\"> Byla poskytnuta mo\u017enost v\u00fdb\u011bru re\u017eim\u016f p\u0159edzisku (PREEMPT) v pl\u00e1nova\u010di \u00faloh p\u0159i bootov\u00e1n\u00ed (preempt=none\/voluntary\/full) nebo b\u011bhem b\u011bhu prost\u0159ednictv\u00edm debugfs (\/debug\/sched_debug), pokud je p\u0159i sestavov\u00e1n\u00ed j\u00e1dra nastavena volba PREEMPT_DYNAMIC. D\u0159\u00edve bylo mo\u017en\u00e9 nastavit re\u017eim p\u0159edzisku pouze na \u00farovni parametr\u016f sestaven\u00ed. Zm\u011bna umo\u017e\u0148uje distribuc\u00edm dod\u00e1vat j\u00e1dra se zapnut\u00fdm re\u017eimem PREEMPT, kter\u00fd zaji\u0161\u0165uje minim\u00e1ln\u00ed zpo\u017ed\u011bn\u00ed pro pracovn\u00ed plochy na \u00fakor mal\u00e9ho sn\u00ed\u017een\u00ed propustnosti, a v p\u0159\u00edpad\u011b pot\u0159eby se vracet k re\u017eim\u016fm PREEMPT_VOLUNTARY (meziprojektov\u00fd re\u017eim pro pracovn\u00ed plochy) nebo PREEMPT_NONE (zaji\u0161\u0165uj\u00edc\u00ed maxim\u00e1ln\u00ed propustnost). <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/cs\/server\/\"   title=\"servery\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"1575\">servery<\/a>).\n<li class=\"l\"> Do subsyst\u00e9mu BPF byla p\u0159id\u00e1na podpora atomick\u00fdch operac\u00ed BPF_ADD, BPF_AND, BPF_OR, BPF_XOR, BPF_XCHG a BPF_CMPXCHG.\n<li class=\"l\"> BPF program\u016fm byla poskytnuta mo\u017enost p\u0159\u00edstupu k dat\u016fm na z\u00e1sobn\u00edku pomoc\u00ed ukazatel\u016f s prom\u011bnn\u00fdm posunut\u00edm. Nap\u0159\u00edklad, pokud bylo d\u0159\u00edve mo\u017en\u00e9 pro p\u0159\u00edstup k poli na z\u00e1sobn\u00edku pou\u017e\u00edvat pouze konstantn\u00ed index prvku, nyn\u00ed je mo\u017en\u00e9 pou\u017e\u00edt m\u011bn\u00edc\u00ed se. Kontrola p\u0159\u00edstupu je vykon\u00e1v\u00e1na v r\u00e1mci existuj\u00edc\u00edch hranic verifik\u00e1torem BPF. Tato mo\u017enost je dostupn\u00e1 pouze privilegovan\u00fdm program\u016fm kv\u016fli obav\u00e1m o zneu\u017eit\u00ed zranitelnost\u00ed spojen\u00fdch se spekulativn\u00edm vykon\u00e1v\u00e1n\u00edm k\u00f3du.\n<li class=\"l\"> Byla p\u0159id\u00e1na mo\u017enost p\u0159ipojen\u00ed BPF program\u016f k \u201ehol\u00fdm\u201c stopovac\u00edm bod\u016fm (bare tracepoints), kter\u00e9 nejsou spojeny s viditeln\u00fdmi ud\u00e1lostmi stopov\u00e1n\u00ed u\u017eivatelsk\u00e9ho prostoru (pro takov\u00e9 stopovac\u00ed body nen\u00ed zaru\u010deno zachov\u00e1n\u00ed ABI).\n<li class=\"l\"> Byl implementov\u00e1n podporovan\u00fd standard CXL 2.0 (Compute Express Link), kter\u00fd je pou\u017e\u00edv\u00e1n pro rychlou interakci mezi CPU a pam\u011b\u0165ov\u00fdmi za\u0159\u00edzen\u00edmi (umo\u017e\u0148uje vyu\u017e\u00edvat extern\u00ed pam\u011b\u0165ov\u00e1 za\u0159\u00edzen\u00ed jako sou\u010d\u00e1st RAM nebo trval\u00e9 pam\u011bti, jako by byla tato pam\u011b\u0165 p\u0159ipojena p\u0159es standardn\u00ed pam\u011b\u0165ov\u00fd \u0159adi\u010d v CPU).\n<li class=\"l\"> Byl p\u0159id\u00e1n ovlada\u010d nvmem pro z\u00edsk\u00e1v\u00e1n\u00ed dat z oblast\u00ed pam\u011bti rezervovan\u00fdch firmwary, kter\u00e9 nejsou p\u0159\u00edmo p\u0159\u00edstupn\u00e9 pro Linux (nap\u0159\u00edklad EEPROM pam\u011b\u0165, kter\u00e1 je fyzicky dostupn\u00e1 pouze pro firmware, nebo data dostupn\u00e1 pouze b\u011bhem ran\u00e9 f\u00e1ze spou\u0161t\u011bn\u00ed).\n<li class=\"l\"> Byla odstran\u011bna podpora profila\u010dn\u00edho syst\u00e9mu \u201eoprofile\u201c, kter\u00fd se nedostal do \u0161irok\u00e9ho pou\u017e\u00edv\u00e1n\u00ed a byl nahrazen modern\u011bj\u0161\u00edm mechanismem perf.\n<li class=\"l\"> V rozhran\u00ed asynchronn\u00edho vstupu\/v\u00fdstupu io_uring byla zaji\u0161t\u011bna integrace s cgroup, kter\u00e1 kontroluje pou\u017eit\u00ed pam\u011bti.\n<li class=\"l\"> Byla implementov\u00e1na podpora NUMA syst\u00e9m\u016f pro architekturu RISC-V, stejn\u011b jako mechanismy kprobes a uprobes.\n<li class=\"l\"> Byla p\u0159id\u00e1na mo\u017enost pou\u017eit\u00ed syst\u00e9mov\u00e9ho vol\u00e1n\u00ed kcmp() nez\u00e1visle na funkcionalit\u011b kontroln\u00edho bodu\/obnoven\u00ed (checkpoint\/restore).\n<li class=\"l\"> Byly odstran\u011bny makra EXPORT_UNUSED_SYMBOL() a EXPORT_SYMBOL_GPL_FUTURE(), kter\u00e1 nebyla v praxi ji\u017e mnoho let pou\u017e\u00edv\u00e1na.                       <\/ul>\n<li class=\"l\"> <b>Virtualizace a bezpe\u010dnost<\/b>\n<ul>\n<li class=\"l\"> Byl p\u0159id\u00e1n mechanismus ochrany KFence (Kernel Electric Fence), kter\u00fd zachycuje chyby p\u0159i pr\u00e1ci s pam\u011bt\u00ed, jako je p\u0159ekro\u010den\u00ed hranice buffera a p\u0159\u00edstup po uvoln\u011bn\u00ed pam\u011bti. Na rozd\u00edl od ladic\u00edho mechanismu KASAN se subsystem KFence vyzna\u010duje vysokou rychlost\u00ed a n\u00edzk\u00fdmi re\u017eijn\u00edmi n\u00e1klady, co\u017e umo\u017e\u0148uje detekovat chyby s pam\u011bt\u00ed, kter\u00e9 se projevuj\u00ed pouze na pracovn\u00edch syst\u00e9mech nebo p\u0159i dlouh\u00e9m b\u011bhu.\n<li class=\"l\"> Byla p\u0159id\u00e1na podpora hypervisoru ACRN, kter\u00fd byl navr\u017een s ohledem na p\u0159ipravenost pro \u00fakoly re\u00e1ln\u00e9ho \u010dasu a vhodnost pro pou\u017eit\u00ed v kritick\u00fdch syst\u00e9mech. ACRN zaji\u0161\u0165uje minim\u00e1ln\u00ed re\u017eijn\u00ed n\u00e1klady, garantuje n\u00edzkou latenci a adekv\u00e1tn\u00ed odezvu p\u0159i interakci s hardwarem. Podporov\u00e1na je virtualizace zdroj\u016f CPU, vstupu\/v\u00fdstupu, s\u00ed\u0165ov\u00fdch subsyst\u00e9m\u016f, grafick\u00fdch a zvukov\u00fdch operac\u00ed. <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/cs\/vps\/\"   title=\"virtu\u00e1ln\u00edch stroj\u016f\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"2053\">virtu\u00e1ln\u00edch stroj\u016f<\/a> v elektronick\u00fdch \u0159\u00eddic\u00edch bloc\u00edch, p\u0159\u00edstrojov\u00fdch panelech, informa\u010dn\u00edch syst\u00e9mech automobil\u016f, spot\u0159ebitelsk\u00fdch IoT za\u0159\u00edzen\u00edch a jin\u00e9 vestav\u011bn\u00e9 technice. ACRN podporuje dva typy hostovac\u00edch syst\u00e9m\u016f \u2014 privilegovan\u00e9 Service VM, kter\u00e9 se pou\u017e\u00edvaj\u00ed pro spr\u00e1vu syst\u00e9mov\u00fdch zdroj\u016f (CPU, pam\u011b\u0165, vstup\/v\u00fdstup atd.), a u\u017eivatelsk\u00e9 User VM, ve kter\u00fdch mohou b\u011b\u017eet distribuce Linuxu, Android a Windows.\n<li class=\"l\"> V subsyst\u00e9mu IMA (Integrity Measurement Architecture), kter\u00fd zaji\u0161\u0165uje \u00fadr\u017ebu datab\u00e1ze hash\u016f pro kontrolu integrity soubor\u016f a souvisej\u00edc\u00edch metadat, se objevila mo\u017enost kontroly integrity dat samotn\u00e9ho j\u00e1dra, nap\u0159\u00edklad k sledov\u00e1n\u00ed zm\u011bn pravidel SELinux.\n<li class=\"l\"> Do hypervizoru KVM byla p\u0159id\u00e1na mo\u017enost zachyt\u00e1v\u00e1n\u00ed hypervol\u00e1n\u00ed Xen a jejich p\u0159esm\u011brov\u00e1n\u00ed do emulatoru b\u011b\u017e\u00edc\u00edho v u\u017eivatelsk\u00e9m prostoru.\n<li class=\"l\"> Byla p\u0159id\u00e1na mo\u017enost pou\u017eit\u00ed Linuxu jako ko\u0159enov\u00e9ho prost\u0159ed\u00ed pro hypervizor Hyper-V. Ko\u0159enov\u00e9 prost\u0159ed\u00ed m\u00e1 p\u0159\u00edm\u00fd p\u0159\u00edstup k hardwaru a pou\u017e\u00edv\u00e1 se k spu\u0161t\u011bn\u00ed hostitelsk\u00fdch syst\u00e9m\u016f (analog Dom0 v Xen). Dosud Hyper-V (Microsoft Hypervisor) podporoval Linux pouze v hostitelsk\u00fdch prost\u0159ed\u00edch, ale s\u00e1m hypervizor byl \u0159\u00edzen z prost\u0159ed\u00ed zalo\u017een\u00e9ho na Windows.\n<li class=\"l\"> Byla p\u0159id\u00e1na podpora inline \u0161ifrov\u00e1n\u00ed pro karty eMMC, co\u017e umo\u017e\u0148uje vyu\u017e\u00edvat mechanismy \u0161ifrov\u00e1n\u00ed vestav\u011bn\u00e9 v \u0159adi\u010di \u00falo\u017ei\u0161t\u011b, kter\u00e9 prov\u00e1d\u011bj\u00ed transparentn\u00ed \u0161ifrov\u00e1n\u00ed a de\u0161ifrov\u00e1n\u00ed vstupu\/v\u00fdstupu.\n<li class=\"l\"> Z kryptosyst\u00e9mu byla odstran\u011bna podpora nepou\u017e\u00edvan\u00fdch hash\u016f RIPE-MD 128\/256\/320 a Tiger 128\/160\/192, stejn\u011b jako streamov\u00e9ho \u0161ifrov\u00e1n\u00ed Salsa20, kter\u00e9 nahradil algoritmus ChaCha20. Algoritmus blake2 byl aktualizov\u00e1n na implementaci blake2s.          <\/ul>\n<li class=\"l\"> <b>S\u00ed\u0165ov\u00e1 subsyst\u00e9m<\/b>\n<ul>\n<li class=\"l\">Byla p\u0159id\u00e1na mo\u017enost vy\u010dlen\u011bn\u00ed obsluhy NAPI polling s\u00ed\u0165ov\u00fdch za\u0159\u00edzen\u00ed do samostatn\u00e9ho j\u00e1dra, co\u017e umo\u017e\u0148uje zv\u00fd\u0161en\u00ed v\u00fdkonu pro n\u011bkter\u00e9 typy z\u00e1t\u011b\u017ee. D\u0159\u00edve byl polling prov\u00e1d\u011bn v kontextu softirq a nebyl zahrnut pl\u00e1nova\u010dem \u00faloh, co\u017e zt\u011b\u017eovalo detailn\u00ed optimalizaci pro dosa\u017een\u00ed maxim\u00e1ln\u00edho v\u00fdkonu. Prov\u00e1d\u011bn\u00ed v samostatn\u00e9m j\u00e1d\u0159e umo\u017e\u0148uje sledovat obsluhu pollingu z u\u017eivatelsk\u00e9ho prostoru, p\u0159i\u0159azovat ji k jednotliv\u00fdm j\u00e1dr\u016fm CPU a br\u00e1t v \u00favahu p\u0159i pl\u00e1nov\u00e1n\u00ed p\u0159ep\u00edn\u00e1n\u00ed \u00faloh. Pro aktivaci nov\u00e9ho re\u017eimu v sysfs byl navr\u017een parametr \/sys\/class\/net\/\/threaded.\n<li class=\"l\"> Pokra\u010duje integrace do j\u00e1dra MPTCP (MultiPath TCP), roz\u0161\u00ed\u0159en\u00ed protokolu TCP pro organizaci pr\u00e1ce TCP p\u0159ipojen\u00ed s doru\u010dov\u00e1n\u00edm paket\u016f sou\u010dasn\u011b n\u011bkolika cestami p\u0159es r\u016fzn\u00e9 s\u00ed\u0165ov\u00e9 rozhran\u00ed, spojen\u00e1 s r\u016fzn\u00fdmi IP adresami. V nov\u00e9 verzi byla p\u0159id\u00e1na mo\u017enost p\u0159i\u0159adit prioritu ur\u010dit\u00fdm tok\u016fm, co\u017e umo\u017e\u0148uje nap\u0159\u00edklad organizovat pr\u00e1ci z\u00e1lo\u017en\u00edch tok\u016f, kter\u00e9 se zapnou pouze p\u0159i probl\u00e9mech s prim\u00e1rn\u00edm tokem.\n<li class=\"l\"> V IGMPv3 byla p\u0159id\u00e1na podpora mechanismu EHT (Explicit Host Tracking).\n<li class=\"l\"> V mechanismu filtrov\u00e1n\u00ed paket\u016f netfilter byla zrealizov\u00e1na mo\u017enost vlastnit ur\u010dit\u00e9 tabulky pro z\u00edsk\u00e1n\u00ed exkluzivn\u00ed kontroly (nap\u0159\u00edklad na pozad\u00ed m\u016f\u017ee proces firewallu zablokovat ur\u010dit\u00e9 tabulky, a t\u00edm zabr\u00e1nit jin\u00fdm osob\u00e1m do nich zasahovat).                               <\/ul>\n<li class=\"l\"> <b>Hardware<\/b>\n<ul>\n<li class=\"l\"> Byla provedena \u010distka zastaral\u00fdch a neudr\u017eovan\u00fdch ARM platforem. Byl odstran\u011bn k\u00f3d platforem efm32, picoxcell, prima2, tango, u300, zx a c6x, jako\u017e i souvisej\u00edc\u00ed ovlada\u010de.\n<li class=\"l\"> V ovlada\u010di amdgpu byla realizov\u00e1na mo\u017enost p\u0159etaktov\u00e1n\u00ed (OverDrive) karet na b\u00e1zi GPU Sienna Cichlid (Navi 22, Radeon RX 6xxx). Byla p\u0159id\u00e1na podpora pixelov\u00e9ho form\u00e1tu FP16 pro DCE (display controller engine) od 8. do 11. generace. Pro GPU Navy Flounder (Navi 21) a APU Van Gogh byla realizov\u00e1na mo\u017enost resetov\u00e1n\u00ed GPU.\n<li class=\"l\"> V ovlada\u010di i915 pro grafick\u00e9 karty Intel byla implementov\u00e1na mo\u017enost i915.mitigations pro deaktivaci izola\u010dn\u00edch a ochrann\u00fdch mechanism\u016f ve prosp\u011bch zv\u00fd\u0161en\u00ed v\u00fdkonu. Pro \u010dipy od Tiger Lake byla aktivov\u00e1na podpora mechanismu VRR (Variable Rate Refresh), kter\u00fd umo\u017e\u0148uje adaptivn\u011b m\u011bnit obnovovac\u00ed frekvenci monitoru pro zaji\u0161t\u011bn\u00ed plynulosti a absence trh\u00e1n\u00ed b\u011bhem hran\u00ed. Byla zahrnuta podpora technologie Intel Clear Color pro zlep\u0161en\u00ed p\u0159esnosti barev. Byla p\u0159id\u00e1na podpora DP-HDMI 2.1. Byla realizov\u00e1na mo\u017enost \u0159\u00edzen\u00ed podsv\u00edcen\u00ed panel\u016f eDP. Pro GPU Gen9 s podporou LSPCON (Level Shifter and Protocol Converter) byla aktivov\u00e1na podpora HDR.\n<li class=\"l\"> V ovlada\u010di nouveau byla p\u0159id\u00e1na z\u00e1kladn\u00ed podpora GPU NVIDIA na b\u00e1zi architektury GA100 (Ampere).\n<li class=\"l\"> V ovlada\u010di msm byla p\u0159id\u00e1na podpora GPU Adreno 508, 509 a 512, kter\u00e9 se pou\u017e\u00edvaj\u00ed v \u010dipech SDM (Snapdragon) 630, 636 a 660.\n<li class=\"l\"> Byla p\u0159id\u00e1na podpora zvukov\u00fdch karet Sound BlasterX AE-5 Plus, Lexicon I-ONIX FW810s a Pioneer DJM-750. Byla p\u0159id\u00e1na podpora zvukov\u00e9ho subsyst\u00e9mu Intel Alder Lake PCH-P. Byla realizov\u00e1na podpora softwarov\u00e9 simulace p\u0159ipojen\u00ed a odpojen\u00ed audio konektoru pro debuggov\u00e1n\u00ed handler\u016f v u\u017eivatelsk\u00e9m prostoru.\n<li class=\"l\"> Byla p\u0159id\u00e1na podpora hern\u00edch konzol\u00ed Nintendo 64, kter\u00e9 se vyr\u00e1b\u011bly v letech 1996 a\u017e 2003 (p\u0159edchoz\u00ed pokusy o portov\u00e1n\u00ed Linuxu na Nintendo 64 nebyly dokon\u010deny a m\u011bly status Vaporware). D\u016fvodem pro vytvo\u0159en\u00ed nov\u00e9ho portu pro tuto zastaralou platformu, kter\u00e1 se nevyr\u00e1b\u00ed u\u017e skoro dvacet let, je touha podn\u00edtit rozvoj emul\u00e1tor\u016f a zjednodu\u0161en\u00ed p\u0159enosu her.\n<li class=\"l\"> Byl p\u0159id\u00e1n ovlada\u010d pro hern\u00ed ovlada\u010d Sony PlayStation 5 DualSense.\n<li class=\"l\"> Byla p\u0159id\u00e1na podpora ARM platforem, za\u0159\u00edzen\u00ed a platforem: PineTab, Snapdragon 888 \/ SM8350, Snapdragon MTP, Two Beacon EmbeddedWorks, Intel eASIC N5X, Netgear R8000P, Plymovent M2M, Beacon i.MX8M Nano, NanoPi M4B.\n<li class=\"l\"> Byla p\u0159id\u00e1na podpora smartphon\u016f Purism Librem5 Evergreen, Xperia Z3+\/Z4\/Z5, ASUS Zenfone 2 Laser, BQ Aquaris X5, OnePlus6, OnePlus6T, Samsung GT-I9070.\n<li class=\"l\"> Byl p\u0159id\u00e1n ovlada\u010d bcm-vk pro akcelera\u010dn\u00ed desky Broadcom VK (nap\u0159. PCIe desky Valkyrie a Viper), kter\u00e9 lze pou\u017e\u00edt pro odd\u011blen\u00ed operac\u00ed zpracov\u00e1n\u00ed zvuku, videa a obraz\u016f na samostatn\u00e9 za\u0159\u00edzen\u00ed, stejn\u011b jako pro \u010dinnosti souvisej\u00edc\u00ed s \u0161ifrov\u00e1n\u00edm.\n<li class=\"l\"> Byla p\u0159id\u00e1na podpora pro platformu Lenovo IdeaPad s mo\u017enost\u00ed spr\u00e1vy trval\u00e9ho nab\u00edjen\u00ed a podsv\u00edcen\u00edm kl\u00e1vesnice. Byla tak\u00e9 zaji\u0161t\u011bna podpora ACPI profilu platformy ThinkPad s mo\u017enost\u00ed spr\u00e1vy re\u017eim\u016f \u00faspory energie. Byl p\u0159id\u00e1n ovlada\u010d pro HID subsyst\u00e9m Lenovo ThinkPad X1 Tablet Gen 2.\n<li class=\"l\"> Byl p\u0159id\u00e1n ovlada\u010d ov5647 s podporou modulu s kamerou pro Raspberry Pi.\n<li class=\"l\"> Byla p\u0159id\u00e1na podpora RISC-V SoC FU740 a desek HiFive Unleashed. Byl tak\u00e9 p\u0159id\u00e1n nov\u00fd ovlada\u010d pro \u010dip Kendryte K210.    <\/ul>\n<\/ul>\n<p>Zdroj: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=54985\">opennet.ru<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041f\u043e\u0441\u043b\u0435 \u0434\u0432\u0443\u0445 \u043c\u0435\u0441\u044f\u0446\u0435\u0432 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u041b\u0438\u043d\u0443\u0441 \u0422\u043e\u0440\u0432\u0430\u043b\u044c\u0434\u0441 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u043b \u0440\u0435\u043b\u0438\u0437 \u044f\u0434\u0440\u0430 Linux 5.12. \u0421\u0440\u0435\u0434\u0438 \u043d\u0430\u0438\u0431\u043e\u043b\u0435\u0435 \u0437\u0430\u043c\u0435\u0442\u043d\u044b\u0445 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439: \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u0437\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u0431\u043b\u043e\u0447\u043d\u044b\u0445 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432 \u0432 Btrfs, \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u043c\u0430\u043f\u043f\u0438\u043d\u0433\u0430 \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440\u043e\u0432 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 \u0434\u043b\u044f \u0424\u0421, \u0447\u0438\u0441\u0442\u043a\u0430 \u0443\u0441\u0442\u0430\u0440\u0435\u0432\u0448\u0438\u0445 ARM-\u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440, \u0440\u0435\u0436\u0438\u043c &#171;\u043d\u0435\u0442\u0435\u0440\u043f\u0435\u043b\u0438\u0432\u043e\u0439&#187; \u0437\u0430\u043f\u0438\u0441\u0438 \u0432 NFS, \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c LOOKUP_CACHED \u0434\u043b\u044f \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u044f \u0444\u0430\u0439\u043b\u043e\u0432\u044b\u0445 \u043f\u0443\u0442\u0435\u0439 \u0438\u0437 \u043a\u044d\u0448\u0430, \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u0430\u0442\u043e\u043c\u0430\u0440\u043d\u044b\u0445 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0439 \u0432 BPF, \u043e\u0442\u043b\u0430\u0434\u043e\u0447\u043d\u0430\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u0430 KFENCE \u0434\u043b\u044f \u0432\u044b\u044f\u0432\u043b\u0435\u043d\u0438\u044f \u043e\u0448\u0438\u0431\u043e\u043a \u043f\u0440\u0438 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-100032","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.3 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041f\u043e\u0441\u043b\u0435 \u0434\u0432\u0443\u0445 \u043c\u0435\u0441\u044f\u0446\u0435\u0432 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u041b\u0438\u043d\u0443\u0441 \u0422\u043e\u0440\u0432\u0430\u043b\u044c\u0434\u0441 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u043b \u0440\u0435\u043b\u0438\u0437 \u044f\u0434\u0440\u0430 Linux 5.12.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/cs\/blog\/news\/reliz-yadra-linux-5-12\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"cs_CZ\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0420\u0435\u043b\u0438\u0437 \u044f\u0434\u0440\u0430 Linux 5.12 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041f\u043e\u0441\u043b\u0435 \u0434\u0432\u0443\u0445 \u043c\u0435\u0441\u044f\u0446\u0435\u0432 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u041b\u0438\u043d\u0443\u0441 \u0422\u043e\u0440\u0432\u0430\u043b\u044c\u0434\u0441 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u043b \u0440\u0435\u043b\u0438\u0437 \u044f\u0434\u0440\u0430 Linux 5.12.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/cs\/blog\/news\/reliz-yadra-linux-5-12\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2021-04-26T08:22:56+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2021-04-26T08:22:56+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Vyd\u00e1n\u00ed j\u00e1dra Linux 5.12 | ProHoster","description":"Po dvou m\u011bs\u00edc\u00edch v\u00fdvoje p\u0159edstavili Linus Torvalds vyd\u00e1n\u00ed j\u00e1dra Linux 5.12.","canonical_url":"https:\/\/prohoster.info\/cs\/blog\/news\/reliz-yadra-linux-5-12","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"cs_CZ","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0420\u0435\u043b\u0438\u0437 \u044f\u0434\u0440\u0430 Linux 5.12 | ProHoster","og:description":"\u041f\u043e\u0441\u043b\u0435 \u0434\u0432\u0443\u0445 \u043c\u0435\u0441\u044f\u0446\u0435\u0432 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u041b\u0438\u043d\u0443\u0441 \u0422\u043e\u0440\u0432\u0430\u043b\u044c\u0434\u0441 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u043b \u0440\u0435\u043b\u0438\u0437 \u044f\u0434\u0440\u0430 Linux 5.12.","og:url":"https:\/\/prohoster.info\/cs\/blog\/news\/reliz-yadra-linux-5-12","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2021-04-26T08:22:56+00:00","article:modified_time":"2021-04-26T08:22:56+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"100032","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-04-26 08:35:42","updated":"2026-02-09 17:11:13","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/posts\/100032","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/comments?post=100032"}],"version-history":[{"count":2,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/posts\/100032\/revisions"}],"predecessor-version":[{"id":159297,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/posts\/100032\/revisions\/159297"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/media?parent=100032"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/categories?post=100032"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/tags?post=100032"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}