After two months of development, Linus Torvalds introduced the new Linux kernel version 5.6, version that arrives with various changes and news and among the most notable changes is the integration of the interface WireGuard VPN, USB4 support, namespaces for time, the ability to create TCP congestion handlers using BPF, initial support for MultiPath TCP, bug 2038 kernel removal, bootconfig mechanism, and ZoneFS FS.
This new version adopted a total of 13702 patches Out of 1810 developers, patch size is 40MB (changes affected 11577 files, 610012 lines of code added, 294828 lines removed).
Main news in Linux 5.6
One of the main novelties of this new version is the implementation of the WireGuard VPN interface, what uses the basis of modern encryption methods (ChaCha20, Poly1305, Curve25519, BLAKE2s), it is easy to use, has no complications, It has been proven in a large number of large deployments and provides very high performance (3.9x faster than OpenVPN Bandwidth).
Another of the changes that stands out in this new version is the integration of components required to support MPTCP (MultiPath TCP) and TCP protocol extensions for organizing the TCP-connection with the delivery of packets at the same time on several routes through different network interfaces that are linked to different IP addresses.
For network applications, said connection added looks like a normal TCP connection and all the flow separation logic is done by MPTCP. Multipath TCP can be used both to extend performance and to increase reliability.
On the other hand, it stands out that the kernel adopted the ZoneFS file system, which simplifies low-level work with zoned storage devices. Zoned drives are devices on magnetic hard drives or NVMe SSDs, whose storage space is divided into zones that form groups of blocks or sectors, in which only the sequential addition of data is allowed with the update of the entire group of blocks.
In addition to this, the implementation for USB 4.0 specification, which is based on the Thunderbolt 3 protocol and provides a bandwidth of up to 40 Gb / s, while maintaining compatibility with USB 2.0 and USB 3.2.
USB 4.0 allows tunneling of various protocols on top of a single Type-C cable including PCIe, Display Port, and USB 3.x, as well as software implementations of protocols, for example, to organize network links between hosts.
The implementation builds on the Thunderbolt driver already included in the Linux kernel and adapts it to work with USB4 compliant hosts and devices.
While for Ext4 performance optimizations are included related to the handling of inode locks in read and write operations. As a result, rewriting performance was improved in Direct I / O mode.
Regarding controllers the significant changes to the ALSA sound system. On the controller nouveau dr adds support for verified firmware download mode for NVIDIA GPUs based on Turing microarchitecture which enabled 3D acceleration support for these cards (official firmware with NVIDIA digital signature must be downloaded), as well as the support for data compression while transmitting via DisplayPort MST (Multi-Stream Transport).
Finally for the part of the bug fixes the solution of the problem 2038 is highlighted, in which the last remaining drivers have been replaced, in which the 32-bit time_t type (signed int) was used for the counter.
Besides that support for MPX extensions removed (Memory Protection Extensions) added in kernel 3.19 and allowing the organization to check pointers to observe the limits of memory areas. This technology is not widely used in compilers and has been removed from GCC.
Finally if you want to know the complete list of changes that are included in this new version of the Linux Kernel you can check the following link.