KernelNewbies:

Linux 5.0 changelog.

1. Coolest features

1.1. New version 5.0

The new release number does not mean anything but it makes Linus happy.

1.2. Energy-aware Scheduling for Arm big.LITTLE

This release includes the energy-aware scheduling feature, which lets the task scheduler to take scheduling decisions that will result in lower power usage on asymetric SMP platforms - such as waking up tasks to the more energy-efficient CPUs first. This feature is important to achieve better power management in phones using Arm's big.LITTLE CPUs. This feature is a simplified version of the energy-aware scheduling that is currently part of the AOSP Common Kernel.

Recommended LWN article: Energy-aware scheduling on asymmetric systems

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

1.3. Adiantum file system encryption for low power devices

This release adds support for the Adiantum encryption. Note that this encryption mode is not added to ecryptfs but to fscrypt, the kernel funcionality which filesystems (currently ext4, f2fs and ubifs) can hook into to support transparent encryption of files and directories.

Adiantum was developed to provide filesystem encryption for low-end Android devices that lack AES instructions. On ARM Cortex-A7, on 4096-byte messages Adiantum encryption is about 4 times faster than AES-256-XTS encryption; decryption is about 5 times faster.

See the google security blog or the Adiantum paper for more details.

Code: commit, commit

1.4. Support for AMDGPU FreeSync

This release adds support for FreeSync, an adaptive synchronization technology for LCDs that support a dynamic refresh rate, aimed at providing a low monitor latency and a smooth, virtually stutter-free viewing experience. It also helps improve battery life by reducing the refresh rate of the panel when not receiving new images.

Variable refresh rate capable displays can dynamically adjust their refresh rate by extending the duration of their vertical front porch until page flip or timeout occurs. This can reduce or remove stuttering and latency in scenarios where the page flip does not align with the vblank interval. An example scenario would be an application flipping at a constant rate of 48Hz on a 60Hz display. The page flip will frequently miss the vblank interval and the same contents will be displayed twice. This can be observed as stuttering for content with motion. If variable refresh rate was active on a display that supported a variable refresh range from 35Hz to 60Hz no stuttering would be observable for the example scenario.

Code: commit, DRM API commit, commit, commit, commit, commit

1.5. UDP Generic Receive Offload and MSG_ZEROCOPY support

This release adds support of GRO (Generic Receive Offload) in the UDP implementation. A new sockopt (UDP_GRO) has been added to enable GRO support. Future enachements will enable UDP GSO offload on more virtual devices eventually even on forwarded packets.

This release also expands MSG_ZEROCOPY support for UDP. Related LWN article: Zero-copy networking

Code: GRO commit, commit, commit, commit, commit, commit, commit, commit, commit, msg_zerocopy commit, commit, commit

1.6. Support cpuset resource controller in cgroupv2

The cpuset controller provides a mechanism for constraining the CPU and memory node placement of tasks to only the resources specified in the cpuset interface files in a task's current cgroup. This is especially valuable on large NUMA systems where placing jobs on properly sized subsets of the systems with careful processor and memory placement to reduce cross-node memory access and contention can improve overall system performance.

This release enables cpuset controller in cgroup v2, with a minimal set of features.

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

2. Core (various)

3. File systems

4. Memory management

5. Block layer

6. Tracing, perf and BPF

7. Virtualization

8. Cryptography

9. Security

10. Networking

11. Architectures

11.1. ARM

11.2. X86

11.3. CSKY

11.4. MIPS

11.5. NDS32

* Hardware prefetcher support commit

11.6. POWERPC

11.7. XTENSA

11.8. RISCV

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

12.11. Serial

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

12.13. Real Time Clock (RTC)

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

12.15. Pin Controllers (pinctrl)

12.16. Multi Media Card (MMC)

12.17. Memory Technology Devices (MTD)

12.18. Industrial I/O (iio)

12.19. Inter-Integrated Circuit (I2C)

12.20. Hardware monitoring (hwmon)

12.21. General Purpose I/O (gpio)

12.22. Leds

12.23. DMA engines

12.24. Cryptography hardware acceleration

12.25. PCI

12.26. Clock

12.27. Various

13. List of merges

14. Other news sites

KernelNewbies: Linux_5.0 (last edited 2019-02-23 21:30:03 by diegocalleja)