Кампанія Oracle апублікавала ядро Unbreakable Enterprise Kernel 6
Кампанія Oracle прадставіла першы стабільны выпуск Непарушнае ядро прадпрыемства 6 (UEK R6), пашыранай зборкі ядра Linux, якая пазіцыянуецца для выкарыстання ў дыстрыбутыве Oracle Linux у якасці альтэрнатывы штатнаму пакету з ядром з Red Hat Enterprise Linux. Ядро даступна толькі для архітэктур x86_64 і ARM64 (aarch64). Зыходныя тэксты ядра, уключаючы разбіўку на асобныя патчы, апублікаваныя у публічным Git-рэпазітары Oracle.
Пакет Unbreakable Enterprise Kernel 6 заснаваны на ядры Linux 5.4 (UEK R5 грунтаваўся на ядры 4.14), якое дапоўнена новымі магчымасцямі, аптымізацыямі і выпраўленнямі, а таксама праверана на сумяшчальнасць з большасцю прыкладанняў, якія працуюць у RHEL, і спецыяльна аптымізавана для працы з прамысловым праграмным забеспячэннем і абсталяваннем Oracle. Усталявальныя і src-пакеты з ядром UEK R6 падрыхтаваны для Oracle Linux 7.x и 8.x. Падтрымка галінкі 6.x спынена, для ўжывання UEK R6 варта абнавіць сістэму да Oracle Linux 7 (няма ніякіх перашкод па выкарыстанні дадзенага ядра ў аналагічных версіях RHEL, CentOS і Scientific Linux).
Пашыраная падтрымка сістэм на базе 64-разраднай архітэктуры ARM (aarch64).
Рэалізаваная падтрымка ўсіх магчымасцяў Cgroup v2.
Рэалізаваны фрэймворк ktask для распаралельвання задач у ядры, якія спажываюць значныя рэсурсы CPU. Напрыклад, пры дапамозе ktask можа быць арганізавана распаралельванне аперацый па ачыстцы дыяпазонаў старонак памяці ці апрацоўцы спісу inode;
Уключана распаралеленая версія kswapd для апрацоўкі аперацый замены старонак памяці ў асінхронным рэжыме, дазваляючы скараціць лік прамых (сінхронных) аперацый замены. Пры памяншэнні колькасці вольных старонак памяці kswapd выконвае сканаванне для выяўлення старонак, якія не выкарыстоўваюцца, якія могуць быць вызваленыя.
Падтрымка верыфікацыі цэласнасці выявы ядра і прашывак па лічбавым подпісе, пры загрузцы ядра пры дапамозе механізму Kexec (загрузка ядра з ужо загружанай сістэмы).
Праведзена аптымізацыя прадукцыйнасці сістэмы кіравання віртуальнай памяццю, палепшана эфектыўнасць ачысткі станіц памяці і кэша, палепшана апрацоўка зваротаў да не выдзеленых старонак памяці (page faults).
Пашыраная падтрымка NVDIMM, паказаная сталая памяць зараз можа выкарыстоўвацца ў якасці традыцыйнай АЗП.
Ажыццёўлены пераход на сістэму дынамічнай адладкі DTrace 2.0, якая перакладзена на выкарыстанне падсістэмы ядра eBPF. DTrace зараз працуе па-над eBPF, па аналогіі з тым, як па-над eBPF працуюць існуючыя ў Linux інструменты трасіроўкі.
Унесены паляпшэнні ў файлавую сістэму OCFS2 (Oracle Cluster File System).
Палепшана падтрымка файлавай сістэмы Btrfs. Дададзена магчымасць прымянення Btrfs на каранёвых раздзелах. Ва ўсталёўнік дададзена опцыя для выбару Btrfs пры фарматаванні прылад. Дададзена магчымасць размяшчэння файлаў падпампоўкі на частках з Btrfs. У Btrfs дададзена падтрымка сціску з выкарыстаннем алгарытму ZStandard.
Дададзена падтрымка інтэрфейсу для асінхроннага ўводу/высновы - io_uring, які адметны падтрымкай поллінга ўводу/высновы і магчымасцю працы як з буферызацыяй, так і без буферызацыі. Па прадукцыйнасці io_uring вельмі блізкі да SPDK і істотна апярэджвае libaio пры працы з уключаным полінгам. Для выкарыстання io_uring у канчатковых прыкладаннях, якія працуюць у прасторы карыстальніка, падрыхтавана бібліятэка liburing, якая прадстаўляе высокаўзроўневую абвязку над інтэрфейсам ядра;
Дададзена падтрымка рэжыму Adiantum для хуткага шыфравання назапашвальнікаў.
Дададзена падтрымка сціску з выкарыстаннем алгарытму Зстандарт (zstd).
У файлавай сістэме ext4 задзейнічаны 64-разрадныя пазнакі часу ў палях суперблока.
У XFS уключаны сродкі для інфармавання аб стане цэласнасці ФС падчас працы і атрыманні статуту аб выкананні fsck на лета.
TCP-стэк па змаўчанні пераведзены на мадэльEarly Departure Time» замест As Fast As Possible пры адпраўцы пакетаў. Для UDP уключана падтрымка GRO (Generic Receive Offload). Дададзена падтрымка прыёму і адпраўкі TCP-пакетаў у рэжыме zero-copy.
Задзейнічана рэалізацыя пратаколу TLS на ўзроўні ядра (KTLS), якая зараз можа ўжывацца не толькі для якія адпраўляюцца, але і для прыманых дадзеных.
У якасці бэкенда для міжсеткавага экрана па змаўчанні задзейнічаны
nftables. Апцыянальна дададзена падтрымка bpfilter.
Дададзена падтрымка падсістэмы XDP (eXpress Data Path), якая дазваляе ў Linux запускаць BPF-праграмы на ўзроўні сеткавага драйвера з магчымасцю прамога доступу да DMA-буфера пакетаў і на стадыі да вылучэння буфера skbuff сеткавым стэкам.
Палепшаны і ўключаны пры выкарыстанні UEFI Secure Boot рэжым Lockdown, які абмяжоўвае доступ карыстальніка root да ядра і блакуе шляхі абыходу UEFI Secure Boot. Напрыклад, у рэжыме lockdown абмяжоўваецца доступ да /dev/mem, /dev/kmem, /dev/port, /proc/kcore, debugfs, адладкавага рэжыму kprobes, mmiotrace, tracefs, BPF, PCMCIA CIS (Card Information Structure), некаторым інтэрфейсам ACPI і MSR-рэгістрам CPU, блакуюцца выклікі kexec_file і kexec_load, забараняецца пераход у спячы рэжым, лімітуецца выкарыстанне DMA для PCI-прылад, забараняецца імпарт кода ACPI са зменных EFI, не дапушчаюцца маніпуляцыі з партамі ўводу/высновы, у тым ліку змена нумара перапынення і порта ўводу/высновы для паслядоўнага порта.
Дададзена падтрымка пашыраных інструкцый IBRS (Enhanced Indirect Branch Restricted Speculation), якія дазваляюць адаптыўна дазваляць і забараняць спекулятыўнае выкананне інструкцый падчас апрацоўкі перапыненняў, сістэмных выклікаў і пераключэнняў кантэксту. Пры наяўнасці падтрымкі Enhanced IBRS дадзены метад ужываецца для абароны ад нападаў класа Spectre V2 замест Retpoline, бо дазваляе дамагчыся больш высокай прадукцыйнасці.
Палепшана абарона ў каталогах, даступных усім на запіс. У падобных каталогах забаронена стварэнне FIFO-файлаў і файлаў, якія належаць карыстальнікам, якія не супадаюць з уладальнікам каталога са сцягам sticky.
Па змаўчанні на сістэмах ARM уключаная рандомизация адраснай прасторы ядра на сістэмах (KASLR). Для Aarch64 уключана аўтэнтыфікацыя паказальнікаў.
Дададзена падтрымка "NVMe over Fabrics TCP".
Дададзены драйвер virtio-pmem, які прадстаўляе доступ да прылад захоўвання, адлюстраваным у фізічную адрасную прастору, такім як NVDIMM.