{"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\/lv\/blog\/news\/reliz-yadra-linux-5-1","title":{"rendered":"Linux kodola 5.1 izlai","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>P\u0113c diviem m\u0113ne\u0161iem att\u012bst\u012bbas Linuss Torvalds <noindex><a rel=\"nofollow\" href=\"https:\/\/lkml.org\/lkml\/2019\/5\/5\/278\">prezent\u0113ja<\/a><\/noindex> izlaida kodolu <noindex><a rel=\"nofollow\" href=\"https:\/\/www.kernel.org\">Linux 5.1<\/a><\/noindex>. Starp noz\u012bm\u012bg\u0101kaj\u0101m izmai\u0146\u0101m: jauns interfeiss asimetriskajam ievadam\/izvadam io_uring, iesp\u0113ja izmantot NVDIMM k\u0101 RAM, Nouveau atbalsts sadal\u012btai virtu\u0101lajai atmi\u0146ai, atbalsts \u013coti lielu failu sist\u0113mu skal\u0113jamai uzraudz\u012bbai caur fanotify, iesp\u0113ja piel\u0101got Btrfs Zstd saspie\u0161anas l\u012bme\u0146us, jauns cpuidle TEO apstr\u0101d\u0101t\u0101js, sist\u0113mas izsaukumu realiz\u0101cija 2038. gada probl\u0113mas risin\u0101\u0161anai, iesp\u0113ja boototies no ier\u012bc\u0113m device-mapper bez initramfs, LSM modulis SafeSetID, kombin\u0113tu live-patch atbalsts.<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/kernelnewbies.org\/Linux_5.1\">\u012bpa\u0161\u012bbas<\/a><\/noindex> <noindex><a rel=\"nofollow\" href=\"https:\/\/lwn.net\/Articles\/783084\">jaunumi<\/a><\/noindex>: <\/p>\n<ul>\n<li class=\"l\"> <b>Disku apak\u0161sist\u0113ma, I\/O un failu sist\u0113mas<\/b>\n<ul>\n<li class=\"l\"> Ievie\u0161ota jauna saskarne asimetriskajai ievadei\/izvadei \u2014 <noindex><a rel=\"nofollow\" href=\"http:\/\/kernel.dk\/io_uring.pdf\">io_uring<\/a><\/noindex>, kas izce\u013cas ar ievades\/izvades poling\u0101cijas atbalstu un iesp\u0113ju str\u0101d\u0101t gan ar buferiz\u0101ciju, gan bez buferiz\u0101cijas. Atg\u0101din\u0101m, ka iepriek\u0161 pied\u0101v\u0101tais meh\u0101nisms asimetriskajai ievadei\/izvadei \u00abaio\u00bb neatbalst\u012bja buferiz\u0113to ievadi\/izvadi, var\u0113ja darboties tikai O_DIRECT re\u017e\u012bm\u0101 (bez buferiz\u0101cijas un p\u0113d\u0113j\u0101 ke\u0161\u0113\u0161anas apiet), tam bija probl\u0113mas arblo\u0137\u0113\u0161anu ra\u0161anos, gaidot pieejam\u012bbu metadatiem, un tas par\u0101d\u012bja lielus izdevumus datu kop\u0113\u0161an\u0101 atmi\u0146\u0101.\n<p>API ietvaros<br \/>\nio_uring izstr\u0101d\u0101t\u0101ji cent\u0101s nov\u0113rst vec\u0101 aio interfeisa tr\u016bkumus. Saska\u0146\u0101 ar <noindex><a rel=\"nofollow\" href=\"https:\/\/lore.kernel.org\/linux-block\/20190116175003.17880-1-axboe@kernel.dk\/\">veiktsp\u0113jas<\/a><\/noindex> io_uring ir \u013coti tuvs <noindex><a rel=\"nofollow\" href=\"https:\/\/spdk.io\/\">SPDK<\/a><\/noindex> un iev\u0113rojami p\u0101rsp\u0113j libaio, str\u0101d\u0101jot ar iesl\u0113gtu pol\u0113\u0161anu. Lai izmantotu io_uring gala lietojumprogramm\u0101s, kas darbojas lietot\u0101ja telp\u0101, ir sagatavota bibliot\u0113ka <noindex><a rel=\"nofollow\" href=\"http:\/\/git.kernel.dk\/cgit\/liburing\/\">liburing<\/a><\/noindex>, kas sniedz augsta l\u012bme\u0146a apvalku virs kodola interfeisa;<\/p>\n<li class=\"l\"> Fanotify() notikumu uzraudz\u012bbas meh\u0101nism\u0101 <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/amir73il\/fsnotify-utils\/wiki\/Super-block-root-watch\">pievienots<\/a><\/noindex> atbalsta superbloka un <noindex><a rel=\"nofollow\" href=\"https:\/\/ext4.wiki.kernel.org\/index.php\/Ext4_Disk_Layout\">dirent strukt\u016bras<\/a><\/noindex> (katalogu izveido\u0161anas, dz\u0113\u0161anas un p\u0101rvieto\u0161anas notikumi). Pied\u0101v\u0101t\u0101s iesp\u0113jas pal\u012bdz risin\u0101t skal\u0113jam\u012bbas probl\u0113mas, kas rodas, izveidojot rekurs\u012bv\u0101s izmai\u0146u uzraudz\u012bbas funkcijas \u013coti liel\u0101s failu sist\u0113m\u0101s, izmantojot inotify meh\u0101nismu (dirent izmai\u0146as iepriek\u0161 var\u0113ja izsekot tikai caur inotify, ta\u010du<br \/>\nefektivit\u0101te lielu izsist\u012btu katalogu rekurs\u012bv\u0101 uzraudz\u012bb\u0101 atst\u0101ja daudz ko v\u0113l\u0113ties). Tagad \u0161\u0101du uzraudz\u012bbu var efekt\u012bvi veikt, izmantojot fanotify;<\/p>\n<li class=\"l\"> Failu sist\u0113m\u0101 Btrfs <noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=3f93aef535c8ea03e40cd8acf0753b3e6ed33e96\">pievienots<\/a><\/noindex> iesp\u0113ja konfigur\u0113t kompresijas l\u012bmeni algoritmam zstd, kas var tikt uzskat\u012bts par optim\u0101lu kompromisu starp \u0101tru, bet neefekt\u012bvu lz4 un l\u0113nu, bet labi kompres\u0113jo\u0161u xz. Analogi tam, k\u0101 iepriek\u0161 var\u0113ja noteikt kompresijas l\u012bmeni, izmantojot zlib, zstd ir pievienota atbalsta iesp\u0113ja mont\u0113\u0161anas \u00ab-o compress=zstd:level\u00bb. Test\u0113\u0161anas laik\u0101 minim\u0101lais pirmais l\u012bmenis nodro\u0161in\u0101ja datu kompresiju 2.658 reizes, kompresijas \u0101trums bija 438.47 MB\/s, izsai\u0146o\u0161anas \u0101trums 910.51 MB\/s un atmi\u0146as pat\u0113ri\u0146\u0161 780 MB, savuk\u0101rt maksim\u0101lais 15 l\u012bmenis \u2014 3.126 reizes, bet ar kompresijas \u0101trumu 37.30 MB\/s, izsai\u0146o\u0161anas \u0101trumu 878.84 MB\/s un atmi\u0146as pat\u0113ri\u0146u 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\">Pievienota<\/a><\/noindex> iesp\u0113ja iel\u0101d\u0113t no failu sist\u0113mas, kas izvietota ier\u012bces device-mapper, bez initramfs pielietojuma. S\u0101kot no \u0161\u012bs versijas device-mapper kods var tikt tie\u0161i izmantots iel\u0101des proces\u0101, piem\u0113ram, k\u0101 saknes FS nodal\u012bjums. Nodal\u012bjuma iestat\u012b\u0161ana tiek veikta, izmantojot iel\u0101des parametru \u00abdm-mod.create\u00bb. Starp at\u013cautajiem iel\u0101des modu\u013ciem device-mapper ir: \u00abcrypt\u00bb, \u00abdelay\u00bb, \u00ablinear\u00bb, \u00absnapshot-origin\u00bb un \u00abverity\u00bb;\n<li class=\"l\"> Flash atmi\u0146as orient\u0113t\u0101 failu sist\u0113m\u0101 F2FS ir pievienota F2FS_NOCOW_FL karogs, kas \u013cauj atsl\u0113gt copy-on-write re\u017e\u012bmu noteiktam failam;\n<li class=\"l\"> No kodola ir iz\u0146emta failu sist\u0113ma <noindex><a rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=22084\">Exofs<\/a><\/noindex>, kas ir ext2 varianta, piel\u0101gota darbam ar objektu glab\u0101\u0161anas ier\u012bc\u0113m OSD (Object-based Storage Device). T\u0101pat ir iz\u0146emts SCSI protokola atbalsts \u0161\u0101d\u0101m objektu glab\u0101\u0161anas ier\u012bc\u0113m;\n<\/ul>\n<li class=\"l\"> <b>Virtualiz\u0101cija un dro\u0161\u012bba<\/b>\n<ul>\n<li class=\"l\"> prctl() ir pievienota opcija PR_SPEC_DISABLE_NOEXEC, lai p\u0101rvald\u012btu spekulat\u012bvo instrukciju izpildi izv\u0113l\u0113tajam procesam. Jaun\u0101 opcija \u013cauj selekt\u012bvi atsl\u0113gt spekulat\u012bvo izpildi procesiem, kuri potenci\u0101li var tikt apdraud\u0113ti ar Spectre uzbrukumu. Blo\u0137\u0113\u0161ana ir sp\u0113k\u0101 l\u012bdz pirmajai exec() izsauk\u0161anai;\n<li class=\"l\"> Ieviests LSM modulis <noindex><a rel=\"nofollow\" href=\"https:\/\/www.kernel.org\/doc\/html\/latest\/admin-guide\/LSM\/SafeSetID.html\">SafeSetID<\/a><\/noindex>, \u013caujot sist\u0113mas pakalpojumiem dro\u0161i p\u0101rvald\u012bt lietot\u0101jus bez privil\u0113\u0123iju paaugstin\u0101\u0161anas (CAP_SETUID) un bez root lietot\u0101ja pilnvaru ieg\u016b\u0161anas. Privilegiju pie\u0161\u0137ir\u0161ana tiek veikta, nosakot securityfs noteikumus, pamatojoties uz at\u013cauto piesaistes baltu sarakstu (form\u0101 \u00abUID1:UID2\u00bb);\n<li class=\"l\"> Pievienotas zemu l\u012bme\u0146u izmai\u0146as, kas nepiecie\u0161amas dro\u0161\u012bbas modu\u013cu pakotn\u0113m (LSM) iel\u0101des organiz\u0101cij\u0101. Ieviesots iel\u0101des parametrs \u00ablsm\u00bb, kas \u013cauj p\u0101rvald\u012bt, kuri modu\u013ci tiek iel\u0101d\u0113ti un k\u0101d\u0101 sec\u012bb\u0101;\n<li class=\"l\"> Audita apak\u0161sist\u0113m\u0101 pievienota atbalsts failu nosaukumu telp\u0101m;\n<li class=\"l\"> <noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/linus\/81a56f6dcd20\">Papla\u0161in\u0101ti<\/a><\/noindex> GCC spraud\u0146a structleak iesp\u0113jas, kas \u013cauj blo\u0137\u0113t potenci\u0101l\u0101s atmi\u0146as satura nopl\u016bdes. Nodro\u0161in\u0101ta jebkuru main\u012bgo inicializ\u0101cija, kas tiek izmantota kod\u0101, izmantojot atsauces piek\u013cuvi stek\u0101;\n<\/ul>\n<li class=\"l\"> <b>T\u012bkla subsist\u0113ma<\/b>\n<ul>\n<li class=\"l\"> Sockets <noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/linus\/f5dd3d0c9638\">ir ieviesta<\/a><\/noindex> jauna opcija \u00abSO_BINDTOIFINDEX\u00bb, l\u012bdz\u012bga<br \/>\n&#171;SO_BINDTODEVICE&#187;, ta tom\u0113r pie\u0146em k\u0101 argumentu t\u012bkla interfeisa indeksnumuru, nevis interfeisa nosaukumu;<\/p>\n<li class=\"l\"> Mac80211 kaudz\u0113 pievienota iesp\u0113ja pie\u0161\u0137irt vienai ier\u012bcei vair\u0101kus BSSID (MAC adreses). WiFi veiktsp\u0113jas optimiz\u0101cijas projekta ietvaros mac80211 kaudz\u0113 pievienots gaisa laika sadales apr\u0113\u0137ins un iesp\u0113ja sadal\u012bt gaisa laiku starp vair\u0101k\u0101m stacij\u0101m (str\u0101d\u0101jot piek\u013cuves punkta re\u017e\u012bm\u0101, samazinot laiku, ko v\u0101j\u0101m bezvadu stacij\u0101m, nevis vienm\u0113r\u012bgi sadalot laiku starp vis\u0101m stacij\u0101m);\n<li class=\"l\"> iek\u013cauts meh\u0101nisms \u2018<noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=db2ab7a08f06\">devlink health<\/a><\/noindex>&#171;, pied\u0101v\u0101jot pazi\u0146ojumus, ja rodas probl\u0113mas ar t\u012bkla interfeisu;\n<\/ul>\n<li class=\"l\"> <b>Atmi\u0146a un sist\u0113mas pakalpojumi<\/b>\n<ul>\n<li class=\"l\"> <noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/torvalds\/c\/a9dce6679d736cb3d612af39bab9f31f8db66f9b\">Ieviesta<\/a><\/noindex> dro\u0161a sign\u0101lu pieg\u0101de, \u0146emot v\u0113r\u0101 PID atk\u0101rtoto izmanto\u0161anu. Piem\u0113ram, izpildot kill izsaukumu, iepriek\u0161 var\u0113ja rasties situ\u0101cija, kad t\u016bl\u012bt p\u0113c sign\u0101la nos\u016bt\u012b\u0161anas m\u0113r\u0137a PID var\u0113ja tikt atbr\u012bvots procesu beig\u0161anas d\u0113\u013c un aiz\u0146emts ar citu procesu, un galu gal\u0101 sign\u0101ls tika nos\u016bt\u012bts citam procesam. Lai nov\u0113rstu l\u012bdz\u012bgas situ\u0101cijas, pievienots jauns sist\u0113mas izsaukums pidfd_send_signal, kas izmanto failu aprakstus no \/proc\/pid, lai nodro\u0161in\u0101tu stabilu piek\u013cuvi procesam. Pat ja PID tiks atk\u0101rtoti izmantots sist\u0113mas izsaukuma apstr\u0101des laik\u0101, faila apraksts nemain\u012bsies, un to var dro\u0161i izmantot, lai nos\u016bt\u012btu sign\u0101lu procesam;\n<li class=\"l\"> <noindex><a rel=\"nofollow\" href=\"https:\/\/lwn.net\/Articles\/777212\/\">Pievienota<\/a><\/noindex> iesp\u0113ja izmantot past\u0101v\u012bg\u0101s atmi\u0146as ier\u012bces (persistent-memory, piem\u0113ram <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/NVDIMM\">NVDIMM.<\/a><\/noindex>) k\u0101 RAM. L\u012bdz \u0161im \u0161\u0101das ier\u012bces kodol\u0101 tika atbalst\u012btas k\u0101 uzglab\u0101\u0161anas ier\u012bces, ta\u010du tagad t\u0101s var izmantot ar\u012b k\u0101 papildu operat\u012bvo atmi\u0146u. \u0160\u012b iesp\u0113ja ir ieviesta, rea\u0123\u0113jot uz lietot\u0101ju v\u0113lm\u0113m, kuri ir gatavi samierin\u0101ties ar veiktsp\u0113jas atpalic\u012bbu un v\u0113las izmantot Linux kodola atmi\u0146as p\u0101rvald\u012bbas API, nevis eso\u0161\u0101s lietot\u0101ja telp\u0101 str\u0101d\u0101jo\u0161as atmi\u0146as sadales sist\u0113mas, kas darbojas virs mmap dax-failiem;\n<li class=\"l\"> Pievienots jauns CPU bezdarb\u012bbas p\u0101rvaldnieks (cpuidle, nosaka, kad var p\u0101riet uz dzi\u013cajiem ener\u0123ijas taup\u012b\u0161anas re\u017e\u012bmiem; jo dzi\u013c\u0101ks re\u017e\u012bms \u2014 jo liel\u0101ka ekonomija, bet ar\u012b vair\u0101k laika nepiecie\u0161ams, lai izk\u013c\u016btu no re\u017e\u012bma) \u2014 TEO (Timer Events Oriented Governor). L\u012bdz \u0161im tika pied\u0101v\u0101ti divi cpuidle p\u0101rvaldnieki \u2014 &#171;menu&#187; un &#171;ladder&#187;, kuri at\u0161\u0137iras ar heuristik\u0101m. &#171;menu&#187; p\u0101rvaldniek\u0101 ir zin\u0101mas probl\u0113mas ar heuristisko l\u0113mumu pie\u0146em\u0161anu, t\u0101d\u0113\u013c tika nolemts izstr\u0101d\u0101t jaunu p\u0101rvaldnieku. TEO tiek pozicion\u0113ts k\u0101 alternat\u012bva &#171;menu&#187; p\u0101rvaldniekam, kas \u013cauj sasniegt augst\u0101ku veiktsp\u0113ju, saglab\u0101jot to pa\u0161u ener\u0123ijas pat\u0113ri\u0146a l\u012bmeni.<br \/>\nJauno p\u0101rvaldnieku var aktiviz\u0113t, izmantojot starta parametru &#171;cpuidle.governor=teo&#187;;<\/p>\n<li class=\"l\"> Str\u0101d\u0101jot pie nov\u0113r\u0161anas <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\">2038. gada probl\u0113mas.<\/a><\/noindex>, ko izrais\u012bja 32 bitu time_t tipa p\u0101rpilde, sist\u0113mas izsaukumi iek\u013cauj 64 bitu laika skait\u012bt\u0101jus 32 bitu arhitekt\u016br\u0101m. Rezult\u0101t\u0101 64 bitu time_t strukt\u016bru tagad var izmantot vis\u0101s arhitekt\u016br\u0101s. Analogi uzlabojumi ir ieviesti ar\u012b t\u012bkla apak\u0161sist\u0113m\u0101 opcij\u0101m <noindex><a rel=\"nofollow\" href=\"https:\/\/www.kernel.org\/doc\/Documentation\/networking\/timestamping.txt\">laika z\u012bmoga<\/a><\/noindex>  t\u012bkla soketiem;\n<li class=\"l\"> Ievad\u012bta karsto ierakstu kodola sist\u0113m\u0101 (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\">pievienots<\/a><\/noindex> iesp\u0113ja &#171;Atomic Replace&#187; atomiskai izmai\u0146u s\u0113rijas piem\u0113ro\u0161anai vienai funkcijai. \u0160\u012b iesp\u0113ja \u013cauj izplat\u012bt apkopotus iel\u0101pus, kas aptver vair\u0101kas izmai\u0146as, nevis diezgan sare\u017e\u0123\u012btu procesu, kad tiek pak\u0101peniski uzlikti live iel\u0101pi stingr\u0101 sec\u012bb\u0101. Ja agr\u0101k katrai n\u0101kamajai izmai\u0146ai bija j\u0101balst\u0101s uz funkcijas st\u0101vokli p\u0113c iepriek\u0161\u0113j\u0101s izmai\u0146as, tad tagad iesp\u0113jama vair\u0101ku izmai\u0146u izplat\u012b\u0161ana, kas saist\u012bta ar vienu s\u0101kotn\u0113jo st\u0101vokli (t.i., atbalst\u012bt\u0101ji var uztur\u0113t vienu apkopotu iel\u0101pu attiec\u012bb\u0101 pret pamata kodolu, nevis \u0137\u0113di no savstarp\u0113ji atkar\u012bgiem iel\u0101piem);\n<li class=\"l\"> <noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=eac616557050737a8d6ef6fe0322d0980ff0ffde\">Pazi\u0146ots<\/a><\/noindex> par novecoju\u0161u a.out izpildfailu form\u0101ta atbalstu un<br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=08300f4402abc0eb3bc9c91b27a529836710d32d\">no\u0146emts<\/a><\/noindex> kodu core-failu \u0123ener\u0113\u0161anai a.out form\u0101t\u0101, kas ir pamesta st\u0101vokl\u012b. a.out form\u0101ts sen vairs netiek pielietots Linux sist\u0113m\u0101s, un a.out failu \u0123ener\u0113\u0161ana jau sen netiek atbalst\u012bta m\u016bsdienu instrument\u0101rijos Linux noklus\u0113juma konfigur\u0101cij\u0101s. Turkl\u0101t a.out failu iel\u0101d\u0113t\u0101js var tikt \u012bstenots piln\u012bb\u0101 lietot\u0101ja telp\u0101;<\/p>\n<li class=\"l\"> BPF programmu verific\u0113\u0161anas meh\u0101nism\u0101 ir pievienota iesp\u0113ja noteikt un dz\u0113st neizmantoto kodu. Ir iek\u013cauti ar\u012b pl\u0101ksteri ar spinlock atbalstu BPF apak\u0161sist\u0113m\u0101, kas sniedz papildu iesp\u0113jas BPF programmu paral\u0113l\u0101 izpild\u0113;\n<\/ul>\n<li class=\"l\"> <b>Apr\u012bkojums<\/b>\n<ul>\n<li class=\"l\"> Nouveau draiver\u012b <noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=eeaf06ac1a5584e41cf289f8351e446bb131374b\">pievienots<\/a><\/noindex> atbalsts heterog\u0113nai atmi\u0146as p\u0101rvald\u012bbai, kas \u013cauj CPU un GPU piek\u013c\u016bt kop\u012bg\u0101m sinhroniz\u0113t\u0101m atmi\u0146as zon\u0101m. Kop\u0113j\u0101s virtu\u0101l\u0101s atmi\u0146as sist\u0113ma (SVM, shared virtual memory) ir \u012bstenota, pamatojoties uz HMM (Heterogeneous memory management) apak\u0161sist\u0113mu, \u013caujot izmantot ier\u012bces ar saviem atmi\u0146as p\u0101rvald\u012bbas blokiem (MMU, memory management unit), kas var piek\u013c\u016bt galvenajai atmi\u0146ai. Ar HMM iesp\u0113jams izveidot kop\u012bgu adres\u0101cijas telpu starp GPU un CPU, kur GPU var piek\u013c\u016bt procesa galvenajai atmi\u0146ai. SVM atbalsts pagaid\u0101m ir iesp\u0113jots tikai Pascal \u0123imenes GPU, lai gan atbalstu nodro\u0161ina ar\u012b Volta un Turing GPU. Turkl\u0101t Nouveau <noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=f180bf12ac061f093abb9247505f661817973cae\">ieg\u016bts<\/a><\/noindex> jauns ioctl atmi\u0146as apgabalu migr\u0101cijas kontrolei procesu atmi\u0146\u0101 uz GPU;\n<li class=\"l\"> Intel DRM vad\u012bt\u0101j\u0101 Skylake un jaun\u0101kiem GPU (gen9+) <noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=7360c9f6b857e22a48e545f4e99c79630994e932\">ir iek\u013cauts<\/a><\/noindex> Noklus\u0113juma fastboot re\u017e\u012bms, kas izsl\u0113dz nevajadz\u012bgas re\u017e\u012bmu mai\u0146as start\u0113\u0161anas laik\u0101. <noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=5e0f5a58b167fc2c8352d90c0faa8c0c9ca75c26\">Pievienoti<\/a><\/noindex> <noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/linus\/03ca3cf8e9aa7549e6c398462af0f68bdd43e7fe\">jauni<\/a><\/noindex> ier\u012b\u010du identifikatori, kas balst\u012bti uz mikroarhitekt\u016br\u0101m Coffelake un Ice Lake. Coffelake mikrosh\u0113m\u0101m <noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=c3b5a8430daadf5b8ec9757d6c81149903cbe99f\">pievienots<\/a><\/noindex> GVT atbalsts (<noindex><a rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=41187\">GPU virtualiz\u0101cija<\/a><\/noindex>). Virtualiz\u0113tajiem GPU <noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=39c68e87bc50a71bcfe93582d9b0673ef30db418\">ir ieviesta<\/a><\/noindex> VFIO EDID atbalsts. LCD pane\u013ciem MIPI\/DSI <noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=7b5618f4b834330a052958db934c3dffad4a15c2\">pievienots<\/a><\/noindex> ACPI\/PMIC elementu atbalsts. <noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=a0ff6779c75fe86a66b8c2eb439a40a12139eb02\">Ieviesti<\/a><\/noindex> jauni TV re\u017e\u012bmi 1080p30\/50\/60 TV;\n<li class=\"l\"> AMDGPU draiver\u012b pievienots GPU Vega10\/20 BACO atbalsts. Iestat\u012bti jaudas vad\u012bbas l\u012bdzek\u013ci Vega 10\/20 un Vega 10 dzes\u0113t\u0101ja vad\u012bbas tabulas. Pievienoti jauni PCI ier\u012b\u010du identifikatori GPU Picasso. <noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=67dd1a36334ffce82bebeb2d633e152aa436d370\">Pievienots<\/a><\/noindex> pl\u0101noto atkar\u012bbu vad\u012bbas interfeiss, lai izsl\u0113gtu savstarp\u0113j\u0101s blo\u0137\u0113\u0161anas;\n<li class=\"l\"> <noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=557c37360eca864eba692be7b7b72ec937b330af\">Pievienots<\/a><\/noindex> DRM\/KMS draiveris ekr\u0101na darb\u012bbu pa\u0101trin\u0101t\u0101jiem <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\"> Pievienots Toppoly TPG110, Sitronix ST7701, PDA 91-00156-A0, LeMaker BL035-RGB-002 3.5 un Kingdisplay kd097d04 ekr\u0101na pane\u013cu atbalsts;\n<li class=\"l\"> Pievienots Rockchip RK3328, Cirrus Logic CS4341 un CS35L36, MediaTek MT6358, Qualcomm WCD9335 un Ingenic JZ4725B ska\u0146as kodeku atbalsts, k\u0101 ar\u012b MediaTek MT8183 ska\u0146as platformas atbalsts;\n<li class=\"l\"> Pievienots NAND kontrolieru Flash STMicroelectronics FMC2, Amlogic Meson atbalsts;\n<li class=\"l\"> Pievienots atbalsts Habana AI aparat\u016bras pa\u0101trin\u0101t\u0101jiem;\n<li class=\"l\"> Pievienots NXP ENETC gigabita Ethernet kontrolieru un MediaTek MT7603E (PCIe) un MT76x8 bezvadu interfeisu atbalsts.\n<\/ul>\n<\/ul>\n<p>Vienlaikus Lat\u012b\u0146amerikas Br\u012bv\u0101s Programmat\u016bras fonds <noindex><a rel=\"nofollow\" href=\"http:\/\/www.fsfla.org\/ikiwiki\/selibre\/linux-libre\/\">izveidoja<\/a><\/noindex><br \/>\nvariantu <noindex><a rel=\"nofollow\" href=\"http:\/\/www.fsfla.org\/ikiwiki\/selibre\/linux-libre\/\">piln\u012bb\u0101 br\u012bvs kodols 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>, kas att\u012br\u012bts no programmat\u016bras elementi un draiveri, kuri satur nesaturo\u0161us komponentus vai kodu, kuru izmanto\u0161ana ir ierobe\u017eota ra\u017eot\u0101jam. Jaunaj\u0101 laidien\u0101 ir atsl\u0113gta blobu iel\u0101de draiveros mt7603 un goya. Atjaunin\u0101ts blobu att\u012br\u012b\u0161anas kods draiveros un subsist\u0113m\u0101s wilc1000, iwlwifi, soc-acpi-intel, brcmfmac, mwifiex, btmrvl, btmtk un touchscreen_dmi. Blobu att\u012br\u012b\u0161ana start\u0113\u0161anas draiver\u012b lantiq xrx200 ir p\u0101rtraukta sakar\u0101 ar t\u0101 no\u0146em\u0161anu no kodola.<\/p>\n<p><noindex><a rel=\"nofollow\" name=\"link\"><\/a><\/noindex><\/p>\n<p>Avots: <a \ncontent=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=50631\">opennet.lv<\/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.5 - 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\/lv\/blog\/news\/reliz-yadra-linux-5-1\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.5\" \/>\n\t\t<meta property=\"og:locale\" content=\"lv_LV\" \/>\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\/lv\/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\udd47Linux 5.1 kodola izlaidums | ProHoster","description":"P\u0113c divu m\u0113ne\u0161u izstr\u0101des Linus Torvalds pazi\u0146oja par Linux kodola izlai\u0161anu.","canonical_url":"https:\/\/prohoster.info\/lv\/blog\/news\/reliz-yadra-linux-5-1","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"lv_LV","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\/lv\/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\/lv\/wp-json\/wp\/v2\/posts\/33056","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/comments?post=33056"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/posts\/33056\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/media?parent=33056"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/categories?post=33056"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/tags?post=33056"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}