{"id":33056,"date":"2019-10-31T21:50:30","date_gmt":"2019-10-31T18:50:30","guid":{"rendered":"https:\/\/prohoster.info\/blog\/reliz-yadra-linux-5-1\/"},"modified":"2019-10-31T21:50:30","modified_gmt":"2019-10-31T18:50:30","slug":"reliz-yadra-linux-5-1","status":"publish","type":"post","link":"https:\/\/prohoster.info\/cs\/blog\/news\/reliz-yadra-linux-5-1","title":{"rendered":"Vyd\u00e1n\u00ed j\u00e1dra Linux 5.1","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Po dvou m\u011bs\u00edc\u00edch v\u00fdvoje Linus Torvalds <noindex><a rel=\"nofollow\" href=\"https:\/\/lkml.org\/lkml\/2019\/5\/5\/278\">p\u0159edstavil<\/a><\/noindex> j\u00e1drn\u00fd release <noindex><a rel=\"nofollow\" href=\"https:\/\/www.kernel.org\">Linux 5.1<\/a><\/noindex>. Mezi nejv\u00fdznamn\u011bj\u0161\u00ed zm\u011bny pat\u0159\u00ed: nov\u00e9 rozhran\u00ed pro \u0430\u0441ynchronn\u00ed vstup\/v\u00fdstup io_uring, mo\u017enost vyu\u017e\u00edv\u00e1n\u00ed NVDIMM jako RAM, podpora ve Nouveau sd\u00edlen\u00e9 virtu\u00e1ln\u00ed pam\u011bti, podpora \u0161k\u00e1lovateln\u00e9ho monitorov\u00e1n\u00ed velmi velk\u00fdch souborov\u00fdch syst\u00e9m\u016f prost\u0159ednictv\u00edm fanotify, mo\u017enost nastaven\u00ed \u00farovn\u00ed komprese Zstd v Btrfs, nov\u00fd ovlada\u010d cpuidle TEO, implementace syst\u00e9mov\u00fdch vol\u00e1n\u00ed pro \u0159e\u0161en\u00ed probl\u00e9mu roku 2038, mo\u017enost spou\u0161t\u011bn\u00ed z za\u0159\u00edzen\u00ed device-mapper bez initramfs, LSM modul SafeSetID, podpora kombinovan\u00fdch live patch\u016f.<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/kernelnewbies.org\/Linux_5.1\">Hlavn\u00ed<\/a><\/noindex> <noindex><a rel=\"nofollow\" href=\"https:\/\/lwn.net\/Articles\/783084\">novinky<\/a><\/noindex>: <\/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\"> Byl implementov\u00e1n nov\u00fd rozhran\u00ed pro asynchronn\u00ed vstup\/v\u00fdstup \u2014 <noindex><a rel=\"nofollow\" href=\"http:\/\/kernel.dk\/io_uring.pdf\">io_uring<\/a><\/noindex>, kter\u00e9 je zaj\u00edmav\u00e9 podporou pollingov\u00e9ho vstupu\/v\u00fdstupu a mo\u017enost\u00ed pr\u00e1ce jak s bufferingem, tak bez n\u011bj. P\u0159ipome\u0148me, \u017ee d\u0159\u00edve nab\u00edzen\u00fd mechanismus asynchronn\u00edho vstupu\/v\u00fdstupu \u201eaio\u201c nepodporoval buffered I\/O, mohl fungovat pouze v re\u017eimu O_DIRECT (bez bufferingu a mimo cache), m\u011bl probl\u00e9my s blokov\u00e1n\u00edm kv\u016fli \u010dek\u00e1n\u00ed na dostupnost metadat a vykazoval vysok\u00e9 n\u00e1klady v d\u016fsledku kop\u00edrov\u00e1n\u00ed dat v pam\u011bti.\n<p>V r\u00e1mci API<br \/>\nio_uring se v\u00fdvoj\u00e1\u0159i sna\u017eili odstranit nedostatky star\u00e9ho rozhran\u00ed aio. Podle <noindex><a rel=\"nofollow\" href=\"https:\/\/lore.kernel.org\/linux-block\/20190116175003.17880-1-axboe@kernel.dk\/\">v\u00fdkonu<\/a><\/noindex> io_uring je velmi bl\u00edzk\u00e9 <noindex><a rel=\"nofollow\" href=\"https:\/\/spdk.io\/\">SPDK<\/a><\/noindex> a v\u00fdrazn\u011b p\u0159ekon\u00e1v\u00e1 libaio p\u0159i pr\u00e1ci s aktivovan\u00fdm pollingem. Pro pou\u017eit\u00ed io_uring v kone\u010dn\u00fdch aplikac\u00edch provozovan\u00fdch v u\u017eivatelsk\u00e9m prostoru byla p\u0159ipravena knihovna <noindex><a rel=\"nofollow\" href=\"http:\/\/git.kernel.dk\/cgit\/liburing\/\">liburing<\/a><\/noindex>, kter\u00e1 poskytuje vysoce\u00farov\u0148ov\u00e9 spojen\u00ed na rozhran\u00ed j\u00e1dra;<\/p>\n<li class=\"l\"> Mechanismus sledov\u00e1n\u00ed ud\u00e1lost\u00ed v souborov\u00e9m syst\u00e9mu fanotify() <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/amir73il\/fsnotify-utils\/wiki\/Super-block-root-watch\">byla p\u0159id\u00e1na<\/a><\/noindex> podporuje sledov\u00e1n\u00ed situac\u00ed zm\u011bny super bloku a struktury <noindex><a rel=\"nofollow\" href=\"https:\/\/ext4.wiki.kernel.org\/index.php\/Ext4_Disk_Layout\">dirent<\/a><\/noindex> (ud\u00e1losti vytv\u00e1\u0159en\u00ed, odstran\u011bn\u00ed a p\u0159esunut\u00ed adres\u00e1\u0159\u016f). Prezentovan\u00e9 mo\u017enosti pom\u00e1haj\u00ed vy\u0159e\u0161it probl\u00e9my se \u0161k\u00e1lovatelnost\u00ed, kter\u00e9 vznikaly p\u0159i vytv\u00e1\u0159en\u00ed rekurzivn\u00edho sledov\u00e1n\u00ed zm\u011bn ve velmi velk\u00fdch souborov\u00fdch syst\u00e9mech pomoc\u00ed mechanismu inotify (zm\u011bny dirent bylo d\u0159\u00edve mo\u017en\u00e9 sledovat pouze prost\u0159ednictv\u00edm inotify, ale<br \/>\nefektivita v podm\u00ednk\u00e1ch rekurzivn\u00edho sledov\u00e1n\u00ed velk\u00fdch vno\u0159en\u00fdch adres\u00e1\u0159\u016f zanech\u00e1vala mnoho p\u0159\u00e1n\u00ed). Nyn\u00ed lze podobn\u00e9 sledov\u00e1n\u00ed efektivn\u011b prov\u00e1d\u011bt prost\u0159ednictv\u00edm fanotify;<\/p>\n<li class=\"l\"> Ve souborov\u00e9m syst\u00e9mu Btrfs <noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=3f93aef535c8ea03e40cd8acf0753b3e6ed33e96\">byla p\u0159id\u00e1na<\/a><\/noindex> mo\u017enost nastaven\u00ed \u00farovn\u011b komprese pro algoritmus zstd, kter\u00fd lze pova\u017eovat za optim\u00e1ln\u00ed kompromis mezi rychl\u00fdm, ale neefektivn\u00edm lz4 a pomal\u00fdm, ale dob\u0159e kompresn\u00edm xz. Podobn\u011b jako d\u0159\u00edve bylo mo\u017en\u00e9 nastavit \u00farove\u0148 komprese p\u0159i pou\u017eit\u00ed zlib pro zstd byla p\u0159id\u00e1na podpora pro mo\u017enost montov\u00e1n\u00ed \u201e-o compress=zstd:level\u201c. P\u0159i testov\u00e1n\u00ed minim\u00e1ln\u00ed prvn\u00ed \u00farove\u0148 zajistila kompresi dat 2.658x p\u0159i rychlosti komprese 438.47 MB\/s, rychlosti dekomprese 910.51 MB\/s a spot\u0159eb\u011b pam\u011bti 780 MB, zat\u00edmco maxim\u00e1ln\u00ed \u00farove\u0148 15 \u2014 3.126x, ale p\u0159i rychlosti komprese 37.30 MB\/s, dekomprese 878.84 MB\/s a spot\u0159eb\u011b pam\u011bti 2547 MB;\n<li class=\"l\"> <noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/plain\/Documentation\/device-mapper\/dm-init.txt?id=6bbc923dfcf57d6b97388819a7393835664c7a8e\">Byla p\u0159id\u00e1na<\/a><\/noindex> mo\u017enost zav\u00e1d\u011bn\u00ed ze souborov\u00e9ho syst\u00e9mu um\u00edst\u011bn\u00e9ho na za\u0159\u00edzen\u00ed device-mapper, bez pou\u017eit\u00ed initramfs. Od aktu\u00e1ln\u00ed verze j\u00e1dra m\u016f\u017ee b\u00fdt za\u0159\u00edzen\u00ed device-mapper pou\u017eito p\u0159\u00edmo b\u011bhem zav\u00e1d\u011bn\u00ed, nap\u0159\u00edklad jako odd\u00edl s ko\u0159enov\u00fdm FS. Nastaven\u00ed odd\u00edlu se prov\u00e1d\u00ed pomoc\u00ed zav\u00e1d\u011bc\u00edho parametru \u201edm-mod.create\u201c. Mezi povolen\u00e9 moduly pro zav\u00e1d\u011bn\u00ed device-mapper pat\u0159\u00ed: \u201ecrypt\u201c, \u201edelay\u201c, \u201elinear\u201c, \u201esnapshot-origin\u201c a \u201everity\u201c;\n<li class=\"l\"> Do flash-disku orientovan\u00e9ho souborov\u00e9ho syst\u00e9mu F2FS byl p\u0159id\u00e1n vlajkov\u00fd F2FS_NOCOW_FL, kter\u00fd umo\u017e\u0148uje vypnout re\u017eim copy-on-write pro dan\u00fd soubor;\n<li class=\"l\"> Ze smy\u010dky byla odstran\u011bna souborov\u00e1 struktura <noindex><a rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=22084\">Exofs<\/a><\/noindex>, co\u017e je varianta ext2, p\u0159izp\u016fsoben\u00e1 pro pr\u00e1ci se storage za\u0159\u00edzen\u00edmi OSD (Object-based Storage Device). Tak\u00e9 byla odstran\u011bna podpora protokolu SCSI pro takov\u00e1 storage za\u0159\u00edzen\u00ed;\n<\/ul>\n<li class=\"l\"> <b>Virtualizace a bezpe\u010dnost<\/b>\n<ul>\n<li class=\"l\"> Do prctl() byla p\u0159id\u00e1na volba PR_SPEC_DISABLE_NOEXEC pro spr\u00e1vu spekulativn\u00edho prov\u00e1d\u011bn\u00ed p\u0159\u00edkaz\u016f pro vybran\u00fd proces. Nov\u00e1 volba umo\u017e\u0148uje selektivn\u011b zak\u00e1zat spekulativn\u00ed vykon\u00e1v\u00e1n\u00ed pro procesy, kter\u00e9 mohou b\u00fdt potenci\u00e1ln\u011b napadnuty metodou typu Spectre. Zablokov\u00e1n\u00ed plat\u00ed do prvn\u00edho vol\u00e1n\u00ed exec();\n<li class=\"l\"> Byl implementov\u00e1n LSM modul <noindex><a rel=\"nofollow\" href=\"https:\/\/www.kernel.org\/doc\/html\/latest\/admin-guide\/LSM\/SafeSetID.html\">SafeSetID<\/a><\/noindex>, kter\u00fd umo\u017e\u0148uje syst\u00e9mov\u00fdm slu\u017eb\u00e1m bezpe\u010dn\u011b spravovat u\u017eivatele bez zvy\u0161ov\u00e1n\u00ed opr\u00e1vn\u011bn\u00ed (CAP_SETUID) a bez z\u00edsk\u00e1n\u00ed pravomoc\u00ed u\u017eivatele root. P\u0159id\u011blen\u00ed opr\u00e1vn\u011bn\u00ed se prov\u00e1d\u00ed prost\u0159ednictv\u00edm definice v securityfs pravidel na z\u00e1klad\u011b b\u00edl\u00e9ho seznamu povolen\u00fdch vazeb (ve form\u00e1tu \u201eUID1:UID2\u201c);\n<li class=\"l\"> Byly p\u0159id\u00e1ny n\u00edzko\u00farov\u0148ov\u00e9 zm\u011bny nezbytn\u00e9 pro stohovou organizaci nab\u00edjen\u00ed bezpe\u010dnostn\u00edch modul\u016f (LSM). P\u0159edstaven byl zav\u00e1d\u011bc\u00ed parametr j\u00e1dra \u201elsm\u201c, kter\u00fd umo\u017e\u0148uje \u0159\u00eddit, kter\u00e9 moduly se na\u010d\u00edtaj\u00ed a v jak\u00e9m po\u0159ad\u00ed;\n<li class=\"l\"> Do subsyst\u00e9mu auditu byla p\u0159id\u00e1na podpora prostor\u016f n\u00e1zv\u016f soubor\u016f;\n<li class=\"l\"> <noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/linus\/81a56f6dcd20\">Byly roz\u0161\u00ed\u0159eny<\/a><\/noindex> mo\u017enosti GCC pluginu structleak, kter\u00fd umo\u017e\u0148uje blokovat potenci\u00e1ln\u00ed \u00faniky obsahu pam\u011bti. Byla zaji\u0161t\u011bna inicializace jak\u00fdchkoli prom\u011bnn\u00fdch, kter\u00e9 se pou\u017e\u00edvaj\u00ed v k\u00f3du prost\u0159ednictv\u00edm odkaz\u016f na z\u00e1sobn\u00edk;\n<\/ul>\n<li class=\"l\"> <b>S\u00ed\u0165ov\u00e1 subsyst\u00e9m<\/b>\n<ul>\n<li class=\"l\"> Pro sokety <noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/linus\/f5dd3d0c9638\">byla implementov\u00e1na<\/a><\/noindex> nov\u00e1 mo\u017enost \u201eSO_BINDTOIFINDEX\u201c, podobn\u00e1<br \/>\n\u201eSO_BINDTODEVICE\u201c, ale p\u0159ij\u00edm\u00e1 jako argument \u010d\u00edslo rozhran\u00ed nam\u00edsto n\u00e1zvu rozhran\u00ed;<\/p>\n<li class=\"l\"> Do z\u00e1sobn\u00edku mac80211 byla p\u0159id\u00e1na mo\u017enost p\u0159i\u0159adit jednomu za\u0159\u00edzen\u00ed v\u00edce BSSID (MAC adres). V r\u00e1mci projektu na optimalizaci v\u00fdkonu WiFi byla do z\u00e1sobn\u00edku mac80211 p\u0159id\u00e1na mo\u017enost zohledn\u011bn\u00ed rozd\u011blen\u00ed \u010dasov\u00e9ho prostoru a mo\u017enost rozd\u011blovat \u010dasov\u00fd prostor mezi v\u00edce stanicemi (p\u0159i provozu v re\u017eimu p\u0159\u00edstupov\u00e9ho bodu je vyhrazeno m\u00e9n\u011b \u010dasu pro p\u0159enos pomal\u00fdm bezdr\u00e1tov\u00fdm stanic\u00edm m\u00edsto rovnom\u011brn\u00e9ho rozd\u011blov\u00e1n\u00ed \u010dasu mezi v\u0161emi stanicemi);\n<li class=\"l\"> Byl p\u0159id\u00e1n mechanismus \u201e<noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=db2ab7a08f06\">devlink health<\/a><\/noindex>\u201e, kter\u00fd poskytuje upozorn\u011bn\u00ed p\u0159i probl\u00e9mech se s\u00ed\u0165ov\u00fdm rozhran\u00edm;\n<\/ul>\n<li class=\"l\"> <b>Pam\u011b\u0165 a syst\u00e9mov\u00e9 slu\u017eby<\/b>\n<ul>\n<li class=\"l\"> <noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/torvalds\/c\/a9dce6679d736cb3d612af39bab9f31f8db66f9b\">Byla implementov\u00e1na<\/a><\/noindex> bezpe\u010dn\u00e9 dod\u00e1v\u00e1n\u00ed sign\u00e1l\u016f, zohled\u0148uj\u00edc\u00ed mo\u017enost op\u011btovn\u00e9ho pou\u017eit\u00ed PID. Nap\u0159\u00edklad p\u0159i prov\u00e1d\u011bn\u00ed vol\u00e1n\u00ed kill mohla d\u0159\u00edve nastat situace, kdy ihned po odesl\u00e1n\u00ed sign\u00e1lu mohl b\u00fdt c\u00edlov\u00fd PID uvoln\u011bn kv\u016fli ukon\u010den\u00ed procesu a obsazen jin\u00fdm procesem, a t\u00edm p\u00e1dem byl sign\u00e1l odesl\u00e1n jin\u00e9mu procesu. Aby se t\u011bmto situac\u00edm zabr\u00e1nilo, byla p\u0159id\u00e1na nov\u00e1 syst\u00e9mov\u00e1 volba pidfd_send_signal, kter\u00e1 pou\u017e\u00edv\u00e1 souborov\u00e9 popisova\u010de z \/proc\/pid pro zaji\u0161t\u011bn\u00ed stabiln\u00edho p\u0159i\u0159azen\u00ed k procesu. I kdy\u017e bude PID znovu pou\u017eit b\u011bhem zpracov\u00e1n\u00ed syst\u00e9mov\u00e9ho vol\u00e1n\u00ed, souborov\u00fd popisova\u010d se nezm\u011bn\u00ed a lze ho bezpe\u010dn\u011b pou\u017e\u00edt k odesl\u00e1n\u00ed sign\u00e1lu procesu;\n<li class=\"l\"> <noindex><a rel=\"nofollow\" href=\"https:\/\/lwn.net\/Articles\/777212\/\">Byla p\u0159id\u00e1na<\/a><\/noindex> mo\u017enost vyu\u017eit\u00ed za\u0159\u00edzen\u00ed st\u00e1l\u00e9 pam\u011bti (persistent-memory, nap\u0159\u00edklad <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/NVDIMM\">NVDIMM.<\/a><\/noindex>) jako RAM. Dosud byla podobn\u00e1 za\u0159\u00edzen\u00ed v j\u00e1d\u0159e podporov\u00e1na jako \u00falo\u017en\u00e1 za\u0159\u00edzen\u00ed, ale nyn\u00ed je lze tak\u00e9 pou\u017e\u00edt jako dodate\u010dnou opera\u010dn\u00ed pam\u011b\u0165. Tato mo\u017enost byla realizov\u00e1na na z\u00e1klad\u011b p\u0159\u00e1n\u00ed u\u017eivatel\u016f, kte\u0159\u00ed jsou ochotni sm\u00ed\u0159it se s poklesem v\u00fdkonu a p\u0159ej\u00edt na standardn\u00ed API pro spr\u00e1vu pam\u011bti v j\u00e1dru Linux m\u00edsto pou\u017eit\u00ed st\u00e1vaj\u00edc\u00edch syst\u00e9m\u016f distribuce pam\u011bti v u\u017eivatelsk\u00e9m prostoru, kter\u00e9 funguj\u00ed nad mmap pro dax-soubor;\n<li class=\"l\"> Byl p\u0159id\u00e1n nov\u00fd ovlada\u010d pro \u00fasporu energie CPU (cpuidle, rozhoduje, kdy lze CPU p\u0159epnout do hlubok\u00fdch re\u017eim\u016f \u00faspory energie, \u010d\u00edm hlub\u0161\u00ed re\u017eim \u2014 t\u00edm v\u011bt\u0161\u00ed \u00faspora, ale tak\u00e9 del\u0161\u00ed \u010das pot\u0159ebn\u00fd pro n\u00e1vrat z re\u017eimu) \u2014 TEO (Timer Events Oriented Governor). Dosud byly navr\u017eeny dva ovlada\u010de cpuidle \u2014 \u201emenu\u201c a \u201eladder\u201c, li\u0161\u00edc\u00ed se heuristikou. Ovlada\u010d \u201emenu\u201c m\u00e1 zn\u00e1m\u00e9 probl\u00e9my s rozhodov\u00e1n\u00edm na z\u00e1klad\u011b heuristik, a aby se jim vyhov\u011blo, bylo rozhodnuto p\u0159ipravit nov\u00fd ovlada\u010d. TEO se prezentuje jako alternativa k ovlada\u010di \u201emenu\u201c, kter\u00e1 umo\u017e\u0148uje dos\u00e1hnout vy\u0161\u0161\u00edho v\u00fdkonu p\u0159i zachov\u00e1n\u00ed stejn\u00e9 \u00farovn\u011b spot\u0159eby energie.<br \/>\nNov\u00fd ovlada\u010d lze aktivovat pomoc\u00ed zav\u00e1d\u011bc\u00edho parametru \u201ecpuidle.governor=teo\u201c;<\/p>\n<li class=\"l\"> V r\u00e1mci pr\u00e1ce na odstran\u011bn\u00ed <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/%D0%9F%D1%80%D0%BE%D0%B1%D0%BB%D0%B5%D0%BC%D0%B0_2038_%D0%B3%D0%BE%D0%B4%D0%B0\">probl\u00e9mu roku 2038.<\/a><\/noindex>, zp\u016fsoben\u00e9 p\u0159ekro\u010den\u00edm 32bitov\u00e9ho typu time_t, byly do syst\u00e9mu za\u0159azeny syst\u00e9mov\u00e9 vol\u00e1n\u00ed, kter\u00e1 nab\u00edzej\u00ed pro 32bitov\u00e9 architektury 64bitov\u00e9 \u010dasov\u00e9 \u010d\u00edta\u010de. V d\u016fsledku toho lze nyn\u00ed 64bitovou strukturu time_t pou\u017e\u00edvat na v\u0161ech architektur\u00e1ch. Podobn\u00e9 zm\u011bny byly tak\u00e9 realizov\u00e1ny v s\u00ed\u0165ov\u00e9m subsyst\u00e9mu pro mo\u017enosti <noindex><a rel=\"nofollow\" href=\"https:\/\/www.kernel.org\/doc\/Documentation\/networking\/timestamping.txt\">timestamp<\/a><\/noindex>  s\u00ed\u0165ov\u00fdch soket\u016f;\n<li class=\"l\"> Do syst\u00e9mu bylo p\u0159id\u00e1no hork\u00e9 patchov\u00e1n\u00ed j\u00e1dra (live patching). <noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/tree\/Documentation\/livepatch\/cumulative-patches.txt?id=c4e6874f2a2965e932f4a5cf2631bc6024e55021\">byla p\u0159id\u00e1na<\/a><\/noindex> mo\u017enost \u201eAtomic Replace\u201c pro atomick\u00e9 pou\u017eit\u00ed s\u00e9rie zm\u011bn na jednu funkci. Tato mo\u017enost umo\u017e\u0148uje \u0161\u00ed\u0159it sb\u011brn\u00e9 patche zahrnuj\u00edc\u00ed n\u011bkolik zm\u011bn najednou, m\u00edsto dost komplikovan\u00e9ho procesu postupn\u00e9ho nan\u00e1\u0161en\u00ed live-patch\u016f v p\u0159esn\u011b stanoven\u00e9m po\u0159ad\u00ed. D\u0159\u00edve ka\u017ed\u00e1 n\u00e1sleduj\u00edc\u00ed zm\u011bna musela vych\u00e1zet ze stavu funkce po p\u0159edchoz\u00ed zm\u011bn\u011b, nyn\u00ed je v\u0161ak mo\u017en\u00e9 \u0161\u00ed\u0159it n\u011bkolik zm\u011bn sou\u010dasn\u011b, kter\u00e9 se v\u00e1\u017e\u00ed k jednomu v\u00fdchoz\u00edmu stavu (tzn. udr\u017eovatel\u00e9 mohou zachovat jeden sb\u011brn\u00fd patch v\u016f\u010di z\u00e1kladn\u00edmu j\u00e1dru nam\u00edsto \u0159et\u011bzce z\u00e1visl\u00fdch patch\u016f);\n<li class=\"l\"> <noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=eac616557050737a8d6ef6fe0322d0980ff0ffde\">Vyhl\u00e1\u0161ena<\/a><\/noindex> za zastaralou podporu form\u00e1tu spustiteln\u00fdch soubor\u016f a.out a<br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=08300f4402abc0eb3bc9c91b27a529836710d32d\">byl odstran\u011bn<\/a><\/noindex> k\u00f3d pro vytv\u00e1\u0159en\u00ed core soubor\u016f ve form\u00e1tu a.out, kter\u00fd je v opu\u0161t\u011bn\u00e9m stavu. Form\u00e1t a.out se ji\u017e dlouho nepou\u017e\u00edv\u00e1 na syst\u00e9mech s Linuxem a generov\u00e1n\u00ed soubor\u016f a.out ji\u017e dlouho nen\u00ed podporov\u00e1no modern\u00edmi n\u00e1stroji v konfigura\u010dn\u00edch nastaven\u00edch pro Linux ve v\u00fdchoz\u00edm nastaven\u00ed. Krom\u011b toho m\u016f\u017ee b\u00fdt na\u010d\u00edta\u010d pro soubory a.out realizov\u00e1n \u00fapln\u011b v u\u017eivatelsk\u00e9m prostoru;<\/p>\n<li class=\"l\"> Do mechanismu ov\u011b\u0159ov\u00e1n\u00ed program\u016f BPF byla p\u0159id\u00e1na mo\u017enost ur\u010dov\u00e1n\u00ed a odstra\u0148ov\u00e1n\u00ed nepou\u017e\u00edvan\u00e9ho k\u00f3du. Do j\u00e1dra byly tak\u00e9 zahrnuty z\u00e1platy s podporou spinlock pro subsyst\u00e9m BPF, kter\u00e9 poskytuj\u00ed dal\u0161\u00ed mo\u017enosti \u0159\u00edzen\u00ed paraleln\u00edho prov\u00e1d\u011bn\u00ed program\u016f BPF;\n<\/ul>\n<li class=\"l\"> <b>Hardware<\/b>\n<ul>\n<li class=\"l\"> V ovlada\u010di Nouveau <noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=eeaf06ac1a5584e41cf289f8351e446bb131374b\">byla p\u0159id\u00e1na<\/a><\/noindex> podpora heterogenn\u00edho \u0159\u00edzen\u00ed pam\u011bti, kter\u00e1 umo\u017e\u0148uje CPU a GPU p\u0159\u00edstup k synchronizovan\u00fdm sd\u00edlen\u00fdm oblastem pam\u011bti. Syst\u00e9m sd\u00edlen\u00e9 virtu\u00e1ln\u00ed pam\u011bti (SVM, shared virtual memory) je realizov\u00e1n na z\u00e1klad\u011b subsyst\u00e9mu HMM (Heterogeneous memory management), kter\u00fd umo\u017e\u0148uje pou\u017eit\u00ed za\u0159\u00edzen\u00ed s vlastn\u00edmi bloky \u0159\u00edzen\u00ed pam\u011bti (MMU, memory management unit), kter\u00e9 mohou z\u00edskat p\u0159\u00edstup k hlavn\u00ed pam\u011bti. Tak\u00e9 pomoc\u00ed HMM lze uspo\u0159\u00e1dat spole\u010dn\u00fd adresov\u00fd prostor mezi GPU a CPU, ve kter\u00e9m m\u00e1 GPU p\u0159\u00edstup k hlavn\u00ed pam\u011bti procesu. Podpora SVM je zat\u00edm povolena pouze pro GPU rodiny Pascal, a\u010dkoli podpora je zaji\u0161t\u011bna i pro GPU Volta a Turing. Krom\u011b toho, v Nouveau <noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=f180bf12ac061f093abb9247505f661817973cae\">p\u0159id\u00e1n<\/a><\/noindex> nov\u00fd ioctl pro \u0159\u00edzen\u00ed migrace oblast\u00ed pam\u011bti proces\u016f do pam\u011bti GPU;\n<li class=\"l\"> V DRM ovlada\u010di Intel pro GPU Skylake a nov\u011bj\u0161\u00ed (gen9+) <noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=7360c9f6b857e22a48e545f4e99c79630994e932\">bylo zapnuto<\/a><\/noindex> Ve v\u00fdchoz\u00edm nastaven\u00ed je re\u017eim fastboot, kter\u00fd vylu\u010duje zbyte\u010dn\u00e9 zm\u011bny re\u017eim\u016f b\u011bhem spu\u0161t\u011bn\u00ed. <noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=5e0f5a58b167fc2c8352d90c0faa8c0c9ca75c26\">Byly p\u0159id\u00e1ny<\/a><\/noindex> <noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/linus\/03ca3cf8e9aa7549e6c398462af0f68bdd43e7fe\">nov\u00e9<\/a><\/noindex> identifik\u00e1tory za\u0159\u00edzen\u00ed zalo\u017een\u00e9 na mikroarchitektur\u00e1ch Coffelake a Ice Lake. Pro \u010dipy Coffelake <noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=c3b5a8430daadf5b8ec9757d6c81149903cbe99f\">byla p\u0159id\u00e1na<\/a><\/noindex> podpora GVT (<noindex><a rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=41187\">virtualizace GPU<\/a><\/noindex>). Pro virtu\u00e1ln\u00ed GPU <noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=39c68e87bc50a71bcfe93582d9b0673ef30db418\">byla implementov\u00e1na<\/a><\/noindex> podpora VFIO EDID. Pro LCD panely MIPI\/DSI <noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=7b5618f4b834330a052958db934c3dffad4a15c2\">byla p\u0159id\u00e1na<\/a><\/noindex> podpora prvk\u016f ACPI\/PMIC. <noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=a0ff6779c75fe86a66b8c2eb439a40a12139eb02\">Implementov\u00e1no<\/a><\/noindex> nov\u00e9 televizn\u00ed re\u017eimy 1080p30\/50\/60 TV;\n<li class=\"l\"> Do ovlada\u010de amdgpu byla p\u0159id\u00e1na podpora GPU Vega10\/20 BACO. Byly implementov\u00e1ny prost\u0159edky spr\u00e1vy nap\u00e1jen\u00ed pro Vega 10\/20 a tabulky spr\u00e1vy ventil\u00e1toru pro Vega 10. P\u0159id\u00e1ny nov\u00e9 PCI identifik\u00e1tory za\u0159\u00edzen\u00ed pro GPU Picasso. <noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=67dd1a36334ffce82bebeb2d633e152aa436d370\">P\u0159id\u00e1no<\/a><\/noindex> rozhran\u00ed spr\u00e1vy pl\u00e1novan\u00fdch z\u00e1vislost\u00ed pro vylou\u010den\u00ed vz\u00e1jemn\u00e9ho blokov\u00e1n\u00ed;\n<li class=\"l\"> <noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=557c37360eca864eba692be7b7b72ec937b330af\">P\u0159id\u00e1no<\/a><\/noindex> DRM\/KMS ovlada\u010d pro urychlova\u010de obrazov\u00fdch operac\u00ed <noindex><a rel=\"nofollow\" href=\"https:\/\/community.arm.com\/developer\/tools-software\/graphics\/b\/blog\/posts\/mali-d71-and-the-next-generation-display-solution\">ARM Komeda<\/a><\/noindex> (Mali D71);\n<li class=\"l\"> Byla p\u0159id\u00e1na podpora obrazovkov\u00fdch panel\u016f Toppoly TPG110, Sitronix ST7701, PDA 91-00156-A0, LeMaker BL035-RGB-002 3.5 a Kingdisplay kd097d04;\n<li class=\"l\"> Byla p\u0159id\u00e1na podpora zvukov\u00fdch kodek\u016f Rockchip RK3328, Cirrus Logic CS4341 a CS35L36, MediaTek MT6358, Qualcomm WCD9335 a Ingenic JZ4725B, stejn\u011b jako zvukov\u00e1 platforma Mediatek MT8183;\n<li class=\"l\"> Byla p\u0159id\u00e1na podpora NAND \u0159adi\u010d\u016f Flash STMicroelectronics FMC2, Amlogic Meson;\n<li class=\"l\"> Byla p\u0159id\u00e1na podpora akceler\u00e1tor\u016f pro syst\u00e9my strojov\u00e9ho u\u010den\u00ed Habana AI;\n<li class=\"l\"> Byla p\u0159id\u00e1na podpora gigabitov\u00fdch Ethernet \u0159adi\u010d\u016f NXP ENETC a bezdr\u00e1tov\u00fdch rozhran\u00ed MediaTek MT7603E (PCIe) a MT76x8.\n<\/ul>\n<\/ul>\n<p>Z\u00e1rove\u0148 Latinskoamerick\u00e1 Nadace svobodn\u00e9ho softwaru <noindex><a rel=\"nofollow\" href=\"http:\/\/www.fsfla.org\/ikiwiki\/selibre\/linux-libre\/\">vytvo\u0159ila<\/a><\/noindex><br \/>\nvarianta <noindex><a rel=\"nofollow\" href=\"http:\/\/www.fsfla.org\/ikiwiki\/selibre\/linux-libre\/\">\u00fapln\u011b svobodn\u00e9ho j\u00e1dra 5.1<\/a><\/noindex> &#8212; <noindex><a rel=\"nofollow\" href=\"http:\/\/linux-libre.fsfla.org\/pub\/linux-libre\/releases\/5.1-gnu\/\">Linux-libre 5.1-gnu<\/a><\/noindex>, zbaven\u00e9ho prvk\u016f firmwaru a ovlada\u010d\u016f obsahuj\u00edc\u00edch nesvobodn\u00e9 komponenty nebo \u00faseky k\u00f3du, jejich\u017e pou\u017eit\u00ed je omezeno v\u00fdrobcem. V nov\u00e9 verzi byla zak\u00e1z\u00e1na na\u010d\u00edt\u00e1n\u00ed blob\u016f v ovlada\u010d\u00edch mt7603 a goya. Bylo aktualizov\u00e1no \u010di\u0161t\u011bn\u00ed blob\u016f v ovlada\u010d\u00edch a subsyst\u00e9mech wilc1000, iwlwifi, soc-acpi-intel, brcmfmac, mwifiex, btmrvl, btmtk a touchscreen_dmi. Bylo ukon\u010deno \u010di\u0161t\u011bn\u00ed blob\u016f v bootloaderu firmwaru lantiq xrx200 kv\u016fli jeho odstran\u011bn\u00ed z j\u00e1dra.<\/p>\n<p><noindex><a rel=\"nofollow\" name=\"link\"><\/a><\/noindex><\/p>\n<p>Zdroj: <a \ncontent=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=50631\">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.1. \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\u0439 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u0434\u043b\u044f \u0430\u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u043e\u0433\u043e \u0432\u0432\u043e\u0434\u0430\/\u0432\u044b\u0432\u043e\u0434\u0430 io_uring, \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f NVDIMM \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u041e\u0417\u0423, \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u0432 Nouveau \u0440\u0430\u0437\u0434\u0435\u043b\u044f\u0435\u043c\u043e\u0439 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0439 \u043f\u0430\u043c\u044f\u0442\u0438, \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u043c\u0430\u0441\u0448\u0442\u0430\u0431\u0438\u0440\u0443\u0435\u043c\u043e\u0433\u043e \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433\u0430 \u043e\u0447\u0435\u043d\u044c \u0431\u043e\u043b\u044c\u0448\u0438\u0445 \u0424\u0421 \u0447\u0435\u0440\u0435\u0437 fanotify, \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0443\u0440\u043e\u0432\u043d\u0435\u0439 \u0441\u0436\u0430\u0442\u0438\u044f Zstd \u0432 Btrfs, \u043d\u043e\u0432\u044b\u0439 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a cpuidle TEO, \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0445 \u0432\u044b\u0437\u043e\u0432\u043e\u0432 [&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-33056","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.\" \/>\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-1\" \/>\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.1 | 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.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/cs\/blog\/news\/reliz-yadra-linux-5-1\" \/>\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=\"2019-10-31T18:50:30+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T18:50:30+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.1 | ProHoster","description":"Po dvou m\u011bs\u00edc\u00edch v\u00fdvoje p\u0159edstavil Linus Torvalds vyd\u00e1n\u00ed j\u00e1dra Linux.","canonical_url":"https:\/\/prohoster.info\/cs\/blog\/news\/reliz-yadra-linux-5-1","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.1 | 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.","og:url":"https:\/\/prohoster.info\/cs\/blog\/news\/reliz-yadra-linux-5-1","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":"2019-10-31T18:50:30+00:00","article:modified_time":"2019-10-31T18:50:30+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"33056","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":"2026-01-21 13:47:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 02:47:29","updated":"2026-01-21 13:47:19","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\/33056","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=33056"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/posts\/33056\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/media?parent=33056"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/categories?post=33056"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/tags?post=33056"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}