Linux 4.18 has been released
Summary: This release includes the new " Restartable sequences
Restartable sequences for easier lockless concurrency in user space
Synchronizing per-cpu operations from user-space is hard, because processes are liable to be pre-empted or change cpus at any time. Adding safety to the user-space code (atomic operations) is expensive, and disabling preemption in user space is not an option.
Restartables sequences allow user-space to perform update operations on per-cpu data without requiring heavy-weight atomic operations. Each thread is allowed to register one userspace memory area that should be run by the same CPU; if the thread is preempted the thread can restart the operation. Using rseq with per-cpu memory pools in jemalloc at Facebook improved the production workload response-time 1-2% gain avg. latency, and the P99 overall latency drops by 2-3%.
Recommended LWN article: Restartable sequences
Slides: LPC - PerCpu Atomics.pdf
Code: commit
Support for unprivileged mounts
In this release, root users inside a private namespace (eg. container) are allowed to mount file systems.
Recommended LWN article: Unprivileged file system mounts
Code: commit
bpfilter, BPF based networking filtering
The bpfilter project aims to implement netfilter compatible functionality using the BPF machinery. This release adds the first skeleton of kernel code.
Recommended LWN article: BPF comes to firewalls
Code: commit
Zero-copy TCP receive API
Linux 4.14 added support
Recommended LWN article: Zero-copy TCP receive
Code: commit
AF_XDP for high performance networking
Introduce AF_XDP support, a new address family that is optimized for high performance packet processing and zero-copy semantics. Programs using AF_XDP sockets will now receive RX packets without any copies and can also transmit packets without incurring any copies.
Recommended LWN article: Accelerating networking with AF_XDP
Code: commit
Support for the future AMD ATI Vega20
This release includes support for the future Vega 20.
Code: commit
Qualcomm Snapdragon 845 support
The convergence between vendor Android kernel code and the mainline kernel is improving; as proof of that this release adds support for Qualcomm SDM845, a.k.a Snapdragon 845, an 4+4-core Kryo 385/845 (Cortex-A75/A55 derivative) SoC that's one of the current high-end mobile SoCs. A lot of peripherals are not yet in the DTs but driver support for USB, GPU and other pieces are starting to trickle in. It also adds support for the MTP development board
Code: commit