{"id":150190,"date":"2025-12-01T11:11:57","date_gmt":"2025-12-01T09:11:58","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/reliz-yadra-linux-6-18"},"modified":"2025-12-01T11:11:57","modified_gmt":"2025-12-01T09:11:58","slug":"reliz-yadra-linux-6-18","status":"publish","type":"post","link":"https:\/\/prohoster.info\/pl\/blog\/news\/reliz-yadra-linux-6-18","title":{"rendered":"Wydanie j\u0105dra Linux 6.18","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Po dw\u00f3ch miesi\u0105cach prac programistycznych Linus Torvalds zaprezentowa\u0142 wydanie j\u0105dra Linux 6.18. W\u015br\u00f3d najbardziej zauwa\u017calnych zmian: dm-pcache do pami\u0119ci podr\u0119cznej dyskowej w pami\u0119ci nieulotnej (PMEM), usuni\u0119cie Bcachefs, tryb online weryfikacji XFS, sterowniki Binder (Android IPC) i Tyr (GPU Mali) napisane w Rust, mo\u017cliwo\u015b\u0107 tworzenia sterownik\u00f3w USB w Rust, optymalizacja pami\u0119ci w alokatorze pami\u0119ci SLUB, adresacja przestrzeni nazw przez deskryptory plik\u00f3w, przyspieszenie dzia\u0142ania swapu, weryfikacja program\u00f3w BPF za pomoc\u0105 podpisu cyfrowego, wirtualizacja Intel CET w KVM, protok\u00f3\u0142 sieciowy PSP (hybryda TLS i IPsec), wsparcie dla rozszerzenia IP AccECN, optymalizacja stosu UDP.       <\/p>\n<p>W nowej wersji wprowadzono 15035 poprawek od 2217 deweloper\u00f3w, rozmiar \u0142aty wynosi 45 MB (zmiany dotycz\u0105 13142 plik\u00f3w, dodano 601897 linii kodu, usuni\u0119to 355006 linii). W poprzednim wydaniu by\u0142o 14334 poprawek od 2118 deweloper\u00f3w, rozmiar \u0142aty wynosi\u0142 46 MB. Oko\u0142o 40% wszystkich zmian w wersji 6.18 zwi\u0105zanych jest z sterownikami urz\u0105dze\u0144, oko\u0142o 16% zmian dotyczy aktualizacji kodu specyficznego dla architektur sprz\u0119towych, 12% jest zwi\u0105zanych z stosami sieciowymi, 5% - z systemami plik\u00f3w, a 3% z wewn\u0119trznymi podsystemami j\u0105dra.      <\/p>\n<p>Najwa\u017cniejsze nowo\u015bci w j\u0105drze 6.18 (1, 2, 3):  <\/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\"> W Device Mapper dodano obs\u0142ug\u0119 dm-pcache do wykorzystania pami\u0119ci trwa\u0142ej (pami\u0119\u0107 CXL adresowana przez urz\u0105dzenie DAX) jako dodatkowej wydajnej pami\u0119ci podr\u0119cznej przed wolniejszymi tradycyjnymi dyskami lub pami\u0119ciami flash. Dm-pcache zapewnia bezpiecze\u0144stwo przechowywania zawarto\u015bci pami\u0119ci podr\u0119cznej w przypadku awarii (crash-safe) dzi\u0119ki wykorzystaniu pami\u0119ci nieulotnej, podwajaniu metadanych oraz weryfikacji integralno\u015bci danych i metadanych za pomoc\u0105 sum kontrolnych CRC32. Obecnie wspierane jest tylko buforowanie w trybie op\u00f3\u017anionego zapisu (write-back).\n<li class=\"l\"> Z j\u0105dra usuni\u0119to kod systemu plik\u00f3w Bcachefs, kt\u00f3ry teraz b\u0119dzie dystrybuowany w formie zewn\u0119trznego modu\u0142u, kompilowanego przy u\u017cyciu narz\u0119dzi DKMS (Dynamic Kernel Module Support). Kod Bcachefs mo\u017ce zosta\u0107 przywr\u00f3cony do j\u0105dra po tym, jak Kent Overstreet udowodni, \u017ce mo\u017cliwe jest prawid\u0142owe wsp\u00f3\u0142dzia\u0142anie z innymi programistami j\u0105dra oraz zdolno\u015b\u0107 do przestrzegania ustalonych zasad rozwoju.\n<li class=\"l\"> W systemowym wywo\u0142aniu pwritev2() dodano flag\u0119 RWF_NOSIGNAL, kt\u00f3ra wy\u0142\u0105cza wysy\u0142anie sygna\u0142u SIGPIPE podczas zapisu do zerwanych nieanonsowanych kana\u0142\u00f3w lub gniazd.\n<li class=\"l\"> W Procfs dodano opcj\u0119 montowania \u201epidns\u201d do wskazywania przestrzeni nazw identyfikator\u00f3w proces\u00f3w (PID namespace). Na przyk\u0142ad: \u201emount -t proc -o pidns=\/proc\/self\/ns\/pid proc \/tmp\/proc\u201d.\n<li class=\"l\"> W XFS zadeklarowano stabiln\u0105 i w\u0142\u0105czon\u0105 domy\u015blnie mo\u017cliwo\u015b\u0107 korzystania z narz\u0119dzia fsck do sprawdzania i naprawy wykrytych problem\u00f3w w trybie online, bez odmontowywania systemu plik\u00f3w. Dodano wywo\u0142ania systemowe file_getattr i file_setattr do zmiany atrybut\u00f3w specjalnych plik\u00f3w (wszystkich inode). W KConfig domy\u015blnie wy\u0142\u0105czono opcje XFS_SUPPORT_V4 (4 wersja XFS) i XFS_SUPPORT_ASCII_CI (tryb bez uwzgl\u0119dniania wielko\u015bci liter ASCII), uznane za przestarza\u0142e. Usuni\u0119to przestarza\u0142e opcje montowania attr2, noattr2, ikeep i noikeep.\n<li class=\"l\"> W MD RAID wprowadzono nowy typ bitmap \u2013 llbitmap (bitmapa bez blokad), dzia\u0142aj\u0105c\u0105 bez blokad i zapewniaj\u0105c\u0105 wy\u017csz\u0105 wydajno\u015b\u0107.\n<li class=\"l\"> Z ca\u0142ej struktury \u201einode\u201d wyodr\u0119bniono informacje zwi\u0105zane z szyfrowaniem i weryfikacj\u0105 (wska\u017aniki i_crypt_info i i_verity_info). Zmiana ta pozwala zmniejszy\u0107 zu\u017cycie pami\u0119ci w systemach plik\u00f3w, kt\u00f3re nie obs\u0142uguj\u0105 szyfrowania i weryfikacji.\n<li class=\"l\"> W subsydiarnej FUSE dodano wsparcie dla wywo\u0142ania systemowego copy_file_range() i bezpo\u015bredniego kopiowania zakres\u00f3w z u\u017cyciem rozmiaru z 64-bitowym typem (wcze\u015bniej wspierano tylko 32-bitowy rozmiar). Dodano wsparcie dla inicjalizacji w trybie synchronizowanym podczas montowania (FUSE_DEV_IOC_SYNC_INIT).\n<li class=\"l\"> W systemie plik\u00f3w ext4 wprowadzono mo\u017cliwo\u015b\u0107 korzystania z 32-bitowych identyfikator\u00f3w u\u017cytkownik\u00f3w (uid) i grup (gid) podczas dost\u0119pu do zarezerwowanych blok\u00f3w. Dodano operacje ioctl do ustawiania i odczytywania parametr\u00f3w superbloku zamontowanych system\u00f3w plik\u00f3w (tune2fs b\u0119dzie m\u00f3g\u0142 zmienia\u0107 parametry w superbloku bez uprawnie\u0144 do zapisu w urz\u0105dzeniu blokowym). Ca\u0142kowicie usuni\u0119to przestarza\u0142e ustawienia specyficzne dla ext3.\n<li class=\"l\"> W f2fs dodano opcj\u0119 montowania \u201elookup_mode\u201d do wyboru trybu wyszukiwania: perf \u2013 wyszukiwanie po hash, compat \u2013 wyszukiwanie liniowe, auto \u2013 automatyczny wyb\u00f3r. Zmiana trybu ma sens w konfiguracjach z katalogami, w kt\u00f3rych nie uwzgl\u0119dnia si\u0119 wielko\u015bci liter. Bie\u017c\u0105cy tryb wyszukiwania mo\u017cna sprawdzi\u0107 w pliku \u201e\/sys\/fs\/f2fs\/\/effective_lookup_mode\u201d. Dodano mo\u017cliwo\u015b\u0107 rezerwacji inode, dost\u0119pnych tylko dla u\u017cytkownik\u00f3w z uprawnieniami.\n<li class=\"l\"> W Overlayfs dodano tryb pracy bez uwzgl\u0119dniania wielko\u015bci liter, aktywowany na poziomie warstw FS (ustawienie dla poszczeg\u00f3lnych katalog\u00f3w na razie nie jest obs\u0142ugiwane).\n<li class=\"l\"> W BTRFS poprawiono r\u00f3wnoleg\u0142o\u015b\u0107 operacji przy wysokim obci\u0105\u017ceniu odczytu i niskim obci\u0105\u017ceniu zapisu, skr\u00f3cono czas zatwierdzania transakcji, znacznie skr\u00f3cono czas synchronizacji (z minut do dziesi\u0105tk\u00f3w sekund). Umo\u017cliwiono u\u017cycie blok\u00f3w (bs) o rozmiarze wi\u0119kszym ni\u017c strona pami\u0119ci (ps).\n<li class=\"l\"> W ksmbd (dzia\u0142aj\u0105cy na poziomie j\u0105dra serwer SMB) dodano parametr do ograniczenia maksymalnej liczby po\u0142\u0105cze\u0144 z jednego. <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/pl\/lir\/ipv4\/\"   title=\"adresy IP\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"740\">adresy IP<\/a>smbdirect, smbclient i smbserver zosta\u0142y przeniesione na u\u017cycie standardowych struktur j\u0105dra.\n<li class=\"l\"> W SQUASHFS dodano mo\u017cliwo\u015b\u0107 u\u017cywania opcji SEEK_DATA i SEEK_HOLE w wywo\u0142aniu systemowym lseek() do wyszukiwania danych i pustych miejsc w plikach rozrzedzonych. W niekt\u00f3rych testach odnotowano zwi\u0119kszenie wydajno\u015bci kopiowania plik\u00f3w rozrzedzonych do 150 razy.\n<li class=\"l\"> W EXFAT dodano wsparcie dla ioctl FS_IOC_GETFSLABEL i FS_IOC_SETFSLABEL do odczytu i zapisu etykiet partycji. Umo\u017cliwiono zmian\u0119 opcji montowania podczas ponownego montowania. Przyspieszono \u0142adowanie map bitowych.\n<li class=\"l\"> W NTFS3 dodano wsparcie dla ioctl FS_IOC_GETFSLABEL i FS_IOC_SETFSLABEL do odczytu i ustawiania etykiet partycji.                        <\/ul>\n<li class=\"l\"> <b>Pami\u0119\u0107 i us\u0142ugi systemowe<\/b>\n<ul>\n<li class=\"l\"> Do sk\u0142adu przyj\u0119to implementacj\u0119 mechanizmu komunikacji mi\u0119dzyprocesowej Binder, napisan\u0105 w j\u0119zyku Rust. Binder jest u\u017cywany w Androidzie do organizowania interakcji mi\u0119dzy procesami i zdalnego wywo\u0142ywania metod (jeden proces Android mo\u017ce wywo\u0142a\u0107 metod\u0119 lub funkcj\u0119 w innym procesie Android, u\u017cywaj\u0105c Bindera do identyfikacji, wywo\u0142ania i przekazywania argument\u00f3w mi\u0119dzy procesami). Kod Binder zosta\u0142 przepisany w j\u0119zyku Rust w ramach inicjatywy Google maj\u0105cej na celu zwi\u0119kszenie bezpiecze\u0144stwa Androida.\n<li class=\"l\"> W SLUB, alokatorze pami\u0119ci j\u0105dra, wprowadzono opcjonaln\u0105 warstw\u0119 pami\u0119ci podr\u0119cznej \u201esheaves\u201d, wykorzystuj\u0105c\u0105 kilka pami\u0119ci podr\u0119cznych, z kt\u00f3rych ka\u017cda jest przypisana do osobnego rdzenia CPU, co pozwala lokalizowa\u0107 operacje przy alokacji lub zwalnianiu pami\u0119ci jednym rdzeniem. Taka pami\u0119\u0107 podr\u0119czna zwi\u0119kszy\u0142a wydajno\u015b\u0107 alokacji i zwalniania pami\u0119ci w j\u0105drze, eliminuj\u0105c zb\u0119dne prymitywy synchronizacji wymagane podczas zaanga\u017cowania r\u00f3\u017cnych rdzeni CPU. W przeprowadzonych testach wzrost wydajno\u015bci wyni\u00f3s\u0142 od 6,3% do 31% w zale\u017cno\u015bci od rodzaju obci\u0105\u017cenia.\n<li class=\"l\"> Dodano mo\u017cliwo\u015b\u0107 tworzenia deskryptor\u00f3w plik\u00f3w powi\u0105zanych z okre\u015blon\u0105 przestrzeni\u0105 nazw (namespace). W przeciwie\u0144stwie do odwo\u0142a\u0144 do przestrzeni nazw za pomoc\u0105 identyfikator\u00f3w (\/proc\/&lt;pid&gt;\/ns\/), deskryptor pliku jest przypisany do konkretnego egzemplarza przestrzeni nazw i wyklucza sytuacj\u0119, w kt\u00f3rej identyfikator jest ponownie przydzielany i wskazuje ju\u017c na inny obiekt. Podobnie jak w przypadku u\u017cycia pidfds, otwieranie deskryptor\u00f3w plik\u00f3w, kt\u00f3re odnosz\u0105 si\u0119 do przestrzeni nazw, odbywa si\u0119 za pomoc\u0105 funkcji open_by_handle_at() i name_to_handle_at().\n<li class=\"l\"> Zaimplementowano mechanizm \u201eSwap Table\u201d, kt\u00f3ry pozwala na zwi\u0119kszenie wydajno\u015bci pami\u0119ci wirtualnej. Przyspieszenie osi\u0105ga si\u0119 dzi\u0119ki zmniejszeniu konkurencji o dost\u0119p do pami\u0119ci podr\u0119cznej, efektywniejszemu przeszukiwaniu pami\u0119ci oraz redukcji fragmentacji. Backend oparty na Swap Table zosta\u0142 wykorzystany do buforowania pami\u0119ci zamiast backendu XArray, co pozwoli\u0142o na \u015bredni wzrost wydajno\u015bci o 5-20%. W te\u015bcie usemem przepustowo\u015b\u0107 wzros\u0142a o 17-28%, w te\u015bcie wielow\u0105tkowego ponownego kompilowania j\u0105dra czas kompilacji skr\u00f3ci\u0142 si\u0119 o 1,12-3,19%, a test redis-benchmark z BGSAVE wykaza\u0142 wzrost liczby przetwarzanych zapyta\u0144 o 6-7%.\n<li class=\"l\"> Podsystem Zswap zosta\u0142 przestawiony na bezpo\u015brednie u\u017cycie systemu alokacji pami\u0119ci zsmalloc zamiast warstwy zpool, kt\u00f3ra nie jest ju\u017c u\u017cywana i zosta\u0142a usuni\u0119ta z j\u0105dra.\n<li class=\"l\"> Dla zarz\u0105dzania dzia\u0142aniem loadera mikrokodu w systemach x86 wprowadzono opcj\u0119 wiersza polece\u0144 \u201emicrocode=lista flag\u201d. W obecnej formie nowa opcja zast\u0105pi\u0142a \u201emicrocode.force_minrev\u201d i r\u00f3wnie\u017c pozwala na okre\u015blenie minimalnej wersji mikrokodu dopuszczalnej do za\u0142adunku.\n<li class=\"l\"> Rozpocz\u0119to prace nad reorganizacj\u0105 nadmiernie rozbudowanej struktury \u201epage\u201d, wykorzystywanej do zarz\u0105dzania stronami pami\u0119ci RAM. Dodano typ \u2018memdesc_flags_t\u2019 dla p\u00f3l z uniwersalnymi flagami, kt\u00f3re b\u0119d\u0105 mog\u0142y by\u0107 u\u017cywane po oczekiwanym w przysz\u0142o\u015bci wydzieleniu z struktury \u201epage\u201d osobnych struktur dla slab i folio.\n<li class=\"l\"> Dla architektury nios2, stosowanej w procesorach Altera Nios II (oprogramowanie uk\u0142adowe oparte na FPGA), zaimplementowano wsparcie dla wywo\u0142ania systemowego clone3().\n<li class=\"l\"> Do konfiguracji j\u0105dra (KConfig) dodano atrybut \u201etransitional\u201d, kt\u00f3ry mo\u017cna u\u017cywa\u0107 do oznaczania ustawie\u0144, kt\u00f3re nie s\u0105 wy\u015bwietlane w interfejsach u\u017cytkownika, takich jak \u201emake menuconfig\u201d, i nie s\u0105 uwzgl\u0119dniane w generowanych plikach konfiguracyjnych. G\u0142\u00f3wnym celem tego atrybutu jest uproszczenie zmiany nazw opcji przy zachowaniu zgodno\u015bci wstecznej.\n<li class=\"l\"> Minimalna wersja kompilatora Clang, przy pomocy kt\u00f3rego mo\u017cna zbudowa\u0107 j\u0105dro, zwi\u0119kszona do narz\u0119dzi LLVM 15. W Debianie 12 i Ubuntu 22.04 dostarczane jest LLVM 14.\n<li class=\"l\"> Kontynuowano przenoszenie zmian z ga\u0142\u0119zi Rust-for-Linux, zwi\u0105zanych z wykorzystaniem j\u0119zyka Rust jako drugiego j\u0119zyka do tworzenia sterownik\u00f3w i modu\u0142\u00f3w j\u0105dra (wsparcie dla Rust nie jest domy\u015blnie aktywne i nie prowadzi do wliczania Rust w obowi\u0105zkowe zale\u017cno\u015bci budowlane j\u0105dra). W nowej wersji dla kodu w j\u0119zyku Rust zaimplementowano atomowe operacje pami\u0119ci, struktur\u0119 maple tree, mo\u017cliwo\u015b\u0107 tworzenia plik\u00f3w DebugFS oraz funkcje do manipulacji bitmapami. Rozszerzono dost\u0119p do API dla deweloper\u00f3w sterownik\u00f3w. Dodano kompletny zestaw abstrakcji do rozwoju sterownik\u00f3w urz\u0105dze\u0144 USB (przyk\u0142ad sterownika USB). W narz\u0119dziu perf dodano wsparcie dla symboli debugowania generowanych przez kompilator rustc.                      <\/ul>\n<li class=\"l\"> <b>Wirtualizacja i bezpiecze\u0144stwo<\/b>\n<ul>\n<li class=\"l\"> Dodano wsparcie dla kryptograficznej weryfikacji \u0142adowanych program\u00f3w BPF za pomoc\u0105 cyfrowego podpisu. W przysz\u0142o\u015bci ta funkcjonalno\u015b\u0107 zostanie rozszerzona o mechanizmy do ustalania zasad \u0142adowania podpisanych program\u00f3w BPF oraz umo\u017cliwienie u\u017cytkownikom nieuprzywilejowanym korzystania z weryfikowanych program\u00f3w BPF.\n<li class=\"l\"> W hipernadzorze KVM wprowadzono wsparcie dla wirtualizacji rozszerzenia Intel CET (Control-flow Enforcement Technology), stosowanego w celu ochrony przed exploitami wykorzystuj\u0105cymi techniki programowania oparte na powrotach (ROP - Return-Oriented Programming). Kwintesencj\u0105 tego zabezpieczenia jest to, \u017ce po przekazaniu kontroli funkcji adres powrotu jest zapami\u0119tywany przez procesor nie tylko w zwyk\u0142ym stosie, ale tak\u017ce w osobnym stosie cieniowanym, kt\u00f3rego nie mo\u017cna zmienia\u0107 bezpo\u015brednio.\n<li class=\"l\"> Dodano mo\u017cliwo\u015b\u0107 wykorzystania wi\u0119cej ni\u017c 255 CPU w systemach go\u015bcinnych dzia\u0142aj\u0105cych pod hipernadzorcem Bhyve na hostach z FreeBSD 15.\n<li class=\"l\"> Dodano warstw\u0119 dibs (Direct Internal Buffer Sharing) do zarz\u0105dzanego wsp\u00f3\u0142dzielenia bufor\u00f3w w zisolowanym \u015brodowisku, takim jak hipernadzorca lub instancja j\u0105dra Linux.\n<li class=\"l\"> Do podsystemu audytu dodano wsparcie dla pracy z wieloma jednocze\u015bnie w\u0142\u0105czonymi modu\u0142ami LSM (Linux Security Module).\n<li class=\"l\"> Dodano sterownik virtio spi-virtio do dost\u0119pu do urz\u0105dzenia SPI (Serial Peripheral Interface) z <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/pl\/vps\/\"   title=\"maszyn wirtualnych\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"2239\">maszyn wirtualnych<\/a>.\n<li class=\"l\"> W hipernadzorze KVM dodano wsparcie dla trybu SEV-SNP CipherText Hiding, kt\u00f3ry blokuje mo\u017cliwo\u015b\u0107 odczytu szyfrogramu pami\u0119ci chronionych system\u00f3w go\u015bcinnych w nieautoryzowanym CPU.\n<li class=\"l\"> Dodano sterownik qtee dla \u015brodowisk TEE (Trusted Execution Environment) chip\u00f3w Qualcomm.                    <\/ul>\n<li class=\"l\"> <b>Subsystem sieciowy<\/b>\n<ul>\n<li class=\"l\"> Dodano wsparcie dla szyfrowania po\u0142\u0105cze\u0144 TCP, wykorzystuj\u0105c protok\u00f3\u0142 PSP (PSP Security Protocol), opracowany przez firm\u0119 Google w celu szyfrowania ruchu mi\u0119dzy centrami danych. PSP zapewnia szyfrowanie, kryptograficzn\u0105 kontrol\u0119 integralno\u015bci i uwierzytelnianie \u017ar\u00f3d\u0142a, realizuj\u0105c swoist\u0105 kombinacj\u0119 mo\u017cliwo\u015bci protoko\u0142\u00f3w TLS i IPsec. W PSP stosowane jest szyfrowanie na poziomie poszczeg\u00f3lnych po\u0142\u0105cze\u0144 sieciowych, a nie ca\u0142ego kana\u0142u komunikacyjnego. PSP wykorzystuje oddzielne klucze szyfrowania dla r\u00f3\u017cnych tunelowanych po\u0142\u0105cze\u0144 TCP w celu \u015bci\u015ble izolowanego ruchu mi\u0119dzy r\u00f3\u017cnymi aplikacjami i obs\u0142ugiwaczami. Aby zmniejszy\u0107 obci\u0105\u017cenie CPU, wspierane jest zrzucenie operacji szyfrowania i odszyfrowania na strony kart sieciowych (offload). Do przesy\u0142ania danych wykorzystywany jest protok\u00f3\u0142 UDP, na kt\u00f3ry przekazywana jest zawarto\u015b\u0107 oryginalnego pakietu TCP.     <\/p>\n<p><center><img decoding=\"async\" alt=\"Wydanie j\u0105dra Linux 6.18\" src=\"\/wp-content\/uploads\/2025\/12\/180701a9b56890a55860d65207471472.png\" style=\"display:block;margin: 0 auto;\" \/><\/center>    <\/p>\n<li class=\"l\"> Dodano wst\u0119pne wsparcie dla rozszerzenia AccECN (Dok\u0142adne Eksplicytne Powiadomienie o Zatorze), kt\u00f3re jest ulepszon\u0105 wersj\u0105 rozszerzenia ECN, umo\u017cliwiaj\u0105cego hostom oznaczanie pakiet\u00f3w IP w przypadku przeci\u0105\u017cenia, zamiast ich odrzucania, co pozwala na wczesne wykrywanie pocz\u0105tkowych faz zator\u00f3w w kana\u0142ach komunikacyjnych bez utraty pakiet\u00f3w. Pierwotne rozszerzenie ECN mia\u0142o ograniczenie, kt\u00f3re pozwala\u0142o na sygnalizowanie tylko jednego przeci\u0105\u017cenia w ramach jednego cyklu transmisji TCP (RTT, Round-Trip Time, wys\u0142anie \u017c\u0105dania i odebranie odpowiedzi). AccECN znosi to ograniczenie i pozwala odbiorcy przesy\u0142a\u0107 do nadawcy wi\u0119cej ni\u017c jedn\u0105 etykiet\u0119 o przeci\u0105\u017ceniu w nag\u0142\u00f3wku pakietu TCP. Algorytmy zarz\u0105dzania przeci\u0105\u017ceniem mog\u0105 wykorzysta\u0107 te informacje do dok\u0142adniejszego reagowania na przeci\u0105\u017cenia i nie musz\u0105 drastycznie zmniejsza\u0107 intensywno\u015bci wysy\u0142ania pakiet\u00f3w w przypadku niewielkiego przeci\u0105\u017cenia.\n<li class=\"l\"> W stosie UDP zoptymalizowano przetwarzanie przychodz\u0105cych pakiet\u00f3w w warunkach atak\u00f3w DDoS, prowadz\u0105cych do dostarczenia du\u017cej liczby pakiet\u00f3w do jednego lub kilku gniazd UDP. Wprowadzone optymalizacje, takie jak zmniejszenie blokad konkurencyjnych, optymalizacja rozmieszczenia struktur danych w pami\u0119ci i wdro\u017cenie blokad uwzgl\u0119dniaj\u0105cych architektur\u0119 NUMA (Non-Uniform Memory Access), pozwoli\u0142y zwi\u0119kszy\u0107 wydajno\u015b\u0107 przy odbiorze pakiet\u00f3w UDP o 47% i wi\u0119cej w ekstremalnych warunkach.\n<li class=\"l\"> Wprowadzono mo\u017cliwo\u015b\u0107 wy\u0142\u0105czenia buforowania wej\u015bcia\/wyj\u015bcia na serwerze NFS, co pozwala na jego zastosowanie w systemach z ograniczon\u0105 pami\u0119ci\u0105 (na przyk\u0142ad w uproszczonych \u015brodowiskach chmurowych). Wy\u0142\u0105czenie bufora mo\u017ce by\u0107 r\u00f3wnie\u017c przydatne na obci\u0105\u017conych serwerach NFS, aby unikn\u0105\u0107 wypychania z bufora danych zwi\u0105zanych z lokalnymi no\u015bnikami w wyniku zwolnienia pami\u0119ci dla bufora NFS.\n<li class=\"l\"> Maksymalny rozmiar bufor\u00f3w przychodz\u0105cych i wychodz\u0105cych pakiet\u00f3w dla gniazd sieciowych (net.core.rmem_max i net.core.wmem_max) zosta\u0142 zwi\u0119kszony z 2 MB do 4 MB. Domy\u015blnie ustawiony rozmiar nie zmieni\u0142 si\u0119 (net.core.rmem_default i net.core.wmem_default = 2 MB).\n<li class=\"l\"> Dodano sterownik dla akceleratora operacji sieciowych Qualcomm PPE (Silnik Przetwarzania Pakiet\u00f3w), u\u017cywanego w SoC Qualcomm IPQ9574.        <\/ul>\n<li class=\"l\"> <b>Sprz\u0119t<\/b>\n<ul>\n<li class=\"l\"> J\u0105dro zawiera sterownik Tyr, napisany w j\u0119zyku Rust, kt\u00f3ry obs\u0142uguje GPU ARM Mali, w kt\u00f3rych zastosowano technologi\u0119 CSF (Command Stream Frontend), takie jak Mali G310, G510 i G710. Sterownik nie jest jeszcze gotowy do sta\u0142ego u\u017cytku przez zwyk\u0142ych u\u017cytkownik\u00f3w i jest traktowany jako eksperymentalny prototyp do testowania abstrakcji dla rozwoju sterownik\u00f3w w j\u0119zyku Rust.\n<li class=\"l\"> Do sterownik\u00f3w urz\u0105dze\u0144 wej\u015bciowych z interfejsem HID (Human Interface Device) dodano wsparcie dla g\u0142adzik\u00f3w z haptyk\u0105 i czujnikami si\u0142y nacisku.\n<li class=\"l\"> Kontynuowano prace nad sterownikiem drm (Direct Rendering Manager) Xe dla GPU opartych na architekturze Intel Xe, kt\u00f3re s\u0105 u\u017cywane w kartach graficznych Intel z rodziny Arc oraz w zintegrowanej grafice, pocz\u0105wszy od procesor\u00f3w Tiger Lake. W nowej wersji dodano interfejs madvise, w\u0142\u0105czono wsparcie dla SR-IOV PF (Single Root I\/O Virtualization Physical Function), dodano wsparcie trybu Intel PSMI do walidacji sprz\u0119tu, zapewniono obs\u0142ug\u0119 informacji o b\u0142\u0119dach przesy\u0142anych przez firmware oraz zrealizowano profil poboru energii SLPC, a tak\u017ce dodano wsparcie dla \u0142adowania dodatkowych firmware'\u00f3w (na przyk\u0142ad do kontrolera wentylatora i regulatora napi\u0119cia) w trakcie weryfikacji sterownika.\n<li class=\"l\"> W sterowniku AMDGPU dodano wsparcie dla urz\u0105dze\u0144 z APU Cyan Skillfish, poprawiono wsparcie dla AMD GCN 1.0, wdro\u017cono zgodno\u015b\u0107 z narz\u0119dziem criu, a w sysfs dodano metryki temperatury oraz zezwolono na zapytania o remapping MMIO z przestrzeni u\u017cytkownika.\n<li class=\"l\"> W sterowniku i915 w\u0142\u0105czono wsparcie dla uk\u0142ad\u00f3w z rodziny Wildcat Lake i poprawiono dzia\u0142anie z GPU Jasper Lake, Elkhart Lake, Gen7 i Gen6.\n<li class=\"l\"> W sterowniku Nouveau domy\u015blnie wykorzystano GSP firmware NVIDIA oraz ulepszono obs\u0142ug\u0119 b\u0142\u0119d\u00f3w.\n<li class=\"l\"> Kontynuacja integracji komponent\u00f3w sterownika Nova dla GPU NVIDIA, wyposa\u017conych w firmware GSP, u\u017cywanych od serii NVIDIA GeForce RTX 2000 opartej na mikroarchitekturze Turing. Sterownik zosta\u0142 napisany w j\u0119zyku Rust. Nowa wersja rozszerza wsparcie dla firmware GSP, poprawia implementacj\u0119 makra \u00abregister!\u00bb, dodaje wsparcie dla klas urz\u0105dze\u0144 PCI i identyfikator\u00f3w producent\u00f3w.\n<li class=\"l\"> Dodano sterownik rocket dla akcelerator\u00f3w NPU stosowanych w SoC Rockchip RK3588.\n<li class=\"l\"> Dodany parametr j\u0105dra \u00abboot_display\u00bb do wyboru urz\u0105dzenia wyj\u015bciowego do wy\u015bwietlania procesu \u0142adowania na systemach z wieloma GPU.\n<li class=\"l\"> W sterowniku vesadrm zrealizowano wsparcie dla 8-bitowych palet.\n<li class=\"l\"> Do sterownika msm dodano wsparcie dla GPU Adreno 663 oraz zaimplementowano technologi\u0119 oszcz\u0119dzania energii IFPC (Inter Frame Power Collapse).\n<li class=\"l\"> Do sterownika panthor dodano wsparcie dla GPU Mali-G710, Mali-G510, Mali-G310, Mali-Gx15, Mali-Gx20 i Mali-Gx25.\n<li class=\"l\"> Dodano wsparcie dla system\u00f3w d\u017awi\u0119kowych ASoC Qualcomm Glymur i PM4125, Realtek RT1321, Shanghai FourSemi FS2104\/5S, Texas Instruments PCM1754 oraz TAS2783A, qcs615, CS35L56 B2, tas2118, tas2x20, tas5825. Dodano wsparcie dla kart d\u017awi\u0119kowych USB Tascam US-144mkII i Presonus S1824c.\n<li class=\"l\"> Dodano wsparcie dla procesor\u00f3w ARM Cortex-A320\/A520AE\/A720AE i C1-Nano\/Pro\/Premium\/Ultra.\n<li class=\"l\"> Dodano wsparcie dla platform ARM, SoC i urz\u0105dze\u0144: Apple M2 Pro, M2 Max i M2 Ultra, Sony Xperia SP, Samsung Galaxy S22, Samsung Galaxy S20 FE, ASUS Eee Pad Slider SL101, Lenovo ThinkBook 16, HP Omnibook X14 X1P42100, Dell Inspiron 7441 \/ Latitude 7455, Sige1, NanoPi Zero2, Axis Artpec8, NXP i.MX91, ROCK 2A\/2F, Qualcomm Lemans Auto, Renesas RZ\/T2H, RZ\/N2H, RZ\/T2H i RZ\/N2H, Aspeed AST27xx, Meta Clemente BMC, Netcube Nagami som, Tqma91xx, Ultratronik i.MX8MP Ultra-MACH, i.MX8ULP EVK9, Buffalo WXR-1750DHP.       <\/ul>\n<\/ul>\n<p>Jednocze\u015bnie latynoameryka\u0144ski Fundusz Wolnego Oprogramowania stworzy\u0142 wersj\u0119 ca\u0142kowicie wolnego j\u0105dra 6.18 \u2014 Linux-libre 6.18-gnu, oczyszczon\u0105 z element\u00f3w firmware i sterownik\u00f3w zawieraj\u0105cych niesamodzielne komponenty lub fragmenty kodu, kt\u00f3rych zakres zastosowania jest ograniczony przez producenta. W wersji 6.18 zaktualizowano kod oczyszczania blob\u00f3w w sterownikach Nova-Core, Intel XE, TI PRUeth, Lantiq GSWIP, Marvell WiFi-Ex. Oczyszczono nazwy blob\u00f3w w plikach dts (devicetree) dla chip\u00f3w ARM Qualcomm, Mediatek i TI ARM64. Zneutralizowano \u0142adowanie blob\u00f3w w nowych sterownikach FourSemi fs2104\/5s, TI TAS2783 i Qualcomm GENI.<br \/>\n<br \/>\u0179r\u00f3d\u0142o: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=64346\">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 6.18. \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: dm-pcache \u0434\u043b\u044f \u0434\u0438\u0441\u043a\u043e\u0432\u043e\u0433\u043e \u043a\u044d\u0448\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0432 \u044d\u043d\u0435\u0440\u0433\u043e\u043d\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0439 \u043f\u0430\u043c\u044f\u0442\u0438 (PMEM), \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u0435 Bcachefs, online-\u0440\u0435\u0436\u0438\u043c \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 XFS, \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u044b Binder (Android IPC) \u0438 Tyr (GPU Mali) \u043d\u0430 Rust, \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f USB-\u0434\u0440\u0430\u0439\u0432\u0435\u0440\u043e\u0432 \u043d\u0430 Rust, \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u044f \u043a\u044d\u0448\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0432 \u0430\u043b\u043b\u043e\u043a\u0430\u0442\u043e\u0440\u0435 \u043f\u0430\u043c\u044f\u0442\u0438 SLUB, \u0430\u0434\u0440\u0435\u0441\u0430\u0446\u0438\u044f \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432 \u0438\u043c\u0451\u043d \u043f\u043e \u0444\u0430\u0439\u043b\u043e\u0432\u044b\u043c \u0434\u0435\u0441\u043a\u0440\u0438\u043f\u0442\u043e\u0440\u0430\u043c, [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":150191,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-150190","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.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 6.18.\" \/>\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-6-18\" \/>\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 6.18 | 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 6.18.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/pl\/blog\/news\/reliz-yadra-linux-6-18\" \/>\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=\"2025-12-01T09:11:58+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2025-12-01T09:11:58+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 6.18 | ProHoster","description":"Po dw\u00f3ch miesi\u0105cach prac Linus Torvalds zaprezentowa\u0142 wydanie j\u0105dra Linux 6.18.","canonical_url":"https:\/\/prohoster.info\/pl\/blog\/news\/reliz-yadra-linux-6-18","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 6.18 | 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 6.18.","og:url":"https:\/\/prohoster.info\/pl\/blog\/news\/reliz-yadra-linux-6-18","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":"2025-12-01T09:11:58+00:00","article:modified_time":"2025-12-01T09:11:58+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"150190","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":"default","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-02-09 17:57:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2026-01-23 16:19:20","updated":"2026-02-09 17:57: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\/150190","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=150190"}],"version-history":[{"count":2,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts\/150190\/revisions"}],"predecessor-version":[{"id":159483,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts\/150190\/revisions\/159483"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/media\/150191"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/media?parent=150190"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/categories?post=150190"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/tags?post=150190"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}