Linux 7.1

Po dvou měsících vývoje Linus Torvalds představen vydání jádra Linux 7.1Mezi nejvýznamnější změny patří: nový ovladač ntfsplus, první fáze ukončení podpory procesoru i486, odstranění starých ethernetových adaptérů, odstranění protokolů ISDN a AX.25, standardně povolení mechanismu Intel FRED, podpora obslužných rutin BPF v io_uring, optimalizace subsystému swap, podpora podplánovačů v sched_ext, I/O s nulovou kopií v ovladači ublk, operace vypnutí ioctl v Btrfs, přepínání dynamického režimu výkonu v ovladači amd-pstate a podpora xattr pro unixové sockety.

Nová verze obsahuje 17 275 oprav od 2 589 vývojářů s velikostí opravy 57 MB (změny ovlivnily 13 528 souborů, přidaly 751 785 řádků kódu a odstranily 405 916 řádků). Předchozí verze obsahovala 15 624 oprav od 2 477 vývojářů s velikostí opravy 56 MB. Přibližně 41 % všech změn ve verzi 7.1 se týká ovladačů zařízení, přibližně 12 % změn se týká aktualizací kódu specifického pro hardwarové architektury, 14 % se týká síťového zásobníku, 5 % souborových systémů a 3 % interních subsystémů jádra.

Klíčové nové funkce v jádře 7.1 (kernelnewbies.org, lwn.net, opennet):

Diskový subsystém, I/O a souborové systémy
  • Přijato do složení nová implementace Souborový systém NTFS – ntfsplus, založený na kódu klasického ovladače ntfs, který byl z jádra odstraněn. Starý ovladač byl přepracován, rozšířen o možnosti zápisu dat a upraven pro podporu moderních funkcí, jako je použití svazky stránek paměti (folia) namísto struktury buffer_head. Nový ovladač implementuje línou alokaci bloků, která umožňuje vysoký výkon zápisu a sníženou fragmentaci. Knihovna se používá pro operace čtení/zápisu s vyrovnávací pamětí, přímý vstup/výstup, mapování extentů a stránkované operace čtení/zápisu. iomapV testech iozone byl ovladač ntfsplus o 3–5 % rychlejší než ntfs3 při zápisu v jednovláknovém režimu a o 35–110 % rychlejší při použití 4 vláken. Rychlost čtení ntfsplus a ntfs3 je přibližně stejná. Ovladač ntfs3 zůstává v jádře a je v něm zahrnut. vyrobeno opravy a drobná vylepšení.
  • Přidána podpora pro generování a ověřování dat kontroly integrity T10 (deepwiki.com) na úrovni souborového systému, nikoli na úrovni blokového zařízení, což umožňuje lepší výkon operací čtení.
  • V ovladači blokového zařízení ublk, což umožňuje přesun specifické logiky na stranu procesů v uživatelském prostoru, přidal podpora I/O přes sdílenou paměť bez kopírování dat mezi vyrovnávacími pamětí (režim nulové kopie).
  • Pro samošifrovací bloková zařízení SED-OPAL přidal ioctl pro ovládání režimu Single User a příkaz STACK_RESET byl implementován.
  • Btrfs oznámil stabilní podporu pro operaci shutdown ioctl, která umožňuje souborovému systému přejít do stavu, ve kterém se sice pokouší dokončit již spuštěné operace, ale všechny nové operace jsou blokovány.
  • exfat implementuje možnost rezervovat prázdné oblasti voláním funkce fallocate().
  • Souborový systém CIFS nyní podporuje vytváření dočasných souborů s příznakem O_TMPFILE.
  • V systémovém volání fsmount() Byla přidána volba FSMOUNT_NAMESPACE, která vytváří nový jmenný prostor přípojného bodu pro připojený souborový systém. Do systémových volání clone3() a unshare() byly přidány příznaky, které vracejí nový jmenný prostor přípojného bodu obsahující pouze připojený, prázdný stub souborového systému založený na nullfs a ovladač fs-dax s rozhraním souborového systému pro zařízení DAX (přímý přístup).
  • Na NFS server přidal Ochrana před útoky hrubou silou na deskriptory souborů je implementována certifikací deskriptorů kryptografickým podpisem. Tato ochrana je aktivována pomocí volby připojení sign_fh.
  • Přidat ovladač znaků fs-dax, který poskytuje rozhraní pro interakci se zařízeními DAX (kernel.org) (Přímý přístup), které podporují obcházení mezipaměti stránek. Toto rozhraní je nezbytné pro integraci do jádra souborového systému. rodiny, umístěný v RAM.
  • V souborovém systému Ceph implementováno sbírka vstupních/výstupních metrik propojených s podsekcemi.
