{"id":101213,"date":"2021-09-07T16:23:45","date_gmt":"2021-09-07T14:23:45","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/yadro-linux-5-14"},"modified":"2021-09-07T16:23:45","modified_gmt":"2021-09-07T14:23:45","slug":"yadro-linux-5-14","status":"publish","type":"post","link":"https:\/\/prohoster.info\/sk\/blog\/news\/yadro-linux-5-14","title":{"rendered":"Jadro Linux 5.14","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><a rel=\"nofollow\" href=\"https:\/\/www.linux.org.ru\/images\/19872\/original.png\" itemprop=\"contentURL\">       <img decoding=\"async\" alt=\"Jadro Linux 5.14\" src=\"\/wp-content\/uploads\/2021\/09\/6c08ca34b060a8523af78f555746ff24.jpg\" style=\"display:block;margin: 0 auto;\" \/>            <\/a>                    <noindex>      <noindex><\/p>\n<p>Po dvoch mesiacoch v\u00fdvoja Linus Torvalds <a rel=\"nofollow\" href=\"https:\/\/lkml.org\/lkml\/2021\/8\/29\/382\">predstavil<\/a> vydanie jadra <a rel=\"nofollow\" href=\"https:\/\/www.kernel.org\/\">Linux 5.14<\/a>. Medzi najv\u00fdraznej\u0161\u00edmi zmenami s\u00fa: nov\u00e9 syst\u00e9mov\u00e9 volania quotactl_fd() a memfd_secret(), odstr\u00e1nenie ovl\u00e1da\u010dov ide a raw, nov\u00fd kontrol\u00e9r priority vstupu\/v\u00fdstupu pre cgroup, re\u017eim pl\u00e1novania \u00faloh SCHED_CORE, infra\u0161trukt\u00fara pre vytv\u00e1ranie bootloaderov overen\u00fdch BPF programov.<\/p>\n<p><\/noindex><\/noindex> <\/p>\n<p>V novej verzii bolo vykonan\u00fdch 15883 opr\u00e1v od 2002 v\u00fdvoj\u00e1rov, ve\u013ekos\u0165 patchu je 69 MB (zmeny sa dotkli 12580 s\u00faborov, bolo pridan\u00fdch 861501 riadkov k\u00f3du, odstr\u00e1nen\u00fdch 321654 riadkov). Pribli\u017ene 47% v\u0161etk\u00fdch zmien v 5.14 je spojen\u00fdch s ovl\u00e1da\u010dmi zariaden\u00ed, asi 14% zmien sa t\u00fdka aktualiz\u00e1cie k\u00f3du \u0161pecifick\u00e9ho pre hardv\u00e9rov\u00e9 architekt\u00fary, 13% s\u00favis\u00ed so sie\u0165ov\u00fdm z\u00e1sobn\u00edkom, 3% s \u0444\u0430\u0439\u043b\u043e\u0432\u00fdmi \u0441\u0438\u0441\u0442\u0435\u043c\u0430\u043c\u0438 a 3% s vn\u00fatorn\u00fdmi subsyst\u00e9mami jadra.<\/p>\n<p>  <noindex><\/p>\n<p><a rel=\"nofollow\" href=\"https:\/\/lwn.net\/Articles\/861695\/\">Hlavn\u00e9<\/a> <a rel=\"nofollow\" href=\"https:\/\/kernelnewbies.org\/Linux_5.14\">novinky<\/a>:<\/p>\n<p><\/noindex> <\/p>\n<ul>\n<li>diskov\u00e1 subsyst\u00e9ma, vstup\/v\u00fdstup a s\u00faborov\u00e9 syst\u00e9my:\n<ul>\n<li>pre cgroup <a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/linus\/556910e39249\">implementovan\u00fd<\/a> nov\u00fd ovl\u00e1da\u010d prioriz\u00e1cie vstupu\/v\u00fdstupu \u2013 rq-qos, ktor\u00fd m\u00f4\u017ee spravova\u0165 prioritu spracovania po\u017eiadaviek na blokov\u00e9 zariadenia generovan\u00fdch \u00fa\u010dastn\u00edkmi ka\u017ed\u00e9ho cgroup. Podpora nov\u00e9ho ovl\u00e1da\u010da prior\u00edt bola pridan\u00e1 do pl\u00e1nova\u010da vstupu\/v\u00fdstupu mq-deadline;<\/li>\n<li>v s\u00faborovom syst\u00e9me ext4 <a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=fd7b23be9205\">bola implementovan\u00e1<\/a> nov\u00e1 ioctl-pr\u00edkaz EXT4_IOC_CHECKPOINT, ktor\u00e1 n\u00fatene zapisuje na disk v\u0161etky \u010dakaj\u00face transakcie z denn\u00edka a s nimi spojen\u00e9 buffery, ako aj prep\u00ed\u0161e oblas\u0165 pou\u017e\u00edvan\u00fa denn\u00edkom do \u00falo\u017eiska. Zmena bola pripraven\u00e1 v r\u00e1mci iniciat\u00edvy na prevenciu \u00fanikov inform\u00e1ci\u00ed zo s\u00faborov\u00fdch syst\u00e9mov;<\/li>\n<li>v Btrfs <a rel=\"nofollow\" href=\"https:\/\/lore.kernel.org\/lkml\/cover.1624891843.git.dsterba@suse.com\/\">boli pridan\u00e9<\/a> optimaliz\u00e1cie v\u00fdkonu: vyl\u00fa\u010den\u00edm nadbyto\u010dn\u00e9ho denn\u00edkovania roz\u0161\u00edren\u00fdch atrib\u00fatov po\u010das vykon\u00e1vania fsync sa v\u00fdkon intenz\u00edvnych oper\u00e1ci\u00ed s roz\u0161\u00edren\u00fdmi atrib\u00fatmi zv\u00fd\u0161il a\u017e o 17%. Okrem toho, pri vykon\u00e1van\u00ed oper\u00e1ci\u00ed skracovania, ktor\u00e9 nezah\u0155\u0148aj\u00fa extenty, bolo deaktivovan\u00e9 vykon\u00e1vanie \u00faplnej synchroniz\u00e1cie, \u010do zn\u00ed\u017eilo \u010das vykon\u00e1vania oper\u00e1cie o 12%. Do sysfs bola pridan\u00e1 konfigur\u00e1cia na obmedzenie priepustnosti vstupu\/v\u00fdstupu pri kontrole FS. Pridan\u00e9 ioctl-v\u00fdzvy na zru\u0161enie oper\u00e1ci\u00ed zmeny ve\u013ekosti a odstr\u00e1nenia zariadenia;<\/li>\n<li>v XFS <a rel=\"nofollow\" href=\"https:\/\/lore.kernel.org\/lkml\/20210702201643.GA13765@locust\/\">prepracovan\u00e1<\/a> implement\u00e1cia vyrovn\u00e1vacej pam\u00e4te, ktor\u00e1 bola preveden\u00e1 na alok\u00e1ciu pam\u00e4\u0165ov\u00fdch str\u00e1n v d\u00e1vkovom re\u017eime. Zefekt\u00edvnen\u00e1 pr\u00e1ca cache;<\/li>\n<li>Vo F2FS bola pridan\u00e1 mo\u017enos\u0165 fungovania v re\u017eime iba na \u010d\u00edtanie a implementovan\u00fd bol re\u017eim cache pre komprimovan\u00e9 bloky (compress_cache) na zlep\u0161enie v\u00fdkonu n\u00e1hodn\u00e9ho \u010d\u00edtania. Bola implementovan\u00e1 podpora kompresie s\u00faborov mapovan\u00fdch do pam\u00e4te pomocou oper\u00e1cie mmap(). Pre selekt\u00edvne vypnutie kompresie s\u00faborov pod\u013ea masky bola navrhnut\u00e1 nov\u00e1 mo\u017enos\u0165 montovania nocompress;<\/li>\n<li>V ovl\u00e1da\u010di exFAT bola vykonan\u00e1 pr\u00e1ca na zlep\u0161en\u00ed kompatibility so skladovac\u00edmi zariadeniami niektor\u00fdch digit\u00e1lnych fotoapar\u00e1tov;<\/li>\n<li>Bola pridan\u00e1 syst\u00e9mov\u00e1 v\u00fdzva <a rel=\"nofollow\" href=\"https:\/\/lwn.net\/Articles\/859679\/\">quotactl_fd()<\/a>, ktor\u00e1 umo\u017e\u0148uje spravova\u0165 kv\u00f3ty nie cez s\u00fabor \u0161peci\u00e1lneho zariadenia, ale cez ur\u010denie s\u00faborov\u00e9ho deskriptora s\u00favisiaceho so s\u00faborov\u00fdm syst\u00e9mom, na ktor\u00fd sa kv\u00f3ta vz\u0165ahuje;<\/li>\n<li>Zo jadra boli odstr\u00e1nen\u00e9 star\u00e9 ovl\u00e1da\u010de pre blokov\u00e9 zariadenia s rozhran\u00edm IDE, ktor\u00e9 u\u017e d\u00e1vno nahradila subsyst\u00e9m libata. Podpora star\u00fdch zariaden\u00ed zostala v plnej miere, zmeny sa t\u00fdkaj\u00fa iba mo\u017enosti pou\u017e\u00edvania star\u00fdch ovl\u00e1da\u010dov, pri ktor\u00fdch boli \u00falo\u017eisk\u00e1 pomenovan\u00e9 \\\/dev\\\/hd*, a nie \\\/dev\\\/sd*;<\/li>\n<li>z jadra bol odstr\u00e1nen\u00fd ovl\u00e1da\u010d \u201eraw\u201c, ktor\u00fd poskytoval nevyrovnan\u00fd pr\u00edstup k blokov\u00fdm zariadeniam cez rozhranie \/dev\/raw. Uveden\u00e1 funk\u010dnos\u0165 sa u\u017e d\u00e1vno realizovala v aplik\u00e1ci\u00e1ch pomocou pr\u00edznaku O_DIRECT;<\/li>\n<\/ul>\n<\/li>\n<li>Pam\u00e4\u0165 a syst\u00e9mov\u00e9 slu\u017eby:\n<ul>\n<li>V pl\u00e1nova\u010di \u00faloh bol implementovan\u00fd nov\u00fd pl\u00e1novac\u00ed re\u017eim <a rel=\"nofollow\" href=\"https:\/\/lwn.net\/Articles\/861251\/\">SCHED_CORE<\/a>, ktor\u00fd umo\u017e\u0148uje riadi\u0165, ktor\u00e9 procesy m\u00f4\u017eu s\u00fa\u010dasne be\u017ea\u0165 na jednom CPU jadre. Ka\u017ed\u00e9mu procesu m\u00f4\u017ee by\u0165 pridelen\u00fd cookie identifik\u00e1tor, ktor\u00fd ur\u010duje d\u00f4veryhodnos\u0165 medzi procesmi (napr\u00edklad pr\u00edslu\u0161nos\u0165 jedn\u00e9mu pou\u017e\u00edvate\u013eovi alebo kontajneru). Pri organizovan\u00ed vykon\u00e1vania k\u00f3du pl\u00e1nova\u010d m\u00f4\u017ee zabezpe\u010di\u0165 zdie\u013eanie jedn\u00e9ho CPU jadra len pre procesy spojen\u00e9 s jedn\u00fdm vlastn\u00edkom, \u010do mo\u017eno vyu\u017ei\u0165 na blokovanie niektor\u00fdch \u00fatokov triedy Spectre t\u00fdm, \u017ee sa zabr\u00e1ni s\u00fabe\u017en\u00e9mu vykon\u00e1vaniu v jednom vl\u00e1kne SMT (Hyper Threading) d\u00f4veryhodn\u00fdch a ned\u00f4veryhodn\u00fdch \u00faloh;<\/li>\n<li>pre mechanizmus cgroup bola implementovan\u00e1 podpora oper\u00e1cie kill, umo\u017e\u0148uj\u00faca naraz ukon\u010di\u0165 v\u0161etky procesy priraden\u00e9 k skupine (odosla\u0165 SIGKILL) z\u00e1pisom \u201e1\u201c do virtu\u00e1lneho s\u00faboru cgroup.kill;<\/li>\n<li>roz\u0161\u00edrili sa mo\u017enosti t\u00fdkaj\u00face sa reakcie na zistenie rozdelen\u00fdch z\u00e1mkov (\u201esplit lock\u201c), ktor\u00e9 vznikaj\u00fa pri pr\u00edstupe k nevyrovnan\u00fdm \u00fadajom v pam\u00e4ti, preto\u017ee pri vykon\u00e1van\u00ed atom\u00e1rnej in\u0161trukcie \u00fadaje prekra\u010duj\u00fa dve l\u00ednie cachu CPU. Tak\u00e9to z\u00e1mky sp\u00f4sobuj\u00fa v\u00fdznamn\u00fd pokles v\u00fdkonu, preto sa predt\u00fdm poskytovala mo\u017enos\u0165 n\u00faten\u00e9ho ukon\u010denia aplik\u00e1cie, ktor\u00e1 sp\u00f4sobila z\u00e1mok. V novej verzii bol pridan\u00fd parameter pr\u00edkazov\u00e9ho riadku jadra \u201esplit_lock_detect=ratelimit:N\u201c, ktor\u00fd umo\u017e\u0148uje nastavi\u0165 celkov\u00fd syst\u00e9mov\u00fd limit intenzity oper\u00e1ci\u00ed z\u00e1mkov za sekundu; po prekro\u010den\u00ed tohto limitu bude ka\u017ed\u00fd proces, ktor\u00fd sa stal zdrojom rozdelen\u00e9ho z\u00e1mku, namiesto ukon\u010denia n\u00fatene zastaven\u00fd na 20 ms;<\/li>\n<li>v kontrol\u00e9ri cgroup pre priepustnos\u0165 CFS (CFS bandwidth controller), ktor\u00fd ur\u010duje, ko\u013eko procesorov\u00e9ho \u010dasu sa m\u00f4\u017ee prideli\u0165 ka\u017edej cgroup, bola implementovan\u00e1 mo\u017enos\u0165 definovania limitov obmedzen\u00fdch zadan\u00fdm \u010dasom platnosti, \u010do umo\u017e\u0148uje lep\u0161ie regulova\u0165 z\u00e1\u0165a\u017ee citliv\u00e9 na oneskorenia. Napr\u00edklad nastavenie hodnoty cpu.cfs_quota_us na 50000 a cpu.cfs_period_us na 100000 umo\u017en\u00ed skupine procesov str\u00e1vi\u0165 ka\u017ed\u00fdch 100 ms 50 ms procesorov\u00e9ho \u010dasu;<\/li>\n<li><a rel=\"nofollow\" href=\"https:\/\/lwn.net\/Articles\/853489\">bola pridan\u00e1<\/a> po\u010diato\u010dn\u00e1 infra\u0161trukt\u00fara na vytv\u00e1ranie na\u010d\u00edta\u010dov BPF programov, ktor\u00e1 v bud\u00facnosti umo\u017en\u00ed na\u010d\u00edtanie iba BPF programov podp\u00edsan\u00fdch d\u00f4veryhodn\u00fdm digit\u00e1lnym k\u013e\u00fa\u010dom;<\/li>\n<li>pridan\u00e1 nov\u00e1 futex oper\u00e1cia FUTEX_LOCK_PI2, ktor\u00e1 pou\u017e\u00edva monot\u00f3nny \u010dasova\u010d na v\u00fdpo\u010det \u010dasov\u00e9ho limitu, ktor\u00fd zoh\u013ead\u0148uje \u010das str\u00e1ven\u00fd syst\u00e9mom v sp\u00e1nku;<\/li>\n<li>pre architekt\u00faru RISC-V bola zaveden\u00e1 podpora ve\u013ek\u00fdch str\u00e1nok pam\u00e4te (Transparent Huge-Pages) a mo\u017enos\u0165 aplik\u00e1cie mechanizmu <a rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=54671\">KFENCE<\/a> na zis\u0165ovanie ch\u00fdb pri pr\u00e1ci s pam\u00e4\u0165ou;<\/li>\n<li>v syst\u00e9movom volan\u00ed madvise(), ktor\u00e9 poskytuje prostriedky na optimaliz\u00e1ciu spr\u00e1vy pam\u00e4te procesu, <a rel=\"nofollow\" href=\"https:\/\/lore.kernel.org\/linux-api\/6c7543e4-23c8-8f2d-dc89-480be13738b3@redhat.com\/T\/\">stavebn\u00e9 bloky pre vetvu dogfood, a do platformy Fuchsia<\/a> Vlajky MADV_POPULATE_READ a MADV_POPULATE_WRITE na generovanie \u201epage fault\u201c vo v\u0161etk\u00fdch str\u00e1nkach pam\u00e4te, ktor\u00e9 s\u00fa zobrazen\u00e9 pre oper\u00e1cie \u010d\u00edtania alebo z\u00e1pisu, bez vykonania skuto\u010dn\u00e9ho \u010d\u00edtania alebo z\u00e1pisu (prefault). Pou\u017eitie vlajok m\u00f4\u017ee by\u0165 u\u017eito\u010dn\u00e9 na zn\u00ed\u017eenie oneskoren\u00ed po\u010das behu programu, v\u010faka proakt\u00edvnemu vykonaniu spracovate\u013ea \u201epage fault\u201c naraz pre v\u0161etky nealokovan\u00e9 str\u00e1nky, ani\u017e by \u010dakali na skuto\u010dn\u00e9 pr\u00edstupy k nim;<\/li>\n<li>v syst\u00e9me unit-testovania <a rel=\"nofollow\" href=\"https:\/\/www.kernel.org\/doc\/html\/latest\/dev-tools\/kunit\/index.html\">kunit<\/a> <a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=12ca7a893d54\">bola pridan\u00e1<\/a> podpora sp\u00fa\u0161\u0165ania testov v prostred\u00ed QEMU;<\/li>\n<li>pridan\u00e9 nov\u00e9 trasova\u010de: \u201e<a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/linus\/bce29ac9ce0b\">osnoise<\/a>\u201d na sledovanie oneskoren\u00ed v aplik\u00e1ci\u00e1ch sp\u00f4soben\u00fdch spracovan\u00edm preru\u0161enia a \u201etimerlat\u201c na zobrazenie podrobn\u00fdch inform\u00e1ci\u00ed o oneskoreniach pri preb\u00fadzan\u00ed sign\u00e1lom \u010dasova\u010da;<\/li>\n<\/ul>\n<\/li>\n<li>virtualiz\u00e1cia a bezpe\u010dnos\u0165:\n<ul>\n<li><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=1507f51255c9\">bol pridan\u00fd<\/a> syst\u00e9mov\u00fd hovor <a rel=\"nofollow\" href=\"https:\/\/lwn.net\/Articles\/835342\/\">memfd_secret()<\/a>, umo\u017e\u0148uj\u00faca vytvori\u0165 s\u00fakromn\u00fa oblas\u0165 pam\u00e4te v izolovanom adresnom priestore, vidite\u013en\u00fa iba pre vlastn\u00edka procesu, neodr\u00e1\u017eaj\u00facu sa v in\u00fdch procesoch a priamo nedostupn\u00fa pre jadro;<\/li>\n<li>v syst\u00e9me filtrovania syst\u00e9mov\u00fdch volan\u00ed seccomp pri pres\u00favan\u00ed obsluhova\u010dov blokovania do priestoru pou\u017e\u00edvate\u013ea bola poskytnut\u00e1 mo\u017enos\u0165 pou\u017e\u00edvania jednej atomickej oper\u00e1cie na vytvorenie s\u00faborov\u00e9ho deskriptoru pre izolovan\u00fa \u00falohu a jeho vr\u00e1tenie pri spracovan\u00ed syst\u00e9mov\u00e9ho volania. Navrhovan\u00e1 oper\u00e1cia rie\u0161i <a rel=\"nofollow\" href=\"https:\/\/lwn.net\/Articles\/851813\/\">probl\u00e9m<\/a> so preru\u0161en\u00edm obsluhova\u010da v priestore pou\u017e\u00edvate\u013ea pri prijat\u00ed sign\u00e1lu;<\/li>\n<li>bol pridan\u00fd <a rel=\"nofollow\" href=\"https:\/\/patchwork.kernel.org\/project\/kernel-hardening\/cover\/cover.1616533074.git.gladkov.alexey@gmail.com\/\">nov\u00fd mechanizmus<\/a> na spr\u00e1vu obmedzen\u00ed zdrojov v priestore identifik\u00e1torov pou\u017e\u00edvate\u013eov, ktor\u00fd via\u017ee jednotliv\u00e9 po\u010d\u00edtadl\u00e1 rlimit na pou\u017e\u00edvate\u013ea v \u201euser namespace\u201c. Zmena rie\u0161i probl\u00e9m pou\u017eit\u00ed spolo\u010dn\u00fdch po\u010d\u00edtadiel zdrojov pri sp\u00fa\u0161\u0165an\u00ed jedn\u00fdm pou\u017e\u00edvate\u013eom procesov v r\u00f4znych kontajneroch;<\/li>\n<li>v hyperv\u00edzore KVM pre syst\u00e9my ARM64 bola pridan\u00e1 mo\u017enos\u0165 pou\u017e\u00edvania v hos\u0165uj\u00facich syst\u00e9moch roz\u0161\u00edrenia MTE (MemTag, Memory Tagging Extension), ktor\u00e9 umo\u017e\u0148uje viazanie \u0161t\u00edtkov na ka\u017ed\u00fa oper\u00e1ciu pridelenia pam\u00e4te a organizovanie kontroly spr\u00e1vneho pou\u017e\u00edvania ukazovate\u013eov na zablokovanie zneu\u017e\u00edvania zranite\u013enost\u00ed sp\u00f4soben\u00fdch pr\u00edstupom k u\u017e uvo\u013enen\u00fdm blokom pam\u00e4te, prete\u010den\u00edm vyrovn\u00e1vacej pam\u00e4te, pr\u00edstupom pred inicializ\u00e1ciou a pou\u017eit\u00edm mimo aktu\u00e1lneho kontextu;<\/li>\n<li>prostriedky poskytovan\u00e9 platformou ARM64 na autentifik\u00e1ciu ukazovate\u013eov (Pointer Authentication) teraz m\u00f4\u017eu by\u0165 osobitne nastaven\u00e9 pre jadro a priestor pou\u017e\u00edvate\u013ea. Technol\u00f3gia umo\u017e\u0148uje vyu\u017e\u00edva\u0165 \u0161pecializovan\u00e9 in\u0161trukcie ARM64 na kontrolu adries n\u00e1vratu pomocou digit\u00e1lnych podpisov, ktor\u00e9 s\u00fa ulo\u017een\u00e9 v nepou\u017e\u00edvan\u00fdch horn\u00fdch bitoch samotn\u00e9ho ukazovate\u013ea;<\/li>\n<li>v User-mode Linux <a rel=\"nofollow\" href=\"https:\/\/patchwork.ozlabs.org\/project\/linux-um\/patch\/20210305123552.a89b33363589.I21b27d26611ebecd8c918e20728e37b184d817bb@changeid\/\">bola pridan\u00e1<\/a> podpora pou\u017e\u00edvania ovl\u00e1da\u010dov k PCI zariadeniam s virtu\u00e1lnou zbernicou PCI, realizovanou ovl\u00e1da\u010dom PCI-over-virtio;<\/li>\n<li>pre syst\u00e9m x86 bola pridan\u00e1 podpora paravirtualizovan\u00e9ho zariadenia virtio-iommu, ktor\u00e9 umo\u017e\u0148uje posiela\u0165 IOMMU po\u017eiadavky, ako ATTACH, DETACH, MAP a UNMAP, nad transportom virtio bez emul\u00e1cie str\u00e1nkovac\u00edch tabuliek pam\u00e4te;<\/li>\n<li>pre CPU Intel, po\u010dn\u00fac rodinou Skylake a\u017e po Coffee Lake, je predvolene deaktivovan\u00e9 pou\u017e\u00edvanie roz\u0161\u00edren\u00ed Intel TSX (Transactional Synchronization Extensions), ktor\u00e9 poskytuj\u00fa prostriedky na zlep\u0161enie v\u00fdkonu viac-vl\u00e1knov\u00fdch aplik\u00e1ci\u00ed prostredn\u00edctvom dynamick\u00e9ho vyl\u00fa\u010denia nadbyto\u010dn\u00fdch synchroniza\u010dn\u00fdch oper\u00e1ci\u00ed. Roz\u0161\u00edrenia s\u00fa deaktivovan\u00e9 kv\u00f4li mo\u017enosti \u00fatokov <a rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=51852\">Zombieload<\/a>, manipuluj\u00facich s \u00fanikom inform\u00e1ci\u00ed cez bo\u010dn\u00e9 kan\u00e1ly, ktor\u00fd vznik\u00e1 pri pr\u00e1ci mechanizmu asynchr\u00f3nneho preru\u0161enia oper\u00e1ci\u00ed (TAA, TSX Asynchronous Abort);<\/li>\n<\/ul>\n<\/li>\n<li>sie\u0165ov\u00fd subsyst\u00e9m:\n<ul>\n<li>pokra\u010duje integr\u00e1cia do jadra MPTCP (MultiPath TCP), roz\u0161\u00edrenia protokolu TCP pre organiz\u00e1ciu TCP spojenia s doru\u010dovan\u00edm paketov s\u00fa\u010dasne cez viacero tr\u00e1s prostredn\u00edctvom r\u00f4znych sie\u0165ov\u00fdch rozhran\u00ed priraden\u00fdch k r\u00f4znym IP adres\u00e1m. V novej verzii <a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=22ba9d0d6c0d\">bol pridan\u00fd<\/a> mechanizmus na nastavenie vlastn\u00fdch polit\u00edk hashovania prenosu pre IPv4 a IPv6 (multipath hash policy), ktor\u00fd umo\u017e\u0148uje z u\u017e\u00edvate\u013esk\u00e9ho priestoru ur\u010di\u0165, ktor\u00e9 z pol\u00ed v paketocha, vr\u00e1tane zabalenej, bud\u00fa pou\u017eit\u00e9 pri v\u00fdpo\u010dte hashu ur\u010duj\u00faceho v\u00fdber cesty pre paket;<\/li>\n<li>do virtu\u00e1lneho transportu virtio bola pridan\u00e1 podpora soketov <a rel=\"nofollow\" href=\"https:\/\/man7.org\/linux\/man-pages\/man2\/socket.2.html\">SOCK_SEQPACKET<\/a> (usporiadan\u00fd a spo\u013eahliv\u00fd prenos datagramov);<\/li>\n<li>roz\u0161\u00edren\u00e9 mo\u017enosti mechanizmu soketov SO_REUSEPORT, ktor\u00fd umo\u017e\u0148uje viacer\u00fdm po\u010d\u00favaj\u00facim soketom pripoji\u0165 sa k jedn\u00e9mu portu na prij\u00edmanie spojen\u00ed s rozdelen\u00edm prich\u00e1dzaj\u00facich po\u017eiadaviek s\u00fa\u010dasne medzi v\u0161etky pripojen\u00e9 sokety cez SO_REUSEPORT, \u010do u\u013eah\u010duje vytv\u00e1ranie viac-vl\u00e1knov\u00fdch serverov\u00fdch aplik\u00e1ci\u00ed. V novej verzii <a rel=\"nofollow\" href=\"https:\/\/lwn.net\/Articles\/853637\/\">stavebn\u00e9 bloky pre vetvu dogfood, a do platformy Fuchsia<\/a> prostriedky na odovzd\u00e1vanie riadenia in\u00e9mu soketu v pr\u00edpade zlyhania pri spracovan\u00ed po\u017eiadavky p\u00f4vodne vybran\u00fdm soketom (rie\u0161i probl\u00e9m so stratou jednotliv\u00fdch spojen\u00ed pri re\u0161tarte slu\u017eieb);<\/li>\n<\/ul>\n<\/li>\n<li>hardv\u00e9r:\n<ul>\n<li>v ovl\u00e1da\u010di amdgpu <a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=e058a84bfddc42ba356a2316f2cf1141974625c9\">bola implementovan\u00e1<\/a> podpora nov\u00fdch s\u00e9ri\u00ed GPU AMD Radeon RX 6000, vyv\u00edjan\u00fdch pod k\u00f3dov\u00fdmi menami \u201eBeige Goby\u201c (Navi 24) a \u201eYellow Carp\u201c, ako aj zlep\u0161en\u00e1 podpora GPU Aldebaran (gfx90a) a APU Van Gogh. Pridan\u00e1 mo\u017enos\u0165 s\u00fa\u010dasn\u00e9ho pracovania s viacer\u00fdmi panelmi eDP. Pre APU Renoir bola implementovan\u00e1 podpora pr\u00e1ce s \u0161ifrovan\u00fdmi vyrovn\u00e1vac\u00edmi pam\u00e4\u0165ami vo videopam\u00e4ti (TMZ, Trusted Memory Zone). Pridan\u00e1 podpora hor\u00faceho odpojenia grafick\u00fdch kariet (hot-unplug). Pre GPU Radeon RX 6000 (Navi 2x) a star\u0161ie GPU AMD bola automaticky aktivovan\u00e1 podpora mechanizmu \u00faspory energie ASPM (Active State Power Management), ktor\u00fd bol predt\u00fdm aktivovan\u00fd len pre GPU Navi 1x, Vega a Polaris;<\/li>\n<li>pre \u010dipy AMD bola pridan\u00e1 podpora zdie\u013eanej virtu\u00e1lnej pam\u00e4te (SVM, shared virtual memory) na b\u00e1ze subsyst\u00e9mu HMM (Heterogeneous memory management), ktor\u00fd umo\u017e\u0148uje vyu\u017e\u00edva\u0165 zariadenia s vlastn\u00fdmi blokmi riadenia pam\u00e4te (MMU, memory management unit), ktor\u00e9 m\u00f4\u017eu z\u00edskava\u0165 pr\u00edstup k hlavnej pam\u00e4ti. Pomocou HMM mo\u017eno usporiada\u0165 spolo\u010dn\u00fd adresn\u00fd priestor medzi GPU a CPU, v ktorom GPU m\u00f4\u017ee z\u00edska\u0165 pr\u00edstup k hlavnej pam\u00e4ti procesu;<\/li>\n<li>bola pridan\u00e1 z\u00e1kladn\u00e1 podpora technol\u00f3gie <a rel=\"nofollow\" href=\"https:\/\/www.amd.com\/en\/technologies\/smartshift\">AMD Smart Shift<\/a>, dynamicky men\u00ed parametre spotreby energie CPU a GPU na notebookoch s \u010dipsetom a grafickou kartou AMD pre zv\u00fd\u0161enie v\u00fdkonu pri hran\u00ed hier, \u00faprave videa a 3D-renderingu;<\/li>\n<li>v ovl\u00e1da\u010di i915 pre grafick\u00e9 karty Intel <a rel=\"nofollow\" href=\"https:\/\/lists.freedesktop.org\/archives\/intel-gfx\/2021-May\/266616.html\">je zahrnut\u00e1<\/a> podpora \u010dipov Intel Alderlake P;<\/li>\n<li>bol pridan\u00fd ovl\u00e1da\u010d drm\/hyperv pre virtu\u00e1lny grafick\u00fd adapt\u00e9r Hyper-V;<\/li>\n<li><a rel=\"nofollow\" href=\"https:\/\/patchwork.kernel.org\/project\/dri-devel\/cover\/20210416090048.11492-1-tzimmermann@suse.de\/\">bol pridan\u00fd<\/a> grafick\u00fd ovl\u00e1da\u010d simpledrm, ktor\u00fd pou\u017e\u00edva na v\u00fdstup r\u00e1mcov\u00fa vyrovn\u00e1vaciu pam\u00e4\u0165 EFI-GOP alebo VESA, poskytovan\u00fa UEFI firmware alebo BIOS. Hlavn\u00fdm ur\u010den\u00edm ovl\u00e1da\u010da je poskytn\u00fa\u0165 mo\u017enos\u0165 grafick\u00e9ho v\u00fdstupu v po\u010diato\u010dn\u00fdch f\u00e1zach na\u010d\u00edtania, predt\u00fdm ne\u017e sa stane mo\u017en\u00e9 pou\u017e\u00edva\u0165 plnohodnotn\u00fd DRM ovl\u00e1da\u010d. Ovl\u00e1da\u010d m\u00f4\u017ee by\u0165 tie\u017e pou\u017eit\u00fd ako do\u010dasn\u00e9 rie\u0161enie pre zariadenia, pre ktor\u00e9 zatia\u013e ch\u00fdbaj\u00fa nat\u00edvne DRM ovl\u00e1da\u010de;<\/li>\n<li><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/soc\/soc.git\/commit\/?h=for-next&amp;id=1c701accecf21932ebcbd8acacb4557af3797e77\">bola pridan\u00e1<\/a> podpora po\u010d\u00edta\u010da s jedn\u00fdm blokom <a rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=54015\">Raspberry Pi 400<\/a>;<\/li>\n<li>bol pridan\u00fd ovl\u00e1da\u010d dell-wmi-privacy na podporu hardv\u00e9rov\u00fdch vyp\u00edna\u010dov kamery a mikrof\u00f3nu dod\u00e1van\u00fdch v notebookoch Dell;<\/li>\n<li>pre notebooky Lenovo <a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/pdx86\/platform-drivers-x86.git\/commit\/?h=review-hans&amp;id=a40cd7ef22fbb11229cf982920f4ec96c1f49282\">bol pridan\u00fd<\/a> WMI rozhranie na zmenu nastaven\u00ed BIOSu cez sysfs \/sys\/class\/firmware-attributes\/;<\/li>\n<li><a rel=\"nofollow\" href=\"https:\/\/lore.kernel.org\/lkml\/YOM9yTZZsEicMW3f@kroah.com\/\">roz\u0161\u00edren\u00e1<\/a> podpora zariaden\u00ed s rozhran\u00edm USB4;<\/li>\n<li><a rel=\"nofollow\" href=\"https:\/\/lore.kernel.org\/lkml\/s5hbl7li0fe.wl-tiwai@suse.de\/\">bola pridan\u00e1<\/a> podpora zvukov\u00fdch kariet a kodekov AmLogic SM1 TOACODEC, Intel AlderLake-M, NXP i.MX8, NXP TFA1, TDF9897, Rockchip RK817, Qualcomm Quinary MI2 a Texas Instruments TAS2505. Vylep\u0161en\u00e1 podpora zvuku na prenosn\u00fdch po\u010d\u00edta\u010doch HP a ASUS. <a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/tiwai\/sound.git\/commit\/?h=for-next&amp;id=9ce650a75a3b262c90789b42aedee8fc2ee04d53\">Boli pridan\u00e9<\/a> z\u00e1platy na zn\u00ed\u017eenie oneskorenia pred za\u010diatkom prehr\u00e1vania zvuku na zariadeniach s rozhran\u00edm USB.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>Zdroje \u2013 opennet.ru.<\/p>\n<p>Zdroj: <a \ncontent=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.linux.org.ru\/news\/linux-general\/16502291\">linux.org.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 \u0432\u044b\u043f\u0443\u0441\u043a \u044f\u0434\u0440\u0430 Linux 5.14. \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: \u043d\u043e\u0432\u044b\u0435 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0435 \u0432\u044b\u0437\u043e\u0432\u044b quotactl_fd() \u0438 memfd_secret(), \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u0435 \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u043e\u0432 ide \u0438 raw, \u043d\u043e\u0432\u044b\u0439 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440 \u043f\u0440\u0438\u043e\u0440\u0438\u0442\u0435\u0442\u043e\u0432 \u0432\u0432\u043e\u0434\u0430\/\u0432\u044b\u0432\u043e\u0434\u0430 \u0434\u043b\u044f cgroup, \u0440\u0435\u0436\u0438\u043c \u043f\u043b\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0437\u0430\u0434\u0430\u0447 SCHED_CORE, \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0437\u0430\u0433\u0440\u0443\u0437\u0447\u0438\u043a\u043e\u0432 \u0432\u0435\u0440\u0438\u0444\u0438\u0446\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0445 BPF-\u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c. \u0412 \u043d\u043e\u0432\u0443\u044e \u0432\u0435\u0440\u0441\u0438\u044e \u043f\u0440\u0438\u043d\u044f\u0442\u043e 15883 \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0439 \u043e\u0442 2002 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432, \u0440\u0430\u0437\u043c\u0435\u0440 \u043f\u0430\u0442\u0447\u0430 &#8212; 69 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":101214,"comment_status":"","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-101213","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.4 - aioseo.com -->\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\/sk\/blog\/news\/yadro-linux-5-14\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.4\" \/>\n\t\t<meta property=\"og:locale\" content=\"sk_SK\" \/>\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\u042f\u0434\u0440\u043e Linux 5.14 | ProHoster\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/sk\/blog\/news\/yadro-linux-5-14\" \/>\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-09-07T14:23:45+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2021-09-07T14:23:45+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\udd47Jadro Linux 5.14 | ProHoster","description":"","canonical_url":"https:\/\/prohoster.info\/sk\/blog\/news\/yadro-linux-5-14","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"sk_SK","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\u042f\u0434\u0440\u043e Linux 5.14 | ProHoster","og:url":"https:\/\/prohoster.info\/sk\/blog\/news\/yadro-linux-5-14","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-09-07T14:23:45+00:00","article:modified_time":"2021-09-07T14:23:45+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"101213","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-09-07 14:59:23","updated":"2022-10-03 17:14:49","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/posts\/101213","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/comments?post=101213"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/posts\/101213\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/media\/101214"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/media?parent=101213"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/categories?post=101213"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/tags?post=101213"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}