Oracle unveiled recently the new stable version of its Linux Kernel, «Unbreakable Enterprise Kernel 7 (UEK R7)«, positioned for use in the Oracle Linux distribution as an alternative to the standard Red Hat Enterprise Linux kernel package.
For those who are unaware of Unbreakable Enterprise Kernel, you should know that this is a Kernel that Oracle Linux offers and this new version is based on the Linux 5.15 kernel and optimized to work with industrial software and Oracle equipment.
Main novelties of Unbreakable Enterprise Kernel 7
In this new version that is presented, the Improved support for the Aarch64 architecture. El memory page size default on 64-bit ARM systems has been reduced from 64KB to 4KB, which is better suited to the memory sizes and workloads typical of ARM systems.
It is also highlighted that the capabilities of the Btrfs file system were expanded, So an asynchronous implementation of the DISCARD operation was added to Btrfs to mark released blocks that can no longer be physically stored. The asynchronous implementation allows you to not wait for the drive to complete the DISCARD and to perform this operation in the background.
Meanwhile in XFS implements support for DAX operations for direct file system access, bypassing the page cache to avoid double caching, plus changes to address 32-bit time_t overflow issues in 2038, including new options mounting bigtime and inobtcount.
Improvements have been made to the OCFS2 (Oracle Cluster File System) file system.
We can also find that added ZoneFS file system to simplify low-level work with zoned storage devices. Zoned storage refers to NVMe hard drives or SSDs where the storage space is divided into zones, which are groups of blocks or sectors, to which data is only allowed to be added sequentially by updating the entire block group. blocks. ZoneFS associates each zone on the drive with a separate file that can be used to store data in raw mode without manipulation at the sector and block level, i.e. it allows applications to use the file API instead of directly accessing the device of blocks using ioctl.
In addition, highlights extended capabilities of the eBPF subsystem, for the CO-RE mechanism has been implemented (Compile Once – Run Everywhere), which solves the problem of portability of compiled eBPF programs and allows you to compile the code of eBPF programs only once and use a special universal loader that adapts the loaded program to the current kernel and BTF (BPF Type Format) types.
Added BPF Trampoline mechanism, which allows you to almost completely reduce your overall costs when transmitting calls between the central programs and the BPF. Provided the ability to directly access the core functionality of BPF programs and suspend the driver.
Also continued delivery of the DTrace 2.0 dynamic debugging system, which was changed to use the eBPF kernel subsystem. DTrace 2.0 runs on top of eBPF, similar to how existing Linux tracing tools run on top of eBPF.
For cgroups, a memory slab driver is implemented, which is notable for moving slab accounting from the level of memory pages to the level of kernel objects, whiche makes it possible to share slab pages in different cgroups, instead of dedicating separate slab caches for each. cgroup. The proposed approach makes it possible to increase the efficiency of slab use, reduce the size of memory used for slab by 30-45%, significantly reduce the total memory consumption of the kernel, and reduce memory fragmentation.
Debug data delivery in CTF format is provided (compact type format), which provides compact storage of information about C types, relationships between functions, and debugging symbols.
Finally, if you are interested in being able to know more about it, you can consult details in the following
In addition, the kernel source code, including a breakdown into individual patches, is available in the public Oracle Git repository.
Be the first to comment