Linux 4.17 has been released on 3 June 2018.

Summary: This release adds support for AMD Radeon Vega 12 and it enables the "display code" by default in supported AMD Radeon GPUs; it also adds a kernel TLS receive path; a more efficient idle loop that prevent CPUs from spending too much time in shallow idle states; eight unmaintained architectures have been removed and another, the Andes NDS32 architecture, has been added; XFS has gained lazytime support; the CPU load estimations have been modified; Intel Cannonlake GPUs are supported and a kernel memory consistency model has been added; and many new drivers and other improvements.

1. Prominent features

1.1. AMD Radeon Vega 12 support + "Display Code" enabled by default

This release adds support for AMD Radeon Vega 12.

It also enables by default the display code added in Linux 4.15

Code: commit, commit

1.2. Kernel TLS receive path

Linux 4.13 added a feature to speed up TLS traffic by creating an in-kernel TLS pseudo implementation that did let the kernel send TLS messages. This release includes support for the receiving side.

Code: commit, commit

1.3. A more efficient idle loop

This release reworks the idle loop in order to prevent CPUs from spending too much time in shallow idle states. It reduces idle power on some systems by 10% or more and may improve performance of workloads in which the idle loop overhead matters.

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

1.4. Removal of unused architectures

Eight architectures have been removed due to lack of maintenance: score, blackfin, CRIS, frv, m32r, metag, mn10300 and tile

Recommended LWN article: Shedding old architectures and compilers in the kernel

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

1.5. New NDS32 architecture

While eight unmaintained architectures are being removed, one has been added: NDS32. The Andes nds32 architecture supports Linux for Andes's N10, D10, N13, N15, D15 processor cores. It is based on the patented 16/32-bit AndeStar RISC-like architecture. AndesCores range from highly performance-efficient small-footprint cores for microcontrollers and deeply-embedded applications to 1GHz+ cores running Linux, covering general-purpose N-series cores for a wide range of computing need, DSP-capable D-series cores for digital signal control, instruction-extensible E-series cores for application-specific acceleration, and secure S-series cores for best protection of the most valuable. Customers together have shipped over 2.5 billion SoC’s with Andes processors embedded (including non-MMU IP cores).

Code: (including interrupt controller driver and timer driver). It is able to boot to shell and passes most LTP-2017 testsuites in nds32 AE3XX platform

1.6. XFS lazytime support

XFS adds support for the lazytime, a feature that helps to improve the performance impact caused by atime updates.

Code: commit

1.7. Better load estimation

This release changes the algorithms used to estimate the CPU load to make it a better fit for the scheduling of tasks common in embedded mobile use-cases, without affecting other classes of workloads.

Recommended LWN article: Toward better CPU load estimation

Code: commit, commit, commit, commit

1.8. Intel Cannonlake support

Support for Intel Cannonlake GPUs is enabled in this release.

Code: commit, commit, commit

1.9. Latest protections against CPU bugs

This release adds support for SSBD mitigation

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

1.10. Provide a Linux-kernel memory model

This release adds the Linux Kernel Memory Consistency Model (LKMM) subsystem, which is an an array of tools in tools/memory-model/ that formally describe the Linux memory coherency model (a.k.a. Documentation/memory-barriers.txt), and also produce 'litmus tests' in form of kernel code which can be directly executed and tested.

Recommended LWN article: A formal kernel memory-ordering model (part 1), A formal kernel memory-ordering model (part 2)

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. 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. Pulse-Width Modulation (PWM)

12.20. Inter-Integrated Circuit (I2C)

12.21. Hardware monitoring (hwmon)

12.22. General Purpose I/O (gpio)

12.23. Leds

12.24. DMA engines

12.25. Hardware Random Number Generator (hwrng)

12.26. Cryptography hardware acceleration

12.27. PCI

12.28. Thunderbolt

12.29. FRU Support Interface (FSI)

12.30. Clock

12.31. Various

13. List of merges

14. Other news sites

KernelNewbies: Linux_4.17 (last edited 2018-11-25 20:47:43 by diegocalleja)