KernelNewbies:

Linux 4.18 has been released on 12 August, 2018.

Summary: This release includes the new "Restartable sequences" system call, which makes easier to write scalable userspace code; support for unprivileged mounts; the beginning of bpfilter project that aims to provide netfilter functionality using BPF; a zero-copy TCP receive API; a new AF_XDP address family for high performance networking; support for the future AMD ATI Vega20; support for the qualcomm Snapdragon 845 SoC; and many new drivers and other improvements.

1. Prominent features

1.1. 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, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

1.2. 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, commit, commit, commit, commit, commit, commit

1.3. 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, commit

1.4. Zero-copy TCP receive API

Linux 4.14 added support for zero-copy of data when sending to the network, this release adds a zero-copy API for the receiving side.

Recommended LWN article: Zero-copy TCP receive, A reworked TCP zero-copy receive API

Code: commit, commit, commit, commit, commit, commit

1.5. 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, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit zero-copy commit, commit, commit, commit, commit, commit, commit, commit, commit

1.6. Support for the future AMD ATI Vega20

This release includes support for the future Vega 20.

Code: commit, commit, merge

1.7. 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

2. Core (various)

3. File systems

4. Memory management

5. Block layer

6. Tracing and perf

7. Virtualization

8. Cryptography

9. Security

10. Networking

11. Architectures

12. Drivers

12.1. Graphics

12.2. Storage

12.3. Drivers in the Staging area

12.4. Networking

12.5. Audio

12.6. Tablets, touch screens, keyboards, mouses

12.7. TV tuners, webcams, video capturers

12.8. Universal Serial Bus

12.9. Serial Peripheral Interface (SPI)

12.10. ACPI, EFI, cpufreq, thermal, Power Management

12.11. Real Time Clock (RTC)

12.12. Voltage, current regulators, power capping, power supply

12.13. Pin Controllers (pinctrl)

12.14. Multi Media Card (MMC)

12.15. Memory Technology Devices (MTD)

12.16. Industrial I/O (iio)

12.17. Pulse-Width Modulation (PWM)

12.18. Inter-Integrated Circuit (I2C)

12.19. Hardware monitoring (hwmon)

12.20. Leds

12.21. Cryptography hardware acceleration

12.22. PCI

12.23. Clock

12.24. Various

13. List of merges

14. Other news sites

KernelNewbies: Linux_4.18 (last edited 2018-11-25 21:40:35 by diegocalleja)