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