Linux 4.12 has been released on Sun, 2 July 2017.

Summary: This release includes a new BFQ I/O scheduler which provides a much better interactive experience; it also includes preliminary support for Radeon RX Vega graphic cards and support for USB Type-C connectors; improvements to the live kernel patching feature, support for Intel IMSM's Partial Parity Log which allows to close the RAID5 write hole; support for exposing OpenChannel SSDs as device blocks, and another I/O scheduler, Kybe that allows to configure a latency target for reads and writes, ,

1. Prominent features

1.1. Preliminary Radeon Vega support

This release adds preliminary support for Radeon RX Vega graphic cards.

Code: merge, commit, commit, commit

1.2. USB Type-C support

This release adds support for USB Type-C connectors. USB Type-C, commonly known as simply USB-C, is a 24-pin USB connector system allowing transport of data and energy.

Code: commit, commit, commit, commit

1.3. New BFQ I/O scheduler for a more reponsive desktop

BFQ (Budget Fair Queuing) is a new I/O scheduler. For personal systems, BFQ provides low latency for interactive applications, low latency for soft real-time applications, higher speed for code-development tasks, high throughput, and strong fairness, bandwidth and delay guarantees. For servers, besides the same benefits as above, BFQ guarantees: audio and video-streaming with zero or very low jitter and drop rate; fast retrieval of WEB pages and embedded objects; real-time recording of data in live-dumping applications (e.g., packet logging); responsiveness in local and remote access to a server. For more details and benchmarks, see the Documentation or the project site

Recommended LWN article: Two new block I/O schedulers for 4.12

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

1.4. New Kyber I/O scheduler

The Kyber I/O scheduler is a low-overhead scheduler suitable for multiqueue and other fast devices. Given target latencies for reads and synchronous writes, it will self-tune queue depths to achieve that goal, similary to blk-wbt.

Recommended LWN article: Two new block I/O schedulers for 4.12

Code: commit, commit

1.5. Progress in Live kernel patching

Live patching is a feature merged in Linux 4.0 that allows to patch the kernel code in running systems, which in turn allows to patch security issues without rebooting.

This release adds a so-called per-task consistency model - a foundation which will eventually enable to patch those ~10% of security patches which change function or data semantics. This is the biggest remaining piece needed to make livepatch more generally useful. This code stems from the design proposal made in November 2014. It's a hybrid of kGraft and kpatch: it uses kGraft's per-task consistency and syscall barrier switching combined with kpatch's stack trace switching.

Recommended LWN article: Topics in live kernel patching

Code: commit, commit, commit

1.6. Add support for Intel IMSM's Partial Parity Log

This release adds support for the Partial Parity Log feature found in Intel IMSM raid array. This feature is another way to close the RAID 5 Write Hole. PPL is available for md version-1 metadata and external (specifically IMSM) metadata arrays. It can be enabled using mdadm option --consistency-policy=ppl.

Documentation: Documentation/md/raid5-ppl.txt

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

1.7. Expose OpenChannel SSDs as device blocks

This release introduces pblk, a host-side FTL for Open-Channel SSDs to expose them like block devices. Open-Channel SSDs are SSDs that do not include a Flash Translation Layer, support for them was included in Linux 4.4. pblk is an implementation of a Flash Transaction Layer in the Linux kernel, which allows data placement decisions, and I/O scheduling to be managed by the host, enabling users to optimize the SSD for their specific workloads.


Code: commit

2. Core (various)

3. File systems

4. Memory management

5. Block layer

6. Tracing and perf tool

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

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

12.12. Real Time Clock (RTC)

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

12.14. Pin Controllers (pinctrl)

12.15. Multi Media Card (MMC)

12.16. Memory Technology Devices (MTD)

12.17. Industrial I/O (iio)

12.18. Multi Function Devices (MFD)

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. Cryptography hardware acceleration

12.26. PCI

12.27. Clock

12.28. Various

13. List of merges

14. Other news sites

KernelNewbies: Linux_4.12 (last edited 2017-12-30 01:29:51 by localhost)