
Today, after two months of work, Linus Torvalds
introduced the
Linux kernel 4.11 . Among other changes, it is worth highlighting such items as enabling journaling support in software RAID 4/5/6, the statx () system call, plus support for the Opal protocol, which allows you to work with self-encrypted storage media.
The scale of the changes can be judged by the number of accepted corrections - about 12,000 from a thousand and a half developers. The patch size is 39 MB. 12,479 files were changed, a little more than half a million lines of code were added, more than 200 thousand were deleted. Approximately half of the changes presented relate to device drivers, about 20% support various hardware architectures, the rest is the network stack, file systems and internal kernel subsystems.
Updates, to get a better idea of ​​them, should be divided into several sections. They are “hardware”, “memory”, “network subsystem”, “disk and file systems” and “virtualization”.
')
Iron
- Here, several elements expected by many are added, including integration into the DRM driver of the initial implementation of the energy management system. This is about Power budget, as it is called in English. In addition, improved support for the mode, which ensures the download of digitally signed blobs with NVIDIA firmware. This is required in order to enable 3D graphics acceleration tools in GeForce-1000 and newer video adapters. Unfortunately, full support for new firmware will be provided only in the kernel 4.12;
- AMDGPU driver added preliminary support for SR-IOV (Single Root Input / Output Virtualization) I / O virtualization technology, which is supported in professional FirePro cards. PCI identifiers for POLARIS12 chips appeared;
- In addition, PCI drivers for the Gemini Lake SoC video subsystem have been added to the Intel GPU driver. It is noteworthy that it has not yet gone on sale, it is intended to change Apoolo Lake;
- The developers added support for ARM cards like Banana Pi M64, HiSilicon Kirin960 / Hi3660 / HiKey960, SolidRun MACCHIATOBin, Broadcom BCM958712DxXMC NorthStar2, NXP LS1012a, as well as systems based on Allwinner H2 + and V3;
- There is a new sound and camera driver that is used in the Raspberry Pi.
Disk and file systems
- Kernel developers added RAID 4/5/6 logging support. This move allowed to protect the system from data loss in case of power failure or drop. This component was developed by Facebook. The log is kept on a separate media, and the data is initially reflected in the log, and after that - they are spread across different disks that are included in the RAID. In the event that the power is turned off, even if the information was recorded only on a part of the discs, damage can be avoided;
- As for the ext4 file system, the command of the new type EXT4_IOC_SHUTDOWN is implemented here. It allows you to make sure that the partition is already stopped and there is no need to reset data that is in RAM;
- As mentioned above, the developers have implemented work with drives that meet the specifications of Opal. This specification defines the principle of encryption of stored data, which allows to prevent information leakage in case the media with valuable data is stolen or lost. Users can change a number of settings;
- For F2FS, a system developed by Samsung, the inline_xattr option is enabled, providing inline storage in the inode of xattr attributes;
- NFSv4 support over UDP is disabled because it was not operational. Plus, security labels for NFS are disabled by default.
Virtualization
- An implementation of the SipHash algorithm is now built into the kernel, which is a safe and fast hashing method;
- Added interface / sys / kernel / security / lsm - through it you can now find out the list of active LSM modules;
- An implementation of the AES encryption algorithm has been added, which provides a fixed execution time to protect against certain types of attacks when an attacker attempts to determine the type of data based on a change in the processing time of an operation;
- The pseudo-random number generator was transferred from MD5 hashing to the use of the secure and fast ChaCha20 stream cipher algorithm.
Network
- A new type of sockets, " SMC-R " (Shared Memory Communications over RDMA, RFC-7609 ), which is designed to organize communication channels over Remote Direct Memory Access (RDMA), is implemented here. This protocol was developed by IBM and provides the ability to adapt applications written for TCP to work in
- RoCE networks ( RDMA over Converged Ethernet );
- A new psample module has appeared for sampling network packets that pass through the network interface for further filtering out by the filter classifier;
- The TCP stack has a default RACK mechanism enabled that allows packet loss detection. In this case, the transfer time is used, not the sequence of arrival of the packets;
- A new TCP_FASTOPEN_CONNECT option has been added for TCP sockets;
- There is a new driver for creating network interfaces Ipvlan, the driver is ipvtap.
Memory
- Here, the statx () system call has been added, where a more efficient and functional version of stat () is implemented with the return of extended file information, including the file creation time and file system-specific flags;
- There was an implementation of separate scroll buffers for VGA consoles;
- The paging system is optimized, adapted to work with SSD with a small constant access time;
- Now you can use the overclocking processors Turbo Boost Max 3.0 on systems without the support of HWP (Hardware P-States);
- PCI Express devices received support for additional ASPM L1 power saving modes;
- Also, support for APST (Autonomous Power State Transitions) power management tools is implemented, which provide an opportunity to reduce the energy consumption of SSD-based NVE technology by 20-30%.
As always, the Latin American Free Software Foundation presented its
Linux-libre 4.11-gnu kernel version, completely free of proprietary elements. So, here the code has been “cleaned up” to support Cavium cryptoacceptors, as well as drivers for Rockchip GPUs, Netronome NFP 4000/6000 Ethernet controllers and Silead touch screens.
More information about the kernel is available
here and
here .
