Kompania Oracle paraqiti versionin e parë të stabilizuar të Unbreakable Enterprise Kernel 8 (UEK R8), një variant i kernelit Linux i zhvilluar për përdorim në distribucionin Oracle Linux si alternativë ndaj paketës standarde me kernel nga Red Hat Enterprise Linux. Ky kernel është i disponueshëm vetëm për arkitekturat x86_64 dhe ARM64 (aarch64). Kodi burimor i kernelit, duke përfshirë ndarje në patches të veçanta, është publikuar në një depo publike Git të Oracle.
Pakoja Unbreakable Enterprise Kernel 8 është e bazuar në kernelin Linux 6.12 (nxjerrja UEK R7 ishte e bazuar në kernelin 5.4, ndërsa në versionin beta RHEL 10 u propozua kernel 6.11), i cili është plotësuar me mundësi të reja, optimizime dhe rregullime, si dhe është testuar për përputhshmërinë me shumicën e aplikacioneve që funksionojnë në RHEL dhe është optimizuar për punën me software dhe hardware industrial të Oracle. Paketat instalues dhe src me kernelin UEK R8 janë përgatitur për Oracle Linux 9.5 (nuk ka pengesa për përdorimin e këtij kernel në versione të ngjashme RHEL, CentOS, Alma Linux dhe Rocky Linux).
Shkëputjet kryesore të Unbreakable Enterprise Kernel 8:
- Ndryshimi i ndarjes së komponentëve të kernelit UEK në paketa të veçanta. Modulet e kernelit janë ndarë nga imazhi bazë i kernelit dhe janë bërë pjesë e koleksioneve të ofruara në paketa të veçanta: kernel-uek-modules-core (minimumi bazë), kernel-uek-modules (për serverësh), kernel-uek-modules-desktop, kernel-uek-modules-extra-netfilter, kernel-uek-modules-usb dhe kernel-uek-modules-wireless. Programet përkatëse janë ndarë nga paketa bazë kernel-uek-core në një paketë të veçantë kernel-uek-tools. Skedarët e konfigurimit me listën e moduleve të ndaluara për ngarkim janë rinomuar nga 'blacklist' në 'denylist' në kuadër të iniciativës për përdorimin e terminologjisë inkluzive.
- Për sistemet ARM Ampere, të përdorura në Oracle Cloud, është formuar një ndarje e veçantë e kernelit kernel-uek64k, ku madhësia bazë e faqeve të memories është rritur nga 4 në 64 KB.
- Shtuar mbështetje për realizimin hardware të Intel SGX2 (Software Guard Extensions), mekanizmi EDMM (Enclave Dynamic Memory Management), që lejon menaxhimin e aksesit në faqet e veçanta të memories së enklavës dhe shtimin/ndryshimin dinamik të faqeve të memories për enklavë.
- Në drejtuesin Intel QAT me mbështetje për pajisjet Intel Quick Assist Technology (QAT), është shtuar mbështetje për brezin e 4-të të procesorëve Intel Xeon.
- NjĂ« sistem i ri pĂ«r identifikimin e bllokimeve tĂ« shpĂ«rndara (âsplit-lockâ) Ă«shtĂ« shtuar, i cili ndodh kur aksesohet tĂ« dhĂ«na tĂ« paqĂ«ndrueshme nĂ« memorie, sepse gjatĂ« ekzekutimit tĂ« njĂ« instruksioni atomik tĂ« dhĂ«nat kalojnĂ« nĂ«pĂ«r dy linja tĂ« caches sĂ« CPU-sĂ«. TĂ« tilla bllokime çojnĂ« nĂ« njĂ« rĂ«nie tĂ« konsiderueshme tĂ« performancĂ«s (nĂ« 1000 cikle mĂ« tĂ« ngadalta se operacioni atomik me tĂ« dhĂ«na qĂ« bien nĂ« njĂ« linjĂ« cache).
- ĂshtĂ« realizuar njĂ« metodĂ« e re mbrojtjeje nga vulnerabiliteti Retbleed nĂ« CPU-tĂ« Intel dhe AMD, e cila pĂ«rdor ndjekjen e thellĂ«sisĂ« sĂ« thirrjeve, qĂ« nuk e ngadalĂ«sone punĂ«n aq sa mbrojtja e mĂ«parshme nga Retbleed.
- Në sistemet x86, është mundësuar aktivizimi i njëkohshëm i kernelëve të dytë të CPU-së, çka ka lejuar reduktimin e kohës së ngarkesës së kernelit në sistemet me një numër të madh bërthama.
- Shtuar Ă«shtĂ« njĂ« parametĂ«r i komandĂ«s sĂ« linjĂ«s sĂ« kernelit âia32_emulationâ, i cili lejon aktivizimin dhe çaktivizimin e mbĂ«shtetjes pĂ«r emulimin e modit 32-bit gjatĂ« fazĂ«s sĂ« ngarkesĂ«s nĂ« kernelĂ«t e ndĂ«rtuar pĂ«r arkitekturĂ«n x86-64.
- Si parazgjedhje vendosi planifikuesin e detyrave EEVDF (Earliest Eligible Virtual Deadline First) në vend të CFS (Completely Fair Scheduler). Kur zgjidhet procesi tjetër për ta vazhduar, planifikuesi i ri merr parasysh proceset që nuk kanë marrë burime të mjaftueshme CPU ose që kanë marrë pa të drejtë shumë kohë procesori. Në rastin e parë, transferimi në procesin do të forcëzohet, ndërsa në të dytin, përkundrazi, do të vonohet. Planifikuesi i vjetër CFS përdorte heuristik dhe rregullime delikate për të identifikuar proceset që kërkonin vëmendje të veçantë, ndërsa planifikuesi i ri i ndjek ato më qartë dhe nuk ka nevojë për rregullim të hollë. EEVDF do të lejojë uljen e vonesave në ekzekutimin e detyrave, me të cilat CFS kishte probleme me planifikimin.
- ĂshtĂ« vazhduar ofrimi i sistemit tĂ« debugging dinamik DTrace 2.0, i cili Ă«shtĂ« pĂ«rmirĂ«suar pĂ«r tĂ« pĂ«rdorur nĂ«n-sistemĂ«n e bĂ«rthamĂ«s eBPF. DTrace 2.0 funksionon sipĂ«r eBPF, siç bĂ«jnĂ« mjetet ekzistuese tĂ« gjurmimit nĂ« Linux.
- Në hipervizorin KVM, është lejuar përdorimi i deri në 4096 CPU-ve virtuale (VCPU).
- Përdorimi i KTLS, implementimi i protokollit TLS në nivelin e kernelit, është vazhduar.
- ĂshtĂ« pĂ«rmirĂ«suar implementimi i gjeneruesit tĂ« numrave tĂ« rastit RDRAND, i cili Ă«shtĂ« pĂ«rgjegjĂ«s pĂ«r funksionimin e pajisjes /dev/random, i cili Ă«shtĂ« kaluar nĂ« pĂ«rdorimin e funksionit hash BLAKE2s nĂ« vend tĂ« SHA1 pĂ«r operacionet e pĂ«rzierjes sĂ« entropisĂ«. Ky ndryshim ka lejuar rritjen e sigurisĂ« sĂ« gjeneruesit tĂ« numrave tĂ« rastit. PĂ«rshpejtimi i marrjes sĂ« numrave tĂ« rastit pĂ«rmes thirrjes tĂ« sistemit getrandom() Ă«shtĂ« bĂ«rĂ« duke i aktivizuar mekanizmi vDSO (virtual dynamic shared object), i cili e transferon trajtuesin e thirrjes sĂ« sistemit nga bĂ«rthama nĂ« hapĂ«sirĂ«n e pĂ«rdoruesit pĂ«r tĂ« shmangur kalimet e kontekstit.
- ĂshtĂ« shtuar mbĂ«shtetje pĂ«r zgjerimin BIG TCP, i cili lejon rritjen e madhĂ«sisĂ« maksimale tĂ« paketave TCP deri nĂ« 4GB pĂ«r optimizimin e funksionimit tĂ« rrjeteve tĂ« brendshme me shpejtĂ«si tĂ« lartĂ« nĂ« qendrat e tĂ« dhĂ«nave. NjĂ« rritje e tillĂ« e madhĂ«sisĂ« sĂ« paketave me njĂ« madhĂ«si 16-bit tĂ« fushĂ«s nĂ« titull arrihet pĂ«rmes implementimit tĂ« paketave "jumbo", ku madhĂ«sia nĂ« titullin IP vendoset nĂ« 0, pĂ«rderisa madhĂ«sia reale kalon nĂ« njĂ« fushĂ« tĂ« veçantĂ« 32-bit nĂ« njĂ« titull tĂ« veçantĂ« tĂ« bashkangjitur.
- Për soketat rrjetës është realizuar opsioni SO_RESERVE_MEM, i cili lejon rezervimin e një sasi të caktuar memorie për soketin, e cila gjithmonë do të mbetet e disponueshme për soketin dhe nuk do të tërhiqet. Përdorimi i këtij opsioni lejon arritjen e rritjes së performancës përmes shkurtimit të operacioneve të caktimit dhe kthimit të memories në grumbullin rrjetës, veçanërisht në kushtet e mungesës së memories në sistem.
- ĂshtĂ« bĂ«rĂ« optimizimi i performancĂ«s sĂ« planifikuesit tĂ« paketave fq (Fair Queuing), i cili ka lejuar rritjen e kapacitetit tĂ« kalimit nĂ« 5% nĂ« ngarkesa tĂ« larta nĂ« testin tcp_rr (TCP Request/Response) dhe nĂ« 13% nĂ« njĂ« rrjedhĂ« tĂ« pakufizuar tĂ« paketave UDP.
- ĂshtĂ« kryer reorganizimi i strukturave rrjetĂ«sore tĂ« bĂ«rthamĂ«s pĂ«r tĂ« rritur efikasitetin e ndihmĂ«s pĂ«r ruajtjen e tĂ« dhĂ«nave nga procesori, i cili ka lejuar rritjen e performancĂ«s sĂ« grumbullit TCP nĂ« sistemet qĂ« shĂ«rbejnĂ« njĂ« numĂ«r tĂ« madh kĂ«rkesash tĂ« paralele.
- ĂshtĂ« shtuar mbĂ«shtetje pĂ«r bibliotekĂ«n ASMLib 3 pĂ«r menaxhimin automatik tĂ« ruajtjes nĂ« DBMS Oracle.
- ĂshtĂ« bĂ«rĂ« punĂ« pĂ«r optimizimin e performancĂ«s dhe rritjen e sigurisĂ« sĂ« mekanizmit tĂ« hyrjes/asinkrone io_uring. Shtohen optimizimet e bazuara nĂ« io_uring pĂ«r FS XFS dhe Ext4, duke siguruar mundĂ«sinĂ« e shkrimit tĂ« drejtpĂ«rdrejtĂ« nĂ« skedar nĂ« disa rrjedha.
- Përmirësuar mbështetja për sistemin e skedarëve Btrfs. Për pajisjet me mbështetje trim/discard, opsioni i montimit «discard=async» është aktivizuar si parazgjedhje, duke lejuar ekzekutimin e këtyre operacioneve menjëherë për të gjitha FS në modalitetin asinkron. Shtuar mbështetje për dërgimin dhe marrjen e të dhënave të kompresuara pa konvertim. Shtuar mbështetje për shkrimin e blloqeve më të mëdha se 64 KB. Lehtësuar mbajtja e kuotave. Realizuar mbështetje për montimin e pajisjeve të klonuara. Përmirësuar kontrollin e shkrimit në modalitetin NOCOW (kapaciteti increased nga 9%). Shtuar opsionet e montimit «ignoremetacsums» dhe «ignoresuperflags» për të injoruar kontrollsumet e metadatat dhe flag-at e superblokut që janë të pasakta. Siguruar ekzekutimi i detyrave për fshirjen e pajisjeve, balansimin dhe shpërndarjen e blloqeve në modalitetin paralel.
- Në FS XFS lejohet përdorimi i madhësisë së bllokut që kalon madhësinë e faqeve të memories. Shtuar numra të mëdhenj ekstentsh për disqet virtuale shumë të mëdha. Shtuar modaliteti i përfshirjes atomike (commit) të përmbajtjes së skedarëve. Propozuar një implementim eksperimental të kontrollit (fsck) dhe rikuperimit të FS në modalitetin online.
- Në NFS, përdorimi i operacionit READ_PLUS, i përcaktuar në specifikimin NFS 4.2 dhe i aplikuar për leximin më efikas të të dhënave nga skedarët që përmbajnë boshllëqe, është aktivizuar si parazgjedhje.
- Sistemi i menaxhimit të memories është përcaktuar për të përdorur strukturën e të dhënave folios (folio të faqeve të memories). Folios ngjajnë me faqe të bashkuara (compound pages), por dallohet për semantikën e përmirësuar dhe organizimin më të qartë të funksionimit.
- PĂ«r operacionet e mapimit tĂ« memories Ă«shtĂ« angazhuar struktura e tĂ« dhĂ«nave âmaple treeâ, e cila pozicionohet si njĂ« zĂ«vendĂ«sim mĂ« efikas pĂ«r strukturĂ«n âred-black treeâ. Maple tree Ă«shtĂ« njĂ« variant i B-tree, qĂ« mbĂ«shtet indeksimin sipas vlerave dhe Ă«shtĂ« projektuar pĂ«r pĂ«rdorim efikas tĂ« cache-it. proceseve moderne.
- Në mmap janë realizuar bllokime në nivelin e VMA-ve individuale (Virtual Memory Area), duke lejuar përmirësimin e performancës së aplikacioneve shumë-frymëzuese.
- Shtuar struktura e të dhënave ptdesc, që optimizon punën me tabelat e faqeve të memories përmes ndarjes së strukturave me metadatat dhe të dhënat për faqet e memories.
Burimi: opennet.ru
