Kernel builds, BPF callx, and RISC-V IOMMU
Day summary
Kernel traffic focused on build-system speedups and BPF verifier extensions for indirect calls, loops, and callback lifetimes. Parallel series advanced RISC-V IOMMU device assignment, stealable futexes, and PMD-level swap for anonymous transparent huge pages.
kbuild series claims large build speedups
A 22-patch v4 series for kbuild proposes toolchain caching, modpost and objtool changes, parallel Rust and objtool work, and pigz use, with claimed kernel build speedups of 36 to 90 percent. The work targets wall-clock time for full rebuilds. Readers who rebuild large configurations often would see the practical impact if the approach lands.
BPF gains indirect subprogram calls via callx
A v2 17-patch series for bpf-next adds a callx instruction plus verifier and libbpf support so BPF programs can make indirect calls through function pointers held in rodata or vtables. The change lets static subprograms be selected dynamically while remaining under verifier control. This matters for BPF code that needs vtable-style or pointer-based dispatch without leaving the verified model.
RISC-V IOMMU enables MSI remapping, DMA, and VFIO
The v5 17-patch series for the RISC-V IOMMU adds MSI remapping so IOMMU_DMA can be default and VFIO device assignment can work. The patches complete the path from IOMMU hardware support to usable DMA and userspace device passthrough. RISC-V platform and virtualization developers need this before IOMMU-backed assignment is practical.
RFC proposes stealable FUTEX_PING locks
An RFC 12-patch series introduces FUTEX_PING, a stealable priority-inheritance futex built on proxy execution. Early discussion raised deadlock and locking-order concerns from Zijlstra and others. The design tries to improve contended lock handoff, but the locking model still needs scrutiny before any merge path is clear.
BPF verifier scopes callback arguments to their frame
A 6-patch bpf-next series adds REF_TYPE_FRAME so the verifier keeps callback arguments from outliving their stack frame. The fix closes kernel memory exposure paths that involved ringbuf and map helpers. Anyone shipping BPF programs that pass callbacks into helpers should care about the tightened lifetime rules.
PMD-level swap entries for anonymous THPs
A resend of the v7 29-patch mm series adds PMD-level swap entries so anonymous transparent huge pages can be swapped without splitting to PTEs. Preserving PMD size through swap reduces fragmentation and fault work on restore. Memory-management and large-workload performance depend on whether THPs survive the swap path intact.
BPF verifier handles large bounded loops without full walks
A bpf-next series from Alexei changes the verifier to accept large bounded loops via state widening and may_goto instead of walking every iteration. The goal is to keep verification tractable when loop bounds are high but still finite. Complex BPF programs that today hit verifier step limits are the direct audience.