Lista para version 4.11

Linux 4.11 has been released

Summary: This release adds support for pluggable IO schedulers framework in the multiqueue block layer, journalling support in the MD RAID5 implementation that closes the write hole, a more scalable swapping implementation for swap placed in SSDs, a new statx() system call that solves the deficiencies of the existing stat(), a new perf ftrace tool that acts as a frontend for the ftrace interface, support for drives that implement the OPAL Storage Specification

Pluggable IO schedulers framework in the multiqueue block layer

The Linux block layer is know to have different IO schedulers (deadline, cfq, noop, etc) with different performance characteristics each one, and users are allowed to switch between them on the fly. In Linux 3.13, the block layer added a new multiqueue design

This release solves that problem with the merge of a multiqueue-ready IO scheduling framework. A port of the deadline scheduler has also been added (more IO schedulers will be added in the future)

Code: merge

Scalable swapping for SSDs

Modern storage devices such as SSDs are making the usage of swapping attractive not just as a way to deal with excessive memory load, but also as a performance enhancement technique. Cloud providers, for example, can overcommit memory more aggressively and fit more VMs to a platform with a fast swap device. However, the swapping implementation was designed for traditional rotating hard disks, where the performance and latency of the swap did not matter as much as it does with modern storage. This release makes the swap implementation more scalable, making it more suitable for use with modern storage devices.

Recommended LWN article: Making swapping scalable

Code: commit

Journaled RAID5 to close the write hole

Based in work started

Recommended LWN article: A journal for MD/RAID5

Blog entry: Improving software RAID with a write-ahead log

Code: commit

statx(2), a modern stat(2) alternative

Due to several shortcomings in the stat(2) system call (like not being y2038 ready or not playing well with networking filesystems), a new system call has been worked through the years, with the final result being statx(2), a new system call that has been added in this release.

Recommended LWN article: statx() v3

Code: commit

New perf ftrace tool

A new tool has been added to the perf toolkit: perf ftrace. This tool intends to be a simple perf front-end for the already existing ftrace

Code: commit

Support for OPAL drives

The Opal Storage Specification

This release adds Linux support for Opal nvme enabled controllers. It enables users to setup/unlock/lock locking ranges for SED devices using the Opal protocol.

Code: commit

Support for the SMC-R protocol (RFC7609)

This release includes the initial part of the implementation of the "Shared Memory Communications-RDMA" (SMC-R) protocol as defined in RFC7609

SMC-R uses RDMA over Converged Ethernet (RoCE) to save CPU consumption. SMC-R inherits TCP qualities such as reliable connections, host-based firewall packet filtering (on connection establishment) and unmodified application of communication encryption such as TLS (transport layer security) or SSL (secure sockets layer). Since original TCP is used to establish SMC-R connections, load balancers and packet inspection based on TCP/IP connection establishment continue to work for SMC-R.

RFC: RFC7609

Code: merge

Persistent scrollback buffers for all VGA consoles

Not an important feature, specially for tmux/screen users, but probably annoying for many others: this release adds optional support for scrollback history not being flushed when switching between consoles (this breaks tools like clear_console that rely on flushing the scrollback history by switching back and forth between consoles which is why this feature is disabled by default. Use the escape sequence {{{\e[3J}}} instead for flushing the buffer)

Code: commit