{"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\/pl\/blog\/news\/reliz-yadra-linux-5-1","title":{"rendered":"Wydanie j\u0105dra Linux 5.1","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Po dw\u00f3ch miesi\u0105cach prac Linus Torvalds <noindex><a rel=\"nofollow\" href=\"https:\/\/lkml.org\/lkml\/2019\/5\/5\/278\">przedstawi\u0142<\/a><\/noindex> wyda\u0142 j\u0105dro <noindex><a rel=\"nofollow\" href=\"https:\/\/www.kernel.org\">Linux 5.1<\/a><\/noindex>. W\u015br\u00f3d najbardziej zauwa\u017calnych zmian: nowy interfejs do asynchronicznego wej\u015bcia\/wyj\u015bcia io_uring, mo\u017cliwo\u015b\u0107 u\u017cycia NVDIMM jako pami\u0119ci RAM, wsparcie dla wsp\u00f3\u0142dzielonej pami\u0119ci w Nouveau, wsparcie dla skalowalnego monitorowania bardzo du\u017cych system\u00f3w plik\u00f3w przez fanotify, mo\u017cliwo\u015b\u0107 dostosowania poziom\u00f3w kompresji Zstd w Btrfs, nowy handler cpuidle TEO, realizacja wywo\u0142a\u0144 systemowych w celu rozwi\u0105zania problemu 2038 roku, mo\u017cliwo\u015b\u0107 uruchamiania z urz\u0105dze\u0144 device-mapper bez initramfs, modu\u0142 LSM SafeSetID, wsparcie dla kombinowanych live-patchy.<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/kernelnewbies.org\/Linux_5.1\">Podstawowe<\/a><\/noindex> <noindex><a rel=\"nofollow\" href=\"https:\/\/lwn.net\/Articles\/783084\">nowo\u015bci<\/a><\/noindex>: <\/p>\n<ul>\n<li class=\"l\"> <b>Podsystem dyskowy, wej\u015bcie\/wyj\u015bcie i systemy plik\u00f3w<\/b>\n<ul>\n<li class=\"l\"> Zrealizowano nowy interfejs do asynchronicznego wej\u015bcia\/wyj\u015bcia \u2014 <noindex><a rel=\"nofollow\" href=\"http:\/\/kernel.dk\/io_uring.pdf\">io_uring<\/a><\/noindex>, kt\u00f3ry charakteryzuje si\u0119 wsparciem dla pollingu wej\u015bcia\/wyj\u015bcia oraz mo\u017cliwo\u015bci\u0105 pracy zar\u00f3wno z buforowaniem, jak i bez buforowania. Przypominamy, \u017ce wcze\u015bniej proponowany mechanizm asynchronicznego wej\u015bcia\/wyj\u015bcia \u201eaio\u201d nie wspiera\u0142 buforowanego wej\u015bcia\/wyj\u015bcia, m\u00f3g\u0142 dzia\u0142a\u0107 tylko w trybie O_DIRECT (bez buforowania i omijaj\u0105c pami\u0119\u0107 podr\u0119czn\u0105), mia\u0142 problemy z blokadami z powodu oczekiwania na dost\u0119pno\u015b\u0107 metadanych i wykazywa\u0142 du\u017c\u0105 wydajno\u015b\u0107 z powodu kopiowania danych w pami\u0119ci.\n<p>W ramach API<br \/>\nio_uring deweloperzy starali si\u0119 wyeliminowa\u0107 wady starego interfejsu aio. <noindex><a rel=\"nofollow\" href=\"https:\/\/lore.kernel.org\/linux-block\/20190116175003.17880-1-axboe@kernel.dk\/\">wydajno\u015bci<\/a><\/noindex> io_uring jest bardzo zbli\u017cony do <noindex><a rel=\"nofollow\" href=\"https:\/\/spdk.io\/\">SPDK<\/a><\/noindex> i znacznie wyprzedza libaio w pracy z w\u0142\u0105czonym pollingiem. Aby wykorzysta\u0107 io_uring w ko\u0144cowych aplikacjach pracuj\u0105cych w przestrzeni u\u017cytkownika, przygotowano bibliotek\u0119 <noindex><a rel=\"nofollow\" href=\"http:\/\/git.kernel.dk\/cgit\/liburing\/\">liburing<\/a><\/noindex>, dostarczaj\u0105c\u0105 wysokopoziomowe opakowanie nad interfejsem j\u0105dra;<\/p>\n<li class=\"l\"> W mechanizmie \u015bledzenia zdarze\u0144 w systemie plik\u00f3w fanotify() <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/amir73il\/fsnotify-utils\/wiki\/Super-block-root-watch\">dodano<\/a><\/noindex> wsparcie dla \u015bledzenia sytuacji zmiany superbloku i struktury <noindex><a rel=\"nofollow\" href=\"https:\/\/ext4.wiki.kernel.org\/index.php\/Ext4_Disk_Layout\">dirent<\/a><\/noindex> (zdarzenia tworzenia, usuwania i przenoszenia katalog\u00f3w). Przedstawione mo\u017cliwo\u015bci pomagaj\u0105 rozwi\u0105za\u0107 problemy ze skalowalno\u015bci\u0105, kt\u00f3re pojawia\u0142y si\u0119 przy tworzeniu rekurencyjnych \u015bledze\u0144 zmian w bardzo du\u017cych systemach plik\u00f3w przy u\u017cyciu mechanizmu inotify (zmiany dirent mo\u017cna by\u0142o wcze\u015bniej \u015bledzi\u0107 tylko przez inotify, ale<br \/>\nwydajno\u015b\u0107 w warunkach rekurencyjnego \u015bledzenia du\u017cych zagnie\u017cd\u017conych katalog\u00f3w pozostawia\u0142a wiele do \u017cyczenia). Teraz podobne monitorowanie mo\u017cna skutecznie przeprowadza\u0107 przez fanotify;<\/p>\n<li class=\"l\"> W systemie plik\u00f3w Btrfs <noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=3f93aef535c8ea03e40cd8acf0753b3e6ed33e96\">dodano<\/a><\/noindex> mo\u017cliwo\u015b\u0107 ustawienia poziomu kompresji dla algorytmu zstd, kt\u00f3ry mo\u017ce by\u0107 postrzegany jako optymalny kompromis mi\u0119dzy szybkim, ale ma\u0142o efektywnym lz4 a wolnym, ale skutecznym xz. W analogiczny spos\u00f3b, jak wcze\u015bniej mo\u017cna by\u0142o ustawia\u0107 poziom kompresji przy u\u017cyciu zlib, dla zstd dodano wsparcie opcji montowania &#171;-o compress=zstd:level&#187;. Podczas test\u00f3w minimalny pierwszy poziom zapewni\u0142 kompresj\u0119 danych w stosunku 2.658 do 1 przy pr\u0119dko\u015bci kompresji 438.47 MB\/s, pr\u0119dko\u015bci dekompresji 910.51 MB\/s oraz zu\u017cyciu pami\u0119ci 780 MB, a maksymalny poziom 15 \u2014 w 3.126 do 1, ale przy pr\u0119dko\u015bci kompresji 37.30 MB\/s, dekompresji 878.84 MB\/s i zu\u017cyciu pami\u0119ci 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\">Dodano<\/a><\/noindex> mo\u017cliwo\u015b\u0107 uruchamiania z systemu plik\u00f3w umieszczonego na urz\u0105dzeniu device-mapper, bez u\u017cywania initramfs. Od obecnej wersji j\u0105dra urz\u0105dzenie device-mapper mo\u017cna bezpo\u015brednio wykorzysta\u0107 w trakcie uruchamiania, na przyk\u0142ad jako partycj\u0119 z g\u0142\u00f3wnym systemem plik\u00f3w. Ustawienie partycji jest realizowane za pomoc\u0105 parametru uruchamiaj\u0105cego &#171;dm-mod.create&#187;. Dozwolone do \u0142adowania modu\u0142y device-mapper to: &#171;crypt&#187;, &#171;delay&#187;, &#171;linear&#187;, &#171;snapshot-origin&#187; i &#171;verity&#187;;\n<li class=\"l\"> Do ukierunkowanego na pami\u0119ci Flash systemu plik\u00f3w F2FS dodano flag\u0119 F2FS_NOCOW_FL, pozwalaj\u0105c\u0105 na wy\u0142\u0105czenie trybu copy-on-write dla okre\u015blonego pliku;\n<li class=\"l\"> Z j\u0105dra usuni\u0119to system plik\u00f3w <noindex><a rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=22084\">Exofs<\/a><\/noindex>, stanowi\u0105cy variant ext2, dostosowany do pracy z urz\u0105dzeniami pami\u0119ci masowej OSD (Object-based Storage Device). Usuni\u0119to r\u00f3wnie\u017c wsparcie dla protoko\u0142u SCSI dla podobnych urz\u0105dze\u0144 przechowywania obiekt\u00f3w;\n<\/ul>\n<li class=\"l\"> <b>Wirtualizacja i bezpiecze\u0144stwo<\/b>\n<ul>\n<li class=\"l\"> Do prctl() dodano opcj\u0119 PR_SPEC_DISABLE_NOEXEC do zarz\u0105dzania spekulacyjnym wykonywaniem instrukcji dla wybranego procesu. Nowa opcja pozwala selektywnie wy\u0142\u0105czy\u0107 spekulacyjne wykonywanie dla proces\u00f3w, kt\u00f3re mog\u0105 by\u0107 potencjalnie atakowane za pomoc\u0105 ataku typu Spectre. Blokowanie dzia\u0142a do pierwszego wywo\u0142ania exec();\n<li class=\"l\"> Wdro\u017cono modu\u0142 LSM <noindex><a rel=\"nofollow\" href=\"https:\/\/www.kernel.org\/doc\/html\/latest\/admin-guide\/LSM\/SafeSetID.html\">SafeSetID<\/a><\/noindex>, pozwalaj\u0105cy us\u0142ugom systemowym na bezpieczne zarz\u0105dzanie u\u017cytkownikami bez podwy\u017cszania przywilej\u00f3w (CAP_SETUID) i bez uzyskiwania uprawnie\u0144 u\u017cytkownika root. Przyznawanie uprawnie\u0144 odbywa si\u0119 poprzez definiowanie w securityfs regu\u0142 na podstawie bia\u0142ej listy dozwolonych powi\u0105za\u0144 (w formie &#171;UID1:UID2&#187;);\n<li class=\"l\"> Wprowadzono niskopoziomowe zmiany, kt\u00f3re s\u0105 niezb\u0119dne do stosowania stosu organizacji \u0142adowania modu\u0142\u00f3w bezpiecze\u0144stwa (LSM). Wprowadzono parametr \u0142adowania j\u0105dra \u201elsm\u201d, kt\u00f3ry umo\u017cliwia zarz\u0105dzanie tym, kt\u00f3re modu\u0142y s\u0105 \u0142adowane i w jakiej kolejno\u015bci;\n<li class=\"l\"> Do podsystemu audytu dodano wsparcie dla przestrzeni nazw plik\u00f3w;\n<li class=\"l\"> <noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/linus\/81a56f6dcd20\">Rozszerzono<\/a><\/noindex> mo\u017cliwo\u015bci wtyczki GCC structleak, kt\u00f3ra pozwala na blokowanie potencjalnych wyciek\u00f3w zawarto\u015bci pami\u0119ci. Zapewniono inicjalizacj\u0119 dowolnych zmiennych, kt\u00f3re s\u0105 u\u017cywane w kodzie za pomoc\u0105 odniesienia na stosie;\n<\/ul>\n<li class=\"l\"> <b>Subsystem sieciowy<\/b>\n<ul>\n<li class=\"l\"> Dla gniazd <noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/linus\/f5dd3d0c9638\">zrealizowano<\/a><\/noindex> nowa opcja \u201eSO_BINDTOIFINDEX\u201d, podobna do<br \/>\n\u201eSO_BINDTODEVICE\u201d, ale przyjmuj\u0105ca jako argument indeksowy numer interfejsu sieciowego zamiast nazwy interfejsu;<\/p>\n<li class=\"l\"> Do stosu mac80211 dodano mo\u017cliwo\u015b\u0107 przypisania jednemu urz\u0105dzeniu wielu BSSID (adres\u00f3w MAC). W ramach projektu optymalizacji wydajno\u015bci WiFi do stosu mac80211 dodano uwzgl\u0119dnienie rozk\u0142adu czasu w eterze i mo\u017cliwo\u015b\u0107 rozdzielania czasu w eterze mi\u0119dzy kilka stacji (w trybie punktu dost\u0119powego, przydzielanie mniejszego czasu transmisji wolnym stacjom bezprzewodowym, zamiast r\u00f3wnomiernego rozdzielenia czasu mi\u0119dzy wszystkie stacje);\n<li class=\"l\"> Dodano mechanizm \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, kt\u00f3ry zapewnia powiadomienia w przypadku wyst\u0105pienia problem\u00f3w z interfejsem sieciowym;\n<\/ul>\n<li class=\"l\"> <b>Pami\u0119\u0107 i us\u0142ugi systemowe<\/b>\n<ul>\n<li class=\"l\"> <noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/torvalds\/c\/a9dce6679d736cb3d612af39bab9f31f8db66f9b\">Zrealizowano<\/a><\/noindex> bezpieczna dostawa sygna\u0142\u00f3w, z uwzgl\u0119dnieniem mo\u017cliwo\u015bci ponownego wykorzystania PID. Na przyk\u0142ad przy wykonaniu wywo\u0142ania kill mog\u0142a wyst\u0105pi\u0107 sytuacja, w kt\u00f3rej bezpo\u015brednio po wys\u0142aniu sygna\u0142u docelowy PID m\u00f3g\u0142 zosta\u0107 zwolniony z powodu zako\u0144czenia pracy procesu i zaj\u0119ty przez inny proces, a w efekcie sygna\u0142 by\u0142by przesy\u0142any do innego procesu. Aby wyeliminowa\u0107 takie sytuacje, dodano nowe wywo\u0142anie systemowe pidfd_send_signal, kt\u00f3re korzysta z deskryptor\u00f3w plik\u00f3w z \/proc\/pid, aby zapewni\u0107 stabilne powi\u0105zanie z procesem. Nawet je\u015bli PID zostanie ponownie u\u017cyty podczas przetwarzania wywo\u0142ania systemowego, deskryptor pliku nie zmieni si\u0119 i mo\u017cna go bezpiecznie wykorzysta\u0107 do wys\u0142ania sygna\u0142u do procesu;\n<li class=\"l\"> <noindex><a rel=\"nofollow\" href=\"https:\/\/lwn.net\/Articles\/777212\/\">Dodano<\/a><\/noindex> mo\u017cliwo\u015b\u0107 u\u017cycia urz\u0105dze\u0144 pami\u0119ci trwa\u0142ej (persistent-memory, na przyk\u0142ad <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/NVDIMM\">NVDIMM<\/a><\/noindex>) jako RAM. Do tej pory w j\u0105drze podobne urz\u0105dzenia by\u0142y obs\u0142ugiwane jako urz\u0105dzenia pami\u0119ci masowej, ale teraz mo\u017cna je tak\u017ce stosowa\u0107 jako dodatkow\u0105 pami\u0119\u0107 operacyjn\u0105. Funkcja ta zosta\u0142a wprowadzona w odpowiedzi na pro\u015bby u\u017cytkownik\u00f3w, kt\u00f3rzy s\u0105 gotowi zaakceptowa\u0107 os\u0142abion\u0105 wydajno\u015b\u0107 i chc\u0105 u\u017cywa\u0107 standardowego API zarz\u0105dzania pami\u0119ci\u0105 j\u0105dra Linux zamiast istniej\u0105cych system\u00f3w alokacji pami\u0119ci w przestrzeni u\u017cytkownika, dzia\u0142aj\u0105cych na mmap dla pliku dax;\n<li class=\"l\"> Dodano nowy sterownik bezczynno\u015bci CPU (cpuidle, kt\u00f3ry decyduje, kiedy mo\u017cna prze\u0142\u0105czy\u0107 CPU w g\u0142\u0119bokie tryby oszcz\u0119dzania energii; im g\u0142\u0119bszy tryb \u2014 tym wi\u0119ksze oszcz\u0119dno\u015bci, ale wi\u0119cej czasu potrzeba na wyj\u015bcie z trybu) \u2014 TEO (Governor zorientowany na zdarzenia czasowe). Do tej pory oferowano dwa sterowniki cpuidle \u2014 \u201emenu\u201d i \u201eladder\u201d, r\u00f3\u017cni\u0105ce si\u0119 heurystyk\u0105. W sterowniku \u201emenu\u201d wyst\u0119puj\u0105 znane problemy z podejmowaniem decyzji heurystycznych, dlatego postanowiono przygotowa\u0107 nowy sterownik. TEO jest promowane jako alternatywa dla sterownika \u201emenu\u201d, umo\u017cliwiaj\u0105ca osi\u0105gni\u0119cie wy\u017cszej wydajno\u015bci przy zachowaniu tego samego poziomu zu\u017cycia energii.<br \/>\nAktywowa\u0107 nowy sterownik mo\u017cna za pomoc\u0105 parametru rozruchowego \u201ecpuidle.governor=teo\u201d;<\/p>\n<li class=\"l\"> W ramach prac nad usuni\u0119ciem <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\">problem\u00f3w roku 2038<\/a><\/noindex>, spowodowanych przepe\u0142nieniem 32-bitowego typu time_t, w sk\u0142ad w\u0142\u0105czono wywo\u0142ania systemowe, kt\u00f3re oferuj\u0105 dla architektur 32-bitowych 64-bitowe liczniki czasu. W efekcie, 64-bitowa struktura time_t mo\u017ce by\u0107 teraz stosowana na wszystkich architekturach. Analogiczne zmiany wdro\u017cono r\u00f3wnie\u017c w podsystemie sieciowym dla opcji <noindex><a rel=\"nofollow\" href=\"https:\/\/www.kernel.org\/doc\/Documentation\/networking\/timestamping.txt\">timestamp<\/a><\/noindex>  gniazd sieciowych;\n<li class=\"l\"> Wprowadzono system gor\u0105cego nak\u0142adania poprawek na j\u0105dro (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\">dodano<\/a><\/noindex> mo\u017cliwo\u015b\u0107 \u201eAtomic Replace\u201d do atomowego stosowania serii zmian w jednej funkcji. Ta mo\u017cliwo\u015b\u0107 umo\u017cliwia dystrybucj\u0119 zbiorczych poprawek obejmuj\u0105cych kilka zmian jednocze\u015bnie, zamiast skomplikowanego procesu etapowego nak\u0142adania poprawek na \u017cywo w \u015bci\u015ble okre\u015blonej kolejno\u015bci. Wcze\u015bniej ka\u017cda kolejna zmiana musia\u0142a opiera\u0107 si\u0119 na stanie funkcji z poprzedniej zmiany, teraz mo\u017cliwe jest od razu stosowanie wielu zmian uzale\u017cnionych od jednego stanu pocz\u0105tkowego (tj. opiekunowie mog\u0105 wspiera\u0107 jedn\u0105 zbiorcz\u0105 poprawk\u0119 w odniesieniu do podstawowego j\u0105dra zamiast \u0142a\u0144cucha wzajemnie powi\u0105zanych poprawek);\n<li class=\"l\"> <noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=eac616557050737a8d6ef6fe0322d0980ff0ffde\">Og\u0142oszono<\/a><\/noindex> przestarza\u0142e wsparcie dla formatu plik\u00f3w wykonywalnych a.out i<br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=08300f4402abc0eb3bc9c91b27a529836710d32d\">usuni\u0119to<\/a><\/noindex> kodeks do generowania plik\u00f3w core w formacie a.out, kt\u00f3ry jest w stanie porzuconym. Format a.out od dawna nie jest stosowany w systemach z Linuxem, a generowanie plik\u00f3w a.out dawno nie jest wspierane przez nowoczesne narz\u0119dzia w konfiguracjach Linuxa domy\u015blnie. Ponadto, loader dla plik\u00f3w a.out mo\u017ce by\u0107 w pe\u0142ni zrealizowany w przestrzeni u\u017cytkownika;<\/p>\n<li class=\"l\"> Mechanizm weryfikacji program\u00f3w BPF zyska\u0142 mo\u017cliwo\u015b\u0107 okre\u015blania i usuwania nieu\u017cywanego kodu. Do j\u0105dra w\u0142\u0105czono r\u00f3wnie\u017c poprawki z obs\u0142ug\u0105 spinlock\u00f3w dla podsystemu BPF, kt\u00f3re oferuj\u0105 dodatkowe mo\u017cliwo\u015bci zarz\u0105dzania r\u00f3wnoleg\u0142ym wykonaniem program\u00f3w BPF;\n<\/ul>\n<li class=\"l\"> <b>Sprz\u0119t<\/b>\n<ul>\n<li class=\"l\"> W sterowniku Nouveau <noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=eeaf06ac1a5584e41cf289f8351e446bb131374b\">dodano<\/a><\/noindex> wsparcie dla heterogenicznego zarz\u0105dzania pami\u0119ci\u0105, kt\u00f3re umo\u017cliwia dost\u0119p CPU i GPU do wsp\u00f3lnych, synchronizowanych obszar\u00f3w pami\u0119ci. System pami\u0119ci wirtualnej wsp\u00f3\u0142dzielonej (SVM, shared virtual memory) zrealizowano na bazie podsystemu HMM (Heterogeneous memory management), co pozwala na u\u017cywanie urz\u0105dze\u0144 z w\u0142asnymi jednostkami zarz\u0105dzania pami\u0119ci\u0105 (MMU, memory management unit), kt\u00f3re mog\u0105 uzyskiwa\u0107 dost\u0119p do pami\u0119ci g\u0142\u00f3wnej. Dzi\u0119ki HMM mo\u017cna tak\u017ce zorganizowa\u0107 wsp\u00f3ln\u0105 przestrze\u0144 adresow\u0105 mi\u0119dzy GPU a CPU, w kt\u00f3rej GPU mo\u017ce uzyska\u0107 dost\u0119p do pami\u0119ci g\u0142\u00f3wnej procesu. Obs\u0142uga SVM jest na razie w\u0142\u0105czona tylko dla GPU rodziny Pascal, chocia\u017c wsparcie zapewniono tak\u017ce dla GPU Volta i Turing. Ponadto, w Nouveau <noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=f180bf12ac061f093abb9247505f661817973cae\">dodano<\/a><\/noindex> nowy ioctl do zarz\u0105dzania migracj\u0105 obszar\u00f3w pami\u0119ci proces\u00f3w do pami\u0119ci GPU;\n<li class=\"l\"> W sterowniku DRM Intel dla GPU Skylake i nowszych (gen9+) <noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=7360c9f6b857e22a48e545f4e99c79630994e932\">w\u0142\u0105czono<\/a><\/noindex> domy\u015blnie tryb fastboot, eliminuj\u0105cy zb\u0119dne zmiany tryb\u00f3w podczas uruchamiania. <noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=5e0f5a58b167fc2c8352d90c0faa8c0c9ca75c26\">Dodano<\/a><\/noindex> <noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/linus\/03ca3cf8e9aa7549e6c398462af0f68bdd43e7fe\">nowe<\/a><\/noindex> identyfikatory urz\u0105dze\u0144 oparte na mikroarchitekturach Coffelake i Ice Lake. Dla chip\u00f3w Coffelake <noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=c3b5a8430daadf5b8ec9757d6c81149903cbe99f\">dodano<\/a><\/noindex> wsparcie GVT (<noindex><a rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=41187\">wirtualizacja GPU<\/a><\/noindex>). Dla wirtualnych GPU <noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=39c68e87bc50a71bcfe93582d9b0673ef30db418\">zrealizowano<\/a><\/noindex> wsparcie VFIO EDID. Dla paneli LCD MIPI\/DSI <noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=7b5618f4b834330a052958db934c3dffad4a15c2\">dodano<\/a><\/noindex> wsparcie dla element\u00f3w ACPI\/PMIC. <noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=a0ff6779c75fe86a66b8c2eb439a40a12139eb02\">Zrealizowano<\/a><\/noindex> nowe tryby TV 1080p30\/50\/60 TV;\n<li class=\"l\"> W sterowniku amdgpu dodano wsparcie dla GPU Vega10\/20 BACO. Zrealizowano rozwi\u0105zania zarz\u0105dzania energi\u0105 Vega 10\/20 oraz tabele zarz\u0105dzania wentylatorem Vega 10. Dodano nowe identyfikatory PCI dla urz\u0105dze\u0144 GPU Picasso. <noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=67dd1a36334ffce82bebeb2d633e152aa436d370\">Dodano<\/a><\/noindex> interfejs zarz\u0105dzania planowanymi zale\u017cno\u015bciami w celu wyeliminowania blokad wzajemnych;\n<li class=\"l\"> <noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=557c37360eca864eba692be7b7b72ec937b330af\">Dodano<\/a><\/noindex> sterownik DRM\/KMS dla przyspieszaczy operacji ekranowych <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\"> Dodano wsparcie dla paneli ekranowych Toppoly TPG110, Sitronix ST7701, PDA 91-00156-A0, LeMaker BL035-RGB-002 3.5 oraz Kingdisplay kd097d04;\n<li class=\"l\"> Dodano wsparcie dla kodek\u00f3w d\u017awi\u0119kowych Rockchip RK3328, Cirrus Logic CS4341 i CS35L36, MediaTek MT6358, Qualcomm WCD9335 oraz Ingenic JZ4725B, a tak\u017ce platformy d\u017awi\u0119kowej Mediatek MT8183;\n<li class=\"l\"> Dodano wsparcie dla kontroler\u00f3w NAND Flash STMicroelectronics FMC2, Amlogic Meson;\n<li class=\"l\"> Dodano wsparcie dla przyspieszaczy dla system\u00f3w sprz\u0119towych Habana AI;\n<li class=\"l\"> Dodano wsparcie dla gigabitowych kontroler\u00f3w Ethernet NXP ENETC oraz bezprzewodowych interfejs\u00f3w MediaTek MT7603E (PCIe) i MT76x8.\n<\/ul>\n<\/ul>\n<p>Jednocze\u015bnie Fundacja Wolnego Oprogramowania Ameryki \u0141aci\u0144skiej <noindex><a rel=\"nofollow\" href=\"http:\/\/www.fsfla.org\/ikiwiki\/selibre\/linux-libre\/\">utworzy\u0142a<\/a><\/noindex><br \/>\nwariant <noindex><a rel=\"nofollow\" href=\"http:\/\/www.fsfla.org\/ikiwiki\/selibre\/linux-libre\/\">ca\u0142kowicie wolne j\u0105dro 5.1<\/a><\/noindex> \u2014 <noindex><a rel=\"nofollow\" href=\"http:\/\/linux-libre.fsfla.org\/pub\/linux-libre\/releases\/5.1-gnu\/\">Linux-libre 5.1-gnu<\/a><\/noindex>, oczyszczone z element\u00f3w firmware'\u00f3w i sterownik\u00f3w zawieraj\u0105cych komponenty lub fragmenty kodu, kt\u00f3rych zastosowanie jest ograniczone przez producenta. W nowej wersji wy\u0142\u0105czono \u0142adowanie blob\u00f3w w sterownikach mt7603 i goya. Zaktualizowano kod czyszczenia blob\u00f3w w sterownikach i podsystemach wilc1000, iwlwifi, soc-acpi-intel, brcmfmac, mwifiex, btmrvl, btmtk oraz touchscreen_dmi. Zaprzestano czyszczenia blob\u00f3w w bootloaderze firmware lantiq xrx200 z powodu jego usuni\u0119cia z j\u0105dra.<\/p>\n<p><noindex><a rel=\"nofollow\" name=\"link\"><\/a><\/noindex><\/p>\n<p>\u0179r\u00f3d\u0142o: <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.1.1 - 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\/pl\/blog\/news\/reliz-yadra-linux-5-1\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"pl_PL\" \/>\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\/pl\/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\udd47Wydanie j\u0105dra Linux 5.1 | ProHoster","description":"Po dw\u00f3ch miesi\u0105cach prac Linus Torvalds zaprezentowa\u0142 wydanie j\u0105dra Linux.","canonical_url":"https:\/\/prohoster.info\/pl\/blog\/news\/reliz-yadra-linux-5-1","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"pl_PL","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\/pl\/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\/pl\/wp-json\/wp\/v2\/posts\/33056","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/comments?post=33056"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts\/33056\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/media?parent=33056"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/categories?post=33056"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/tags?post=33056"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}