-- Leo's gemini proxy

-- Connecting to gemini.tuxmachines.org:1965...

-- Connected

-- Sending request

-- Meta line: 20 text/gemini;lang=en-GB

Tux Machines


Kernel: Unbreakable Enterprise Kernel (UEK), masim, BPF, and Linux 6.3


Posted by Roy Schestowitz on Mar 11, 2023


Devices: Raspberry Pi Global Shutter Camera, RISC-V Ubuntu Build, and Wind River/Open RAN

Stable kernels: Linux 6.2.4, Linux 6.1.17, Linux 6.2.5, Linux 6.1.18 and Linux 5.15.100



Oracle Linux: build kernel modules for Unbreakable Enterprise Kernel (UEK)


↺ Oracle Linux: build kernel modules for Unbreakable Enterprise Kernel (UEK)


> This guide has the target to show the proper requirements and steps to build third party kernel modules for UEK; in this guide I will use a dummy kernel module to just show the requirements and build steps.



An Intro to the Linux Memory Access Workload Simulator (masim)


↺ An Intro to the Linux Memory Access Workload Simulator (masim)


> The memory subsystem is one of the most critical areas of the Linux kernel, and consequently, it must be performant, stable and reliable. Over the years, many tools and mechanisms have been developed to help improve the memory subsystem. These include HugePages, NUMA nodes/NUMA emulation, memory compaction, OOM killer, etc.


> Another useful tool developed for the memory subsystem is masim, a userspace tool used to simulate intensive memory access workloads to test the behavior and performance of the memory system. It was introduced in 2018 by SeongJae Park.



Red-black trees for BPF programs


↺ Red-black trees for BPF programs


> Most of the kernel's code is written in C and intended to be run directly on the underlying hardware. That situation is changing in a few ways, though; one of those is the ability to write kernel code for the BPF virtual machine. The 6.3 kernel release will include a new API making the red-black tree data structure available to BPF programs. Beyond being an interesting feature in its own right, this new API shows how BPF is bringing a different approach to kernel programming — and to the C language in general.


> The kernel has long made extensive use of red-black trees (rbtrees), which are a form of binary tree; this data structure offers fast lookups and the ability to perform insertions and deletions in bounded time. Red-black trees are found in I/O schedulers, graphics drivers, filesystems, the BPF verifier, CPU-scheduler run queues, network protocols, and beyond. One place they have not been found, though, is in programs written to run in the BPF virtual machine. As the complexity of BPF programs grows, though, so does the demand for advanced data structures. The BPF version of the red-black tree, added by Dave Marchevsky, is meant to address this need.



The first half of the 6.3 merge window


↺ The first half of the 6.3 merge window


> As of this writing, 5,776 non-merge changesets have been pulled into the mainline kernel for the 6.3 release; that is a bit less than half of the work that was waiting in linux-next before the merge window opened. This merge window is thus well underway, but far from complete. Quite a bit of significant work has been pulled so far; read on to see what entered the kernel in the first half of the 6.3 merge window.




gemini.tuxmachines.org

-- Response ended

-- Page fetched on Sat Jun 1 09:16:13 2024