Paměťové a systémové služby
  • Přijato První série změn k odstranění podpory procesorů i486. Z Kconfig byly odstraněny možnosti pro sestavení jádra s podporou procesorů 486DX, 486SX a AMD ELAN (CONFIG_M486, CONFIG_M486SX a CONFIG_MELAN) a z Makefile byly odstraněny možnosti kompilace pro systémy i486 (-march=i486). Samotný kód pro podporu procesorů i486 je stále v jádře, ale sestavení pro takové systémy nyní bude vyžadovat záplaty do makefilů. Důvody pro odstranění podpory procesorů i486 jsou dány snahou zbavit jádro složitého kódu emulujícího některé hardwarové operace, jako je CX8 (porovnání a výměna 8 bajtů) a TSC (čítač cyklů CPU používaný v plánovači úloh).
  • V ovladači amd-pstate, který se používá pro správu napájení v systémech s procesory AMD, implementováno Dynamicky přepíná nastavení výkonu a mění chování správy napájení v závislosti na tom, zda je zařízení napájeno ze zdroje napájení nebo z baterie. Při připojení ke zdroji napájení se nyní aktivuje režim výkonu, zatímco při provozu na baterii se aktivuje režim balance_performance.
  • Mechanismus je aktivován ve výchozím nastavení Intel FRED (Flexibilní návrat a doručování událostí), což zlepšuje efektivitu a spolehlivost doručování událostí na nízké úrovni. Zlepšení výkonu a snížení latence se dosahuje vracením událostí pomocí instrukce procesoru IRET namísto jejich předávání přes tabulku deskriptorů přerušení (IDT). Zvýšené spolehlivosti se dosahuje oddělením zpracování příjmu událostí v kontextu jádra a uživatele, ochranou před vnořeným prováděním NMI a uložením všech registrů CPU souvisejících s výjimkami v rozšířeném zásobníku.
  • V subsystému perf přidal podpora jednotek pro monitorování výkonu paměti (PMU) používaných v SoC NVIDIA Tegra410.
  • Operace Futexu na systémech ARM byly zrychleny využitím instrukcí Arm 9.6 LSUI, které umožňují jádru přístup k paměti uživatelského prostoru bez předchozího vypnutí zabezpečeného režimu. PAN (arm.com) (Privilegovaný přístup nikdy).
  • Podpora pro rozšíření architektury instrukční sady (Instruction Set Architecture Extension) byla na systémech založených na ARM vylepšena. MPAM (Rozdělování a monitorování systémových prostředků paměti) a přidána možnost jeho použití v uživatelském prostoru ke správě zdrojů prostřednictvím mechanismu resctrlMPAM označuje každý přístup k paměti pomocí ID oddílu (PARTID) a ID monitorovací skupiny (PMG). Pomocí PARTID můžete omezit spotřebu zdrojů, jako je šířka pásma paměti nebo velikost mezipaměti, a zabránit tak, aby jedna skupina úloh spotřebovávala všechny zdroje. V kontextu monitorování lze kombinaci PMG a PARTID použít ke sledování spotřeby paměti při specifických úlohách.
  • Přidal Možnost použití režimu reálného času (PREEMPT_RT) na 32bitových procesorech ARM. Dříve byla podpora PREEMPT_RT poskytována pro architektury x86 a x86-64, ARM64, RISC-V a LoongArch.
  • V systémovém volání klon3() přidány nové příznaky: CLONE_NNP — zákazu získání nových oprávnění ve vytvořeném procesu; CLONE_AUTOREAP — automatické ukončení procesu namísto jeho přeměny na zombie proces, dokud rodičovský proces neprovede funkci wait(); CLONE_PIDFD_AUTOKILL — ukončení podřízeného procesu, pokud je uzavřen handle pidfd, který je s ním spojen (například při ukončení rodičovského procesu).
  • Pro každý modul jádra byl do adresáře /sys/module přidán soubor s názvem import_ns, který obsahuje seznam importovaných jmenných prostorů symbolů (jmenný prostor symbolů).
  • Asynchronní I/O systém io_uring nyní podporuje použití subsystému BPF k vytváření obslužných rutin. Například hlavní smyčku odesílání lze nahradit programem BPF.
  • V subsystému BPF modernizované analýza využití zásobníku, která výrazně urychlila ověřování mnoha BPF programů ověřovatelem.
  • Pro optimalizaci výkonu přepsáno Subsystém hrtimer (časovač s vysokým rozlišením). Plánovač úloh nyní může používat časovače s vysokým rozlišením bez ztráty výkonu namísto méně přesných časovačů.
  • Pokračování portování změn z Rustu pro branchLinux, související s použitím jazyka Rust jako druhého jazyka pro vývoj ovladačů a modulů jádra (podpora Rustu není ve výchozím nastavení aktivní a nevede k tomu, že by Rust byl zahrnut do seznamu povinných závislostí sestavení jádra). Až do verze 1.85 (dodáváno v Debian 13) Zvýšené požadavky na verzi Rust potřebnou pro sestavení komponent jádra. Přidána experimentální volba Kconfig CONFIG_RUST_INLINE_HELPERS pro vkládání interpolací jazyka C do kódu Rust během kompilace (tato optimalizace zlepšila výkon ovladače nulových bloků o 2 %). Přidáno makro 'const_assert!'. Rozšířeny možnosti modulů sizes, clk, ptr, sync a error.
  • Do mechanismu SCHED_EXT, který umožňuje použití BPF k vytváření plánovačů CPU, přidal Počáteční možnost vytvářet podplánovače, což umožňuje každé kontrolní skupině mít svůj vlastní plánovač úloh.
  • Optimalizace subsystému swap pokračuje. Stará struktura swap_map byla odstraněna a nahrazena strukturou „Výměnný stůl„Změna zlepšila výkon a snížila spotřebu paměti ve stránkovacím subsystému.“
  • K subsystému Damone (Data Access MONitor), který umožňuje sledovat přístup procesu k datům v paměti RAM (například můžete zjistit, ke kterým oblastem paměti proces přistupoval a které oblasti paměti zůstaly neobsazené), přidal podpora různých automatických algoritmů ladění kvóty.
  • V trasovacím subsystému implementováno Koncept externích kruhových vyrovnávacích pamětí, který umožňuje načítání trasovacích dat z virtuálních počítačů. Tato funkce se používá v KVM a nVHE pro přenos trasovacích dat z hostovaného systému na hostitelskou stranu.
  • K subsystému RV (kernel.org) (Runtime Verification), určené ke kontrole správného provozu vysoce spolehlivých systémů, byly přidány monitorovací komponenty.stání„sledovat úkoly, které jsou dočasně pozastaveny nebo blokovány, a“lhůta» analyzovat chování plánovače úloh.
