Společnost Oracle zveřejnila jádro Unbreakable Enterprise Kernel 8

Společnost Oracle představila první stabilní verzi Unbreakable Enterprise Kernel 8 (UEK R8), varianty jádra Linux vyvíjeného pro použití v distribuci Oracle Linux jako alternativy k standardnímu balíčku s jádrem z Red Hat Enterprise Linux. Jádro je dostupné pouze pro architektury x86_64 a ARM64 (aarch64). Zdrojový kód jádra, včetně rozdělení na jednotlivé záplaty, byl zveřejněn v veřejném Git repozitáři Oracle.

Balíček Unbreakable Enterprise Kernel 8 je postaven na jádře Linux 6.12 (verze UEK R7 byla postavena na jádře 5.4 a beta verze RHEL 10 nabízela jádro 6.11), které je doplněno o nové funkce, optimalizace a opravy, a také bylo ověřeno na kompatibilitu s většinou aplikací běžících v RHEL, a optimalizováno pro práci s průmyslovým softwarem a hardwarem Oracle. Instalační a src balíčky s jádrem UEK R8 byly připraveny pro Oracle Linux 9.5 (neexistují žádná omezení pro použití tohoto jádra v podobných verzích RHEL, CentOS, Alma Linux a Rocky Linux).

Klíčové novinky Unbreakable Enterprise Kernel 8:

  • Byl změněn způsob oddělení komponent jádra UEK na jednotlivé balíčky. Modul jádra byl oddělen od základního obrazu jádra a přesunut do kolekcí dodávaných v samostatných balíčcích: kernel-uek-modules-core (základní minimum), kernel-uek-modules (pro servery), kernel-uek-modules-desktop, kernel-uek-modules-extra-netfilter, kernel-uek-modules-usb a kernel-uek-modules-wireless. Související utilities byly přesunuty z základního balíčku kernel-uek-core do samostatného balíčku kernel-uek-tools. Konfigurační soubory se seznamem zakázaných modulů pro načítání byly přejmenovány z ‘blacklist’ na ‘denylist’ v rámci iniciativy k použití inkluzivní terminologie.
  • Pro ARM Ampere systémy používané v Oracle Cloud byla vytvořena samostatná verze jádra kernel-uek64k, jejíž základní velikost stránek paměti byla zvýšena z 4 na 64 KB.
  • Byla přidána podpora poskytovaná v Intel SGX2 (Software Guard Extensions) hardwarové implementace mechanismu EDMM (Enclave Dynamic Memory Management), který umožňuje ovládat přístup k jednotlivým stránkám paměti enclave a dynamicky přidávat/odebírat stránky paměti pro enclave.
  • Do ovladače Intel QAT s podporou zařízení Intel Quick Assist Technology (QAT) byla přidána podpora čtvrté generace procesorů Intel Xeon.
  • Byl přidán systém detekce rozdělených zámků („split-lock“), které vznikají při přístupu k nevyrovnaným datům v paměti kvůli tomu, že při vykonávání atomární instrukce data překračují dvě cache linky CPU. Tyto zámky vedou k významnému poklesu výkonu (o 1000 cyklů pomalejší než atomární operace s daty, která spadají do jedné cache linky).
  • Byla implementována nová metoda ochrany proti zranitelnosti Retbleed v CPU Intel a AMD, která využívá sledování hloubky volání a nezpůsobuje tak velké zpomalení jako dřívější ochrana proti Retbleed.
  • Na systémech x86 byla zajištěna současná aktivace sekundárních jader CPU, což umožnilo zkrátit dobu zavádění jádra na systémech s velkým počtem jader.
  • Byla přidána volba příkazového řádku jádra „ia32_emulation“, která umožňuje během zavádění zapínat a vypínat podporu emulace 32bitového režimu v jádrech sestavených pro architekturu x86-64.
  • Ve výchozím nastavení byl místo CFS (Completely Fair Scheduler) aktivován plánovač úloh EEVDF (Earliest Eligible Virtual Deadline First). Při výběru dalšího procesu pro přenos vykonávání nový plánovač zohledňuje procesy, které nedostaly dostatečné procesorové zdroje, nebo naopak dostaly nepřiměřeně hodně procesorového času. V prvním případě je přenos řízení procesu vynucen, v druhém případě je naopak odložen. Starý plánovač CFS používal pro určení procesů vyžadujících zvláštní pozornost heuristiky a jemné ladění, zatímco nový plánovač je sleduje jasněji a nevyžaduje jemné ladění. EEVDF umožní snížit zpoždění při vykonávání úloh, se kterými měl CFS potíže s plánováním.
  • Pokračuje dodávka systému dynamického ladění DTrace 2.0, který byl převeden na používání subsystému jádra eBPF. DTrace 2.0 funguje nad eBPF, stejně jako stávající nástroje pro sledování v Linuxu fungují nad eBPF.
  • V hypervizoru KVM bylo povoleno používat až 4096 virtuálních CPU (VCPU).
  • Pokračuje používání KTLS, implementace protokolu TLS na úrovni jádra.
  • Byla aktualizována implementace generátoru pseudonáhodných čísel RDRAND, který je zodpovědný za funkci zařízení /dev/random, což bylo převedeno na použití hashovací funkce BLAKE2s místo SHA1 pro operace míchání entropie. Tato změna umožnila zvýšit bezpečnost generátoru pseudonáhodných čísel. Pro urychlení získávání náhodných čísel prostřednictvím systémového volání getrandom() byl zapojen mechanismus vDSO (virtual dynamic shared object), který přesouvá zpracovatele systémového volání z jádra do prostoru uživatele, aby se minimalizovalo přepínání kontextu.
  • Byla přidána podpora rozšíření BIG TCP, které umožňuje zvýšit maximální velikost TCP paketu na 4 GB pro optimalizaci provozu vysoce rychlých vnitřních sítí datových center. Takové zvýšení velikosti paketu při 16bitové velikosti pole v hlavičce se dosahuje implementací „jumbo“ paketů, přičemž velikost v IP hlavičce je nastavena na 0 a skutečná velikost je uvedena v samostatném 32bitovém poli v připojené hlavičce.
  • Pro síťové sokety byla implementována možnost SO_RESERVE_MEM, pomocí které lze rezervovat pro soket určité množství paměti, které zůstane vždy dostupné pro soket a nebude vyjmuto. Použití této možnosti umožňuje zvýšit výkon tím, že se zkrátí v síťovém zásobníku operace alokace a uvolnění paměti, zejména za podmínek nedostatku paměti v systému.
  • Byla provedena optimalizace výkonu plánovače paketů fq (Fair Queuing), která zvýšila propustnost o 5 % při vysokých zátěžích v testu tcp_rr (TCP Request/Response) a o 13 % při neomezeném toku UDP paketů.
  • Byla provedena reorganizace síťových struktur jádra pro zvýšení efektivity kešování dat procesorem, což vedlo ke zvýšení výkonu TCP zásobníku na systémech obsluhujících velké množství paralelních požadavků.
  • Byla přidána podpora knihovny ASMLib 3 pro automatizované řízení úložiště v databázovém systému Oracle.
  • Byla provedena optimalizace výkonu a zlepšení bezpečnosti mechanismu asynchronního vstupu/výstupu io_uring. Byly přidány optimalizace na bázi io_uring pro souborové systémy XFS a Ext4, které umožňují paralelní přímé zápisy do souboru ve více vláknech.
  • Byla vylepšena podpora souborového systému Btrfs. U zařízení s podporou trim/discard je ve výchozím nastavení povolena možnost montování 'discard=async', což umožňuje provádět tyto operace okamžitě pro všechny FS v asynchronním režimu. Byla přidána podpora pro odesílání a přijímání komprimovaných dat bez převodů. Byla přidána podpora pro zápis bloky většími než 64 KB. Bylo zjednodušené sledování kvót. Byla implementována podpora pro montování klonovaných zařízení. Byly vylepšeny kontroly zápisu v režimu NOCOW (propustnost se zvýšila o 9 %). Byly přidány možnosti montování 'ignoremetacsums' a 'ignoresuperflags' pro ignorování nesprávných kontrolních součtů metadata a flagů superbloku. Bylo zajištěno provádění úloh pro odstraňování zařízení, vyvažování zátěže a přerozdělování bloků v paralelním režimu.
  • Ve FS XFS bylo povoleno použití velikosti bloku přesahující velikost stránky paměti. Byly přidány velké počitadla extentů pro velmi velké virtuální disky. Byl přidán režim atomického potvrzení (commit) obsahu souborů. Byla navržena experimentální implementace kontroly (fsck) a obnovy FS v online režimu.
  • V NFS je ve výchozím nastavení zapnuta operace READ_PLUS, definovaná ve specifikaci NFS 4.2, která se používá pro efektivnější čtení dat ze souborů obsahujících mezery.
  • Systém správy paměti byl převeden na použití datové struktury folios (folio paměťových stránek). Folios připomínají sloučené paměťové stránky (compound pages), ale liší se vylepšenou sémantikou a přehlednější organizací práce.
  • Pro operace mapování paměti byla využita datová struktura 'maple tree', která je prezentována jako efektivnější náhrada struktury 'red-black tree'. Maple tree představuje variantu B-tree, která podporuje indexaci podle rozsahů hodnot a je navržena pro efektivní využití cache. moderních procesorů.
  • V mmap byly implementovány zámky na úrovni jednotlivých VMA (Virtual Memory Area), které umožňují zvýšení výkonu víceročných aplikací.
  • Byla přidána datová struktura ptdesc, optimalizující práci s tabulkami paměťových stránek oddělením struktur s metadata a daty pro paměťové stránky.

Zdroj: opennet.ru

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster