KernelNewbies:

/!\ WARNING /!\ This changelog will be completed in the next few days. Meanwhile, you can read about Linux 4.12 in these sites:

Summary: This release includes the new BFQ I/O scheduler which provides a much better interactive experience;

TableOfContents()

1. Prominent features

1.1. Preliminary Radeon Vega support

1.2. 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 [https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/block/bfq-iosched.txt Documentation] or the [http://algo.ing.unimo.it/people/paolo/disk_sched/ project site]

Recommended LWN article: [https://lwn.net/Articles/720675/ Two new block I/O schedulers for 4.12]

Code: [https://git.kernel.org/linus/aee69d78dec0ffdf82e35d57c626e80dddc314d5 commit], [https://git.kernel.org/linus/e21b7a0b988772e82e7147e1c659a5afe2ae003c commit], [https://git.kernel.org/linus/54b604567fbfa1a35a44c2ac4a35c959d277adc2 commit], [https://git.kernel.org/linus/ab0e43e9cea047873599bc8041cd6278781fd4e0 commit], [https://git.kernel.org/linus/c074170e65995706be78e8c57ed2017c638d5464 commit], [https://git.kernel.org/linus/44e44a1b329ed37a98bc41ab21fb6897d5a922ac commit], [https://git.kernel.org/linus/77b7dcead36d15d7af9159f2a5f91149c5887634 commit], [https://git.kernel.org/linus/bcd5642607ab9195e22a1617d92fb82698d44448 commit], [https://git.kernel.org/linus/cfd69712a101f528caad1529e64834e31e5dff62 commit], [https://git.kernel.org/linus/36eca894832351feed9072d0f97eb06fc9482ca4 commit], [https://git.kernel.org/linus/1de0c4cd9ea65f99910ae0b77fce2cd1a8e5de01 commit] ,[https://git.kernel.org/linus/bf2b79e7c4b312aa6e1c661fb27e0dc4dd42f2c2 commit], [https://git.kernel.org/linus/e01eff01d5c81f4dbba186299b16b08aa7316d5b commit], [https://git.kernel.org/linus/e1b2324dd065880a3200098fe3637ac171c296e6 commit], [https://git.kernel.org/linus/6fa3e8d34204d532268ddb4dc5d2a904197c972d commit]

1.3. 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: [https://lwn.net/Articles/720675/ Two new block I/O schedulers for 4.12]

Code: [https://git.kernel.org/linus/00e043936e9a1c274c29366c7ecd9e17c79418e6 commit], [https://git.kernel.org/linus/16b738f651c83a01db057e5db02ec4b830af9130 commit]

1.4. Progress in Live kernel patching

Live patching is a feature [https://kernelnewbies.org/Linux_4.0#head-9aa7c8499b42911a48c02b24f367bf2bc6db8606 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 [https://lkml.kernel.org/r/20141107140458.GA21774@suse.cz 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: [https://lwn.net/Articles/706327/ Topics in live kernel patching]

Code: [https://git.kernel.org/linus/d83a7cb375eec21f04c83542395d08b2f6641da2 commit], [https://git.kernel.org/linus/7c23b330011690705613a66a8239d2ca64a41d4d commit], [https://git.kernel.org/linus/3ec24776bfd09668079df7dca0c0136d80820ab4 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-07-16 16:33:38 by diegocalleja)