Кампанія Oracle першы стабільны выпуск (UEK R6), пашыранай зборкі ядра Linux, якая пазіцыянуецца для выкарыстання ў дыстрыбутыве Oracle Linux у якасці альтэрнатывы штатнаму пакету з ядром з Red Hat Enterprise Linux. Ядро даступна толькі для архітэктур x86_64 і ARM64 (aarch64). Зыходныя тэксты ядра, уключаючы разбіўку на асобныя патчы, у публічным Git-рэпазітары Oracle.
Пакет Unbreakable Enterprise Kernel 6 заснаваны на ядры (UEK R5 грунтаваўся на ядры 4.14), якое дапоўнена новымі магчымасцямі, аптымізацыямі і выпраўленнямі, а таксама праверана на сумяшчальнасць з большасцю прыкладанняў, якія працуюць у RHEL, і спецыяльна аптымізавана для працы з прамысловым праграмным забеспячэннем і абсталяваннем Oracle. Усталявальныя і src-пакеты з ядром UEK R6 падрыхтаваны для Oracle Linux и . Падтрымка галінкі 6.x спынена, для ўжывання UEK R6 варта абнавіць сістэму да Oracle Linux 7 (няма ніякіх перашкод па выкарыстанні дадзенага ядра ў аналагічных версіях RHEL, CentOS і Scientific Linux).
ключавыя Unbreakable Enterprise Kernel 6:
- Пашыраная падтрымка сістэм на базе 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, якая прадстаўляе высокаўзроўневую абвязку над інтэрфейсам ядра;
- Дададзена падтрымка рэжыму для хуткага шыфравання назапашвальнікаў.
- Дададзена падтрымка сціску з выкарыстаннем алгарытму (zstd).
- У файлавай сістэме ext4 задзейнічаны 64-разрадныя пазнакі часу ў палях суперблока.
- У XFS уключаны сродкі для інфармавання аб стане цэласнасці ФС падчас працы і атрыманні статуту аб выкананні fsck на лета.
- TCP-стэк па змаўчанні пераведзены на мадэль» замест As Fast As Possible пры адпраўцы пакетаў. Для UDP уключана падтрымка GRO (Generic Receive Offload). Дададзена падтрымка прыёму і адпраўкі TCP-пакетаў у рэжыме zero-copy.
- Задзейнічана рэалізацыя пратаколу TLS на ўзроўні ядра (KTLS), якая зараз можа ўжывацца не толькі для якія адпраўляюцца, але і для прыманых дадзеных.
- У якасці бэкенда для міжсеткавага экрана па змаўчанні задзейнічаны
nftables. Апцыянальна дададзена падтрымка . - Дададзена падтрымка падсістэмы XDP (eXpress Data Path), якая дазваляе ў Linux запускаць BPF-праграмы на ўзроўні сеткавага драйвера з магчымасцю прамога доступу да DMA-буферу пакетаў і на стадыі да вылучэння буфера skbuff сеткавым стэкам.
- Палепшаны і ўключаны пры выкарыстанні UEFI Secure Boot рэжым , які абмяжоўвае доступ карыстальніка root да ядра і блакуе шляхі абыходу UEFI Secure Boot. Напрыклад, у рэжыме lockdown абмяжоўваецца доступ да /dev/mem, /dev/kmem, /dev/port, /proc/kcore, debugfs, адладкавага рэжыму kprobes, mmiotrace, tracefs, BPF, PCMCIA CIS (Card Information Structure), некаторым інтэрфейсам ACPI і M 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.
Крыніца: opennet.ru
