Vydanie jadra Linux 5.17

Po dvoch mesiacoch vývoja vydal Linus Torvalds jadro. Linux 5.17. Medzi najvýznamnejšie zmeny patria: nový systém riadenia výkonu pre procesory AMD, schopnosť rekurzívne mapovať ID používateľov v súborových systémoch, podpora prenosných kompilovaných programov BPF, migrácia generátora pseudonáhodných čísel na algoritmus BLAKE2s, utilita RTLA pre analýzu vykonávania v reálnom čase, nový backend fscache pre ukladanie sieťových súborových systémov do vyrovnávacej pamäte, možnosť priradiť názvy k anonymným operáciám mmap.

Nová verzia obsahuje 14203 1995 opráv od 37 11366 vývojárov, veľkosť opravy je 506043 MB (zmeny sa dotkli 250954 44 súborov, pribudlo 5.17 16 riadkov kódu, zmazalo sa 15 4 riadkov). Približne 4 % všetkých zmien zavedených v XNUMX súvisí s ovládačmi zariadení, približne XNUMX % zmien súvisí s aktualizáciou kódu špecifického pre hardvérové ​​architektúry, XNUMX % súvisí so sieťovým zásobníkom, XNUMX % sa týka súborových systémov a XNUMX % súvisia s internými subsystémami jadra.