Virtualizace a bezpečnost
  • Ve výchozím nastavení je nastaven příznak PROC_MEM_FORCE_PTRACE, který umožňuje obejít přístupová práva ke zpracování paměti prostřednictvím souboru. /proc/PID/mem pouze pro procesy, které používají systémové volání ptrace() pro ladění.
  • Přidat nová sada háčků pro LSM moduly (Linux Bezpečnostní modul), který zjednodušuje implementaci politik pro souborové systémy založené na zásobníku, jako jsou overlayfs. LSM také přidal hook pro řízení přístupu k unixovým socketům, který zapojený v modulu Landlock LSM pro přiřazení přístupových politik k unixovým socketům.
  • Ve vestavěné krypto knihovně lib/krypto, které poskytuje jednodušší a rychlejší funkce než tradiční krypto API, přidal Byla přidána podpora pro algoritmy AES-CMAC, AES-XCBC-MAC, AES-CBC-MAC, GHASH a SM3. dokumentaci od lib/crypto.
  • Režim byl implementován pKVM (Protected KVM) pro striktní izolaci anonymní paměť Používání virtualizačních rozšíření pro architekturu AArch64. V tomto režimu jsou stránky paměti hosta vyloučeny z tabulky virtuálních adres hostitelského systému.
  • Byla přidána podpora pro hypervizor KVM. pátá verze Virtuální generický řadič přerušení ARM v5 (VGICv5).
Síťový subsystém
  • Pro unixové sockety vytvořené funkcí socket() implementováno Podpora pro rozšířené atributy souborů (xattr) user.*. Mezi aplikace patří nastavení značek pomocí rozšířených atributů na unixových socketech používaných pro Varlink IPC, což umožňuje jejich odlišení od obecného prostředí IPC pomocí programů BPF pro kontrolu a ladění operací IPC. V systemd-journald jsou rozšířené atributy určeny k definování formátu protokolu pro socket /dev/log.
  • Smazáno podpora protokolu UDP-Lite (RFC 3828), který umožňuje doručování paketů s nesprávným kontrolním součtem s očekáváním, že například částečně poškozená audio a video data lze obnovit na úrovni kodeku. Protokol byl odstraněn, protože jej nikdo nepoužívá.
  • Odebráno Možnost sestavení IPv6 stacku jako modulu jádra, což se v praxi nepoužívá (IPv6 je buď zabudovaný v jádře, nebo zcela zakázaný), ale komplikuje údržbu, protože při sestavení IPv6 jako modulu jádra (CONFIG_IPV6=m) je mnoho subsystémů nuceno přidávat zbytečné obslužné rutiny pro případ, že by byl modul IPv6 uvolněn.
Оборудование
  • V ovladači AMDGPU v ceně Nový grafický engine (DC) pro APU řady AMD HD 7000 (Sea Islands, GCN 1.1).
  • In Nouveau řidič přidal Počáteční podpora pro grafické karty NVIDIA GA100 založené na mikroarchitektuře Ampere.
  • Pokračovaly práce na ovladači Xe DRM (Direct Rendering Manager) pro GPU založené na architektuře Intel Xe, která se používá v grafických kartách řady Intel Arc a integrovaných grafických kartách, počínaje procesory Tiger Lake. Byla přidána podpora grafického subsystému procesorů Intel Nova Lake-P. Byly implementovány objekty Purgeable Buffer Objects.
  • Pokračovali jsme v integraci komponent ovladače Nova pro grafické karty NVIDIA vybavené firmwarem GSP, který se používá od řady NVIDIA GeForce RTX 2000 založené na mikroarchitektuře Turing. Ovladač je napsán v jazyce Rust. Byla přidána počáteční podpora pro grafické karty založené na mikroarchitektuře Turing.
  • Přidat Ovladač DRM corebootdrm pro grafický výstup přes framebuffer firmwaru založeného na CoreBootu.
  • Přidal Podpora pro následující ASoC: AMD RPL DMIC, Cirrus Logic CS42L43, CS47L47, NVIDIA CPCAP a WM8962. Vylepšená podpora pro USB audio zařízení: Huawei Headset, Focusrite Novation, MV-Silicon, Studio 1824, Arturia AF16Rig, Hotone Audio, Feaulle Rainbow, PreSonus AudioBox, Moondrop Ju Jiu a Scarlett 18i20.
  • Přidat Ovladač Yogafan pro sledování rychlosti ventilátoru na noteboocích Lenovo Yoga, Legion a IdeaPad.
  • Přidal Podpora pro deskové desky, SoC a zařízení ARM: Qualcomm Glymur, Qualcomm Mahua, Qualcomm Eliza, Qualcomm IPQ5210, Qualcomm apq8084 a ipq806x, Axis ARTPEC-9, ARM Zena, ARM corstone-1000-a320, Microchip LAN9691, Microchip PIC64GX, Rockchip RV1103B, Renesas RZ/G3L, NXP S32N79.
  • Smazáno Podpora pro řadiče AHCI SATA a PCIe používané v SoC Baikal-T1, stejně jako ovladače pro časovač, paměť, fyzickou mapu, sběrnici, hwmon, dwc a bt1-rom. Důvodem odstranění je nedostatečná podpora a neúplná integrace komponent platformy Baikal do jádra, jelikož výroba v Rusku byla ukončena v listopadu 2025.
  • Odebráno 12 ovladačů pro ethernetová zařízení s rozhraními ISA a PCMCIA, vydaných před rokem 2002, u kterých nebyl nalezen žádný uživatel, který by je používal v produkčních systémech. Subsystém ISDN, implementace protokolů AX.25, CAIF a ovladače Bluetooth CMTP (Common ISDN Application Programming Interface Message Transport Protocol), yellowfin (Yellowfin Gigabit-NIC), hamachi (Hamachi GNIC-II), hamradio (Amateur Radio), inport a logibm (busmouse). Důvodem odstranění byl nedostatek aktivních správců uprostřed rostoucího počtu chyb identifikovaných syzboty a nástroji umělé inteligence. Nikdo se neujímá úkolu jejich opravy a veškerá tíha opravování závažných problémů padá na správce subsystémů jádrové sítě jádra. Celkem bylo odstraněno přes 140 000 řádků kódu.

Zdroj: linux.org.ru

Kupte si spolehlivý hosting pro stránky s DDoS ochranou, VPS VDS servery 🔥 Kupte si spolehlivý webhosting s ochranou DDoS, VPS VDS servery | ProHoster