Oracle har lanserat den första stabila versionen av Unbreakable Enterprise Kernel 8 (UEK R8), en Linux-kÀrnvariant utvecklad för anvÀndning i Oracle Linux-distributionen som ett alternativ till den standardpaketerade kÀrnan frÄn Red Hat Enterprise Linux. KÀrnan Àr endast tillgÀnglig för x86_64- och ARM64-arkitekturer (aarch64). KÀllkoden till kÀrnan, inklusive uppdelningen i separata patchar, publicerades i Oracle's offentliga Git-repository.
Paketet Unbreakable Enterprise Kernel 8 Àr baserat pÄ Linux-kÀrnan 6.12 (utgÄvan UEK R7 var baserad pÄ kÀrna 5.4, och i beta-versionen av RHEL 10 erbjöds kÀrna 6.11), som kompletteras med nya funktioner, optimeringar och korrigeringar, samt kontrollerats för kompatibilitet med de flesta applikationer som körs pÄ RHEL och optimerats för att fungera med Oracle's industriprogramvara och hÄrdvara. Installations- och src-paket med UEK R8-kÀrnan har förberetts för Oracle Linux 9.5 (det finns inga hinder för att anvÀnda denna kÀrna i motsvarande versioner av RHEL, CentOS, Alma Linux och Rocky Linux).
Nyckelinnovationer i Unbreakable Enterprise Kernel 8:
- Separeringen av UEK-kÀrnkomponenterna har Àndrats till separata paket. KÀrnmoduler har separerats frÄn den grundlÀggande kÀrnbilden och flyttats till samlingar som levereras i separata paket: kernel-uek-modules-core (grundlÀggande minimum), kernel-uek-modules (för servrar), kernel-uek-modules-desktop, kernel-uek-modules-extra-netfilter, kernel-uek-modules-usb och kernel-uek-modules-wireless. Tillhörande verktyg har flyttats frÄn det grundlÀggande paketet kernel-uek-core till ett separat paket kernel-uek-tools. Konfigurationsfiler med listan över förbudna moduler vid start har omdöpts frÄn 'blacklist' till 'denylist' inom ramen för initiativet för att anvÀnda inkluderande terminologi.
- För ARM Ampere-system som anvÀnds i Oracle Cloud har en separat byggnad av kÀrnan kernel-uek64k skapats, dÀr den grundlÀggande sidstorleken har ökats frÄn 4 KB till 64 KB.
- Stöd har lagts till för den hÄrdvaruimplementation av Intel SGX2 (Software Guard Extensions) som tillhandahÄller EDMM (Enclave Dynamic Memory Management)-mekanismen, vilket möjliggör hantering av Ätkomst till individuella minnessidor i en enclave och dynamisk tillÀgg/avlÀgsnande av minnessidor för en enclave.
- I Intel QAT-drivrutinen med stöd för enheter av Intel Quick Assist Technology (QAT) har stöd för den fjÀrde generationen av Intel Xeon-processorer lagts till.
- Ett system för att upptÀcka split-lÄs har lagts till, vilket uppstÄr vid Ätkomst av oalignerade data i minnet eftersom data korsar tvÄ CPU-cachelinjer nÀr en atomÀr instruktion utförs. SÄdana lÄs leder till en betydande prestandaförlust (1000 cykler lÄngsammare Àn en atomÀr operation med data som ligger i en cachelinje).
- En ny metod för att skydda mot sÄrbarheten Retbleed i Intel- och AMD-CPU:er har implementerats, som anvÀnder djupspÄrning av anrop, vilket inte saktar ner systemet lika mycket som den tidigare skyddsmekanismen mot Retbleed.
- PÄ x86-system har samtidig aktivering av sekundÀra CPU-kÀrnor sÀkerstÀllts, vilket har minskat nedladdningstiden för kÀrnan pÄ system med mÄnga kÀrnor.
- En kÀrnkommandoradsparameter "ia32_emulation" har lagts till, vilket möjliggör aktivering och inaktivering av stöd för 32-bitars emulering i kÀrnor som Àr byggda för x86-64-arkitektur under uppstartsfasen.
- Som standard har schemalÀggaren CFS (Completely Fair Scheduler) ersatts av EEVDF (Earliest Eligible Virtual Deadline First). Vid valet av nÀsta process för exekvering beaktar den nya schemalÀggaren processer som har fÄtt för lite CPU-resurser eller som har fÄtt orimligt mycket processortid. I det första fallet tvingas kontrollen att överlÀmnas till processen, medan det i det andra fallet skjuts upp. Den gamla CFS-schemalÀggaren anvÀnde heuristik och finjusteringar för att bestÀmma processer som krÀvde sÀrskild uppmÀrksamhet, medan den nya schemalÀggaren spÄrar dem mer direkt och krÀver ingen finjustering. EEVDF kommer att minska fördröjningar vid exekvering av uppgifter som CFS hade problem med vid schemalÀggning.
- Leveransen av det dynamiska felsökningssystemet DTrace 2.0 har fortsatt, och har övergÄtt till att anvÀnda kÀrnans eBPF-subsystem. DTrace 2.0 körs ovanpÄ eBPF, pÄ liknande sÀtt som befintliga spÄrningsverktyg i Linux fungerar.
- I KVM-hypervisorn Àr det nu möjligt att anvÀnda upp till 4096 virtuella CPU:er (VCPU).
- AnvÀndningen av KTLS, en implementation av TLS-protokollet pÄ kÀrnnivÄ, fortsÀtter.
- Implementation of the RDRAND random number generator has been updated, which is responsible for the operation of the device /dev/random, now using the BLAKE2s hash function instead of SHA1 for entropy mixing operations. This change enhances the security of the random number generator. To speed up random number generation through the getrandom() system call, the vDSO (virtual dynamic shared object) mechanism has been utilized, moving the system call handler from the kernel to user space to avoid context switches.
- Support for the BIG TCP extension has been added, allowing an increase in the maximum size of TCP packets to 4GB to optimize the operation of high-speed internal data center networks. This increase in packet size with a 16-bit header field size is achieved through the implementation of 'jumbo' packets, where the size in the IP header is set to 0, and the actual size is transmitted in a separate 32-bit field in an additional attached header.
- An option SO_RESERVE_MEM has been implemented for network sockets, allowing a certain amount of memory to be reserved for the socket, which will always remain available and will not be reclaimed. Using this option improves performance by reducing the memory allocation and return operations in the network stack, especially under conditions of memory shortages in the system.
- Performance optimization of the fq (Fair Queuing) packet scheduler has been carried out, increasing throughput by 5% under heavy loads in the tcp_rr (TCP Request/Response) test and by 13% in an uncontrolled flow of UDP packets.
- Reorganization of the kernel's network structures has been conducted to improve data caching efficiency by the processor, enhancing the performance of the TCP stack on systems handling a large number of concurrent requests.
- Support for ASMLib 3 has been added for automatic storage management in Oracle DBMS.
- Work has been carried out to optimize performance and enhance security for the io_uring asynchronous input/output mechanism. io_uring-based optimizations for XFS and Ext4 file systems have been added, enabling parallel direct writing to a file in multiple threads.
- FörbÀttrat stöd för filsystemet Btrfs. För enheter med stöd för trim/discard Àr monteringsalternativet 'discard=async' som gör att dessa operationer kan utföras omedelbart för alla FS i asynkront lÀge aktiverat som standard. Stöd för att skicka och ta emot komprimerade data utan omvandlingar har lagts till. Stöd för att skriva i block större Àn 64 KB har lagts till. Förenklad hantering av kvoter. Stöd för att montera klonade enheter har implementerats. Kontroll av skrivning i NOCOW-lÀget har förbÀttrats (bandbredden har ökat med 9 %). Monteringsalternativen 'ignoremetacsums' och 'ignoresuperflags' har lagts till för att ignorera felaktiga kontrollsummor för metadata och superblocket. Uppgifter för att ta bort enheter, balansera och omfördela block kan utföras parallellt.
- I XFS-filsystemet Àr anvÀndning av blockstorlek som överskrider minnessidans storlek tillÄten. Stora extentrÀknare för mycket stora virtuella diskar har lagts till. En atomÀr bekrÀftelsemetod (commit) för filinnehÄll har lagts till. En experimentell implementation av kontroll (fsck) och ÄterstÀllning av FS i online-lÀge har föreslagits.
- I NFS Àr anvÀndningen av READ_PLUS-operationen, definierad i specifikationen NFS 4.2 och tillÀmpad för mer effektiv lÀsning av data frÄn filer som innehÄller hÄl, aktiverad som standard.
- Minneshanteringssystemet har övergÄtt till anvÀndning av datakonstruktionen folios (folios av minnessidor). Folios liknar sammansatta minnessidor (compound pages), men har en förbÀttrad semantik och en mer tydlig arbetsorganisation.
- För minnesmappningsoperationer anvÀnds datakonstruktionen 'maple tree', som positioneras som en mer effektiv ersÀttning för strukturen 'red-black tree'. Maple tree Àr en variant av B-tree som stödjer indexering baserat pÄ vÀrdeintervall och Àr designad för effektiv anvÀndning av cache. moderna processorer.
- I mmap har lÄs pÄ nivÄn för individuella VMA (Virtual Memory Area) realiserats, vilket gör det möjligt att öka prestandan för flertrÄdade applikationer.
- En datakonstruktion ptdesc har lagts till, som optimerar arbetet med minnes sidtabeller genom att separera strukturer med metadata och data för minnessidor.
KĂ€lla: opennet.ru