Kľúčové inovácie v jadre 5.17:

  • Diskový subsystém, I/O a súborové systémy
    • Implementované vnorené mapovanie ID používateľov pre pripojené súborové systémy. Toto sa používa na mapovanie súborov patriacich konkrétnemu používateľovi na pripojenom cudzom oddiele na iného používateľa v aktuálnom systéme. Táto pridaná funkcia umožňuje rekurzívne použitie mapovania cez už namapované súborové systémy.
    • Podsystém fscache, ktorý sa používa na ukladanie dát prenášaných cez sieťové súborové systémy do vyrovnávacej pamäte v lokálnom súborovom systéme, bol kompletne prepísaný. Nová implementácia výrazne zjednodušuje kód a nahrádza zložité operácie plánovania a sledovania stavu objektov jednoduchšími mechanizmami. Podpora pre nový fscache je implementovaná v súborovom systéme CIFS.
    • Subsystém sledovania udalostí súborového systému fanotify implementoval nový typ udalosti FAN_RENAME, ktorý umožňuje simultánne zachytenie operácií premenovania súborov alebo adresárov (predtým sa na spracovanie operácií premenovania používali dve samostatné udalosti, FAN_MOVED_FROM a FAN_MOVED_TO).
    • Súborový systém Btrfs optimalizoval operácie protokolovania a synchronizácie pre veľké adresáre kopírovaním iba indexových kľúčov a znížením množstva protokolovaných metadát. Bola implementovaná podpora indexovania a vyhľadávania podľa veľkosti záznamu voľného miesta, čím sa znížila latencia a časy vyhľadávania približne o 30 %. Operácie defragmentácie je teraz možné prerušiť. Možnosť pridávania zariadení pri vyvažovaní medzi diskami je vypnutá, t. j. pri pripájaní súborového systému s možnosťou skip_balance, bola povolená.
    • Bola navrhnutá nová syntax pre pripojenie súborového systému Ceph, ktorá rieši existujúce problémy spojené s väzbou na IP adresy. Okrem toho IP adresy Teraz môžete na identifikáciu servera použiť identifikátor klastra (FSID): mount -t ceph user@fsid.fs_name=/[subadresár] mnt -o mon_addr=monip1[:port][/monip2[:port]]
    • Súborový systém Ext4 bol migrovaný na nové rozhranie API pre pripájanie, ktoré oddeľuje fázy parsovania možností pripojenia a nastavenia superbloku. Podpora pre možnosti pripojenia lazytime a nolazytime, ktoré boli pridané ako dočasná zmena na zjednodušenie prechodu util-linux na príznak MS_LAZYTIME, bola odstránená. Bola pridaná podpora pre nastavovanie a čítanie návesti súborového systému (ioctl FS_IOC_GETFSLABEL a FS_IOC_SETFSLABEL).
    • NFSv4 pridáva podporu pre prácu v súborových systémoch bez rozlišovania veľkých a malých písmen v názvoch súborov a adresárov. NFSv4.1+ pridáva podporu pre definovanie agregovaných relácií (trunking).
  • Pamäťové a systémové služby
    • Bol pridaný ovládač amd-pstate, ktorý poskytuje dynamické riadenie frekvencie pre optimálny výkon. Tento ovládač podporuje procesory a APU AMD od generácie Zen 2. Bol vyvinutý v spolupráci so spoločnosťou Valve a jeho cieľom je zlepšiť efektivitu správy napájania. Adaptívne zmeny frekvencie využívajú mechanizmus CPPC (Collaborative Processor Performance Control), ktorý umožňuje presnejšie úpravy frekvencie (nie sú obmedzené na tri úrovne výkonu) a responzívnejšiu reakciu na zmeny stavu ako predtým používané ovládače P-state založené na ACPI (CPUFreq).
    • Subsystém eBPF zavádza obslužný program bpf_loop(), ktorý poskytuje alternatívny spôsob organizácie slučiek v programoch eBPF, ktorý je pre overovač rýchlejší a jednoduchší na kontrolu.
    • Na úrovni jadra je implementovaný mechanizmus CO-RE (Compile Once - Run Everywhere), ktorý umožňuje kompiláciu programového kódu eBPF iba raz a použitie špeciálneho univerzálneho zavádzača, ktorý prispôsobí načítaný program aktuálnemu jadru a typom BTF (BPF Type Format).
    • Teraz je k dispozícii možnosť priradiť názvy súkromným anonymným pamäťovým oblastiam (alokovaným pomocou malloc), čo môže zjednodušiť ladenie a optimalizáciu pamäte v aplikáciách. Názvy sa priraďujú pomocou prctl s príznakom PR_SET_VMA_ANON_NAME a zobrazujú sa v /proc/pid/maps a /proc/pid/smaps vo forme "[anon: ]».
    • Plánovač úloh teraz sleduje a zobrazuje v súbore /proc/PID/sched čas strávený procesmi v stave nútenej nečinnosti, čo sa používa napríklad na zníženie záťaže pri prehriatí procesora.
    • Pridaný modul gpio-sim, určený na simuláciu GPIO čipov na testovanie.
    • Príkaz „perf ftrace“ má teraz podpríkaz „latency“ na generovanie histogramov s informáciami o latencii.
    • Bol pridaný balík nástrojov „RTLA“ na analýzu v reálnom čase. Zahŕňa nástroje ako osnoise (určuje vplyv operačného systému na vykonávanie úloh) a timerlat (upravuje oneskorenia súvisiace s časovačom).
    • Bola integrovaná druhá séria záplat, ktorá implementuje koncept folií stránok. Tieto foliá stránok sú podobné zloženým stránkam, ale ponúkajú vylepšenú sémantiku a prehľadnejšiu organizáciu. Používanie folií umožňuje rýchlejšiu správu pamäte v niektorých podsystémoch jadra. Tieto záplaty dokončujú prechod vyrovnávacej pamäte stránok na používanie folií a pridávajú počiatočnú podporu pre foliá v súborovom systéme XFS.
    • Pridaný režim zostavovania „make mod2noconfig“, ktorý generuje konfiguráciu zhromažďujúcu všetky vypnuté podsystémy vo forme modulov jadra.
    • Požiadavky na verziu LLVM/Clang, ktorú je možné použiť na zostavenie jadra, boli zvýšené. Zostavenia teraz vyžadujú aspoň LLVM 11.
  • Virtualizácia a bezpečnosť
    • Navrhuje sa aktualizovaná implementácia generátora pseudonáhodných čísel RDRAND, ktorý je zodpovedný za zariadenia /dev/random a /dev/urandom. Je pozoruhodný prechodom na hašovaciu funkciu BLAKE2s namiesto SHA1 pre operácie miešania entropie. Táto zmena zlepšuje bezpečnosť generátora pseudonáhodných čísel elimináciou problematického algoritmu SHA1 a elimináciou potreby prepisovania inicializačného vektora RNG. Keďže algoritmus BLAKE2s prekonáva SHA1 vo výkone, jeho použitie má tiež pozitívny vplyv na výkon.
    • Pridaná ochrana pred zraniteľnosťami v procesoroch spôsobenými špekulatívnym vykonávaním inštrukcií po bezpodmienečných operáciách skoku dopredu. Problém sa vyskytuje v dôsledku spracovania inštrukcií dopredu bezprostredne nasledujúcich po inštrukcii skoku v pamäti (SLS, Straight Line Speculation). Povolenie tejto ochrany vyžaduje zostavenie s GCC 12, ktorý je momentálne v testovaní.
    • Bol pridaný mechanizmus sledovania počítania referencií (refcount), ktorého cieľom je znížiť chyby pri počítaní referencií, ktoré vedú k prístupu k pamäti po jej uvoľnení. Tento mechanizmus je momentálne obmedzený na sieťový subsystém, ale v budúcnosti môže byť prispôsobený aj pre iné časti jadra.
    • Implementované pokročilé kontroly nových položiek v tabuľke stránok pamäte procesu, čo umožňuje detekciu určitých typov poškodenia a zastavenie systému, čím sa blokujú útoky v ranom štádiu.
    • Pridaná možnosť rozbaliť moduly jadra priamo jadrom, a nie obslužným programom v používateľskom priestore, čo umožňuje modulu LoadPin LSM zabezpečiť, aby sa moduly jadra načítali do pamäte z overeného úložného zariadenia.
    • Povolené zostavovanie s príznakom „-Wcast-function-type“, ktoré umožňuje varovania o pretypovaní ukazovateľov funkcií na nekompatibilný typ.
    • Pridaný ovládač virtuálneho hostiteľa pvUSB pre hypervízor Xen, ktorý poskytuje prístup k zariadeniam USB prenášaným do hosťujúcich systémov (umožňuje hosťujúcim systémom prístup k fyzickým zariadeniam USB priradeným k hosťujúcemu systému).
    • Bol pridaný modul, ktorý umožňuje interakciu cez Wi-Fi so subsystémom IME (Intel Management Engine), ktorý je dodávaný vo väčšine moderných základných dosiek s procesormi Intel a je implementovaný ako samostatný mikroprocesor pracujúci nezávisle od CPU.
    • Pre architektúru ARM64 bola implementovaná podpora pre ladiaci nástroj KCSAN (Kernel Concurrency Sanitizer), ktorý je určený na dynamickú detekciu súbehu v jadre.
    • Pre 32-bitové ARM systémy bola pridaná možnosť použitia mechanizmu KFENCE na detekciu chýb pri práci s pamäťou.
    • Hypervízor KVM pridal podporu pre inštrukcie AMX (Advanced Matrix Extensions) implementované v pripravovaných serverových procesoroch Intel Xeon Scalable.
  • Sieťový subsystém
    • Pridaná podpora pre presunutie operácií riadenia prevádzky na stranu sieťového zariadenia.
    • Bola pridaná možnosť používať protokol MCTP (Management Component Transport Protocol) cez sériové zariadenia. MCTP sa dá použiť na komunikáciu medzi riadiacimi jednotkami a pridruženými zariadeniami (hostiteľské procesory, periférie atď.).
    • TCP stack bol optimalizovaný, napríklad na zlepšenie výkonu volaní recvmsg, bolo implementované oneskorené uvoľňovanie socketových bufferov.
    • Na úrovni oprávnení CAP_NET_RAW je povolené nastavenie režimov SO_PRIORITY a SO_MARK pomocou funkcie setsockopt.
    • Pre IPv4 je povolené viazanie surových soketov na nelokálne IP adresy pomocou volieb IP_FREEBIND a IP_TRANSPARENT.
    • Pridaný parameter sysctl arp_missed_max na konfiguráciu prahového počtu zlyhaní kontroly ARP monitora, po ktorých sa sieťové rozhranie prepne do vypnutého stavu.
    • Poskytla sa možnosť konfigurovať samostatné hodnoty sysctl min_pmtu a mtu_expires ​​pre sieťové menné priestory.
    • Rozhranie API ethtool bolo aktualizované, aby umožňovalo nastavenie a určenie veľkosti vyrovnávacích pamätí prichádzajúcich a odchádzajúcich paketov.
    • Netfilter teraz podporuje filtrovanie tranzitnej prevádzky pppoe v sieťovom moste.
    • V module ksmbd s implementáciou súboru server, ktorý používa protokol SMB3, pridal podporu pre výmenu kľúčov, povolil sieťový port 445 pre smbdirect a pridal podporu pre parameter „smb2 max credit“.
  • Оборудование
    • Do subsystému DRM (Direct Rendering Manager) a ovládača i915 bola pridaná podpora pre obrazovky zobrazujúce citlivé informácie. Napríklad niektoré notebooky sú dodávané s obrazovkami so zabudovaným režimom súkromného prehliadania, čo sťažuje ich prezeranie ostatnými používateľmi. Tieto zmeny umožňujú integráciu špecializovaných ovládačov pre takéto obrazovky a správu režimov súkromného prehliadania nastavením vlastností v štandardných ovládačoch KMS.
    • Ovládač amdgpu obsahuje podporu pre ladiacu technológiu Smart Trace Buffer (STB) pre všetky grafické procesory AMD, ktoré ju podporujú. STB zjednodušuje analýzu zlyhaní a identifikáciu zdroja problémov uložením informácií o funkciách vykonaných pred posledným zlyhaním do špeciálneho buffera.
    • Ovládač i915 pridáva podporu pre čipy Intel Raptor Lake S a štandardne umožňuje podporu pre grafický subsystém Intel Alder Lake P. Teraz je k dispozícii podpora pre ovládanie podsvietenia obrazovky prostredníctvom rozhrania VESA DPCD.
    • Ovládače fbcon/fbdev teraz podporujú hardvérovo akcelerované rolovanie v konzole.
    • Integrácia zmien na podporu čipov Apple M1 pokračovala. Ovládač simpledrm je teraz možné použiť na systémoch s čipom Apple M1 na výstup cez framebuffer poskytovaný firmvérom.
    • Pridaná podpora pre ARM SoC, zariadenia a dosky Snapdragon 7c, 845 a 888 (Sony Xperia XZ2 / XZ2C / XZ3, Xperia 1 III / 5 III, Samsung J5, Microsoft Surface Duo 2), Mediatek MT6589 (Fairphone FP1), Mediatek MT8183 (Acer Chromebook 314), Mediatek MT7986a / b (používaný vo Wi-Fi routeroch), Broadcom BCM4908 (Netgear RAXE500), Qualcomm SDX65, Samsung Exynos7885, Renesas R-Car S4-8, TI J721s2, TI SPEAr320s, NXP i.MX8 ULP8, Aspeed AST2500 / AST2600, Engicam i.Core STM32MP1, Allwinner Tanix TX6, Facebook Bletchley BMC, Goramo MultiLink, JOZ Access Point, Y Soft IOTA Crux/Crux+, t6000/t6001 MacBook Pro 14/16.
    • Pridaná podpora pre procesory ARM Cortex-M55 a Cortex-M33.
    • Pridaná podpora pre zariadenia založené na procesoroch MIPS: Linksys WRT320N v1, Netgear R6300 v1, Netgear WN2500RP v1/v2.
    • Pridaná podpora pre systém na čipe StarFive JH7100 založený na architektúre RISC-V.
    • Pridaný ovládač lenovo-yogabook-wmi na ovládanie podsvietenia klávesnice a prístup k rôznym senzorom na Lenovo Yoga Book.
    • Pridaný ovládač asus_wmi_sensors pre prístup k senzorom používaným na základných doskách Asus X370, X470, B450, B550 a X399 založených na procesoroch AMD Ryzen.
    • Pridaný ovládač x86-android-tablets pre tablety založené na procesore x86 dodávané s platformou Android.
    • Pridaná podpora pre dotykové obrazovky TrekStor SurfTab duo W1 a stylus pre tablety Chuwi Hi10 Plus a Pro.
    • Ovládače pre SoC Tegra 20/30 boli aktualizované o podporu správy napájania a napätia. Táto funkcia umožňuje podporu bootovania na starších 32-bitových zariadeniach založených na SoC Tegra, ako sú ASUS Prime TF201, Pad TF701T, Pad TF300T, Infinity TF700T, EeePad TF101 a Pad TF300TG.
    • Pridané ovládače pre priemyselné počítače Siemens.
    • Pridaná podpora pre LCD panely Sony Tulip Truly NT35521, Vivax TPC-9150, Innolux G070Y2-T02, BOE BF060Y8M-AJ0, JDI R63452, Novatek NT35950, Wanchanglong W552946ABA a Team Source Display TST043015CMHX.
    • Pridaná podpora pre nasledujúce zvukové systémy a kodeky: AMD Renoir ACP, Asahi Kasei Microdevices AKM4375, systémy Intel používajúce NAU8825/MAX98390, Mediatek MT8915, nVidia Tegra20 S/PDIF, Qualcomm ALC5682I-VS a Texas Instruments TLV320ADC3xxx. Problémy s HD zvukom Tegra194 boli vyriešené. Pre kodek CS35L41 bola pridaná podpora HDA. Vylepšená podpora zvukových systémov na notebookoch Lenovo a HP, ako aj na základných doskách Gigabyte.

Zdroj: opennet.ru

Kúpte si spoľahlivý hosting pre stránky s DDoS ochranou, VPS VDS servery 🔥 Kúpte si spoľahlivý webhosting s ochranou DDoS, VPS VDS servery | ProHoster