After two months of development, Linus Torvalds has released Linux kernel 5.15 and notable changes include a new NTFS driver with write support, ksmbd module with SMB server implementation, DAMON subsystem to monitor memory access, lock primitives for real-time mode, fs-verity support in Btrfs and more.
The new version received 13,499 fixes from 1,888 developers, the patch size is 42 MB (changes affected 10,895 files, 632,522 lines of code were added, 299,966 lines were removed).
Main news in Linux 5.15
In this new version the kernel adopted a new implementation of the NTFS file system, by Paragon Software. The new controller can work in write mode and it supports all the features of the current version of NTFS 3.1, including extended file attributes, access lists (ACLs), data compression mode, efficient handling of file gaps (sparse), and replay of changes from the registry to restore integrity after failures.
The filing systems Btrfs supports the fs-verity mechanism, that is used to transparently control the integrity and authenticity of individual files using hashes or cryptographic keys stored in the metadata area associated with the files. Previously fs-verity was only available for FS Ext4 and F2fs.
Btrfs also adds support for mapping user IDs to mounted filesystems (previously supported for FAT, ext4, and XFS file systems). This feature allows you to associate files of a certain user on a mounted external partition with another user on the current system.
Other changes to Btrfs include: speed up adding keys to directory index to improve file creation performance; the ability to work raid0 with one device and raid10 with two (for example, in the process of reconfiguring a matrix); option "rescue = ibadroots" to ignore an invalid spanning tree; acceleration of the "send" operation; reduce lock conflicts during name change operations; the ability to use 4K sectors on systems with a 64K memory page size.
In EXT4, work has been done to increase lloc buffer write performance and the processing of orphaned (orphaned) files that continue to exist due to the fact that they remained open, but turned out not to be linked to a directory.
Another change that stands out is that added protection against hidden race conditions that could lead to file corruption when reading from cache while handling voids in a file, plus support for mandatory file locks implemented by blocking system calls that lead to file changes was removed. Due to possible racing conditions, these locks were considered unreliable and deprecated many years ago.
And also the LightNVM subsystem was removed, which allowed direct access to the SSD drive, bypassing the emulation layer. LightNVM lost its meaning after the appearance of the NVMe standards that provide the possibility of zoning (ZNS, Zoned Namespace).
On the other hand be stake that added support for asymmetric scheduling of assigning tasks to processor cores in architectures where some CPUs allow 32-bit tasks and some only run in 64-bit mode (for example, ARM). The new mode allows only CPUs that support 32-bit tasks to be considered when scheduling 32-bit tasks.
For architecture ARC, support for three-level and four-level memory page tables was implemented, which will further enable support for 64-bit ARC processors.
On the part of the controllers we can find that the controller amdgpu is compatible with Cyan Skillfish APUs (equipped with Navi 1x GPUs). Video codec support for APU Yellow Carp was implemented, Enhanced Aldebaran GPU support, new Navi 24 "Beige Goby" and RDNA2 GPU-based map IDs added, improved Virtual Displays (VKMS) implementation proposed, and support for temperature monitoring of AMD Zen chips added 3.
The controller amdkfd (for discrete GPUs like Polaris) implements a shared virtual memory manager (SVM) based on the Heterogeneous Memory Management Subsystem (HMM), which allows devices with their own memory management units (MMU) to be used, which can access main memory. Even with the help of HMM, you can organize a joint address space between the GPU and the CPU, in which the GPU can access the main memory of the process.
The i915 Controller for Intel Graphics extends the use of the TTM Video Memory Manager and includes the ability to manage power consumption based on GuC (Graphics Microcontroller). Preparations have begun to implement support for Intel ARC Alchemist Graphics and Intel Xe-HP GPUs.
Of the other changes that stand out:
- The nouveau driver implements eDP panel backlight control via DPCD (DisplayPort Configuration Data).
- Added support for Adreno 7c Gen 3 and Adreno 680 GPUs in the msm driver.
- The ability to build cores for the ARM64 architecture in the form of clients for the Hyper-V hypervisor has been implemented.
- Added the Virtio driver for the I2C bus, which allows you to emulate I2C drivers in paravirtualization mode using separate backends.
- The gpio-virtio Virtio driver was added to allow guest systems to access the GPIO lines provided by the host system.
- The KVM hypervisor implements the ability to display statistics in the form of linear and logarithmic histograms.
- The binding driver, used to add network interfaces, adds support for the XDP (eXpress Data Path) subsystem, which allows you to manipulate network packets in one stage before they are processed by the Linux kernel network stack. .
- The mac80211 wireless stack supports 6GHZ STA (Special Temporary Authorization) in LPI, SP, and VLP modes, as well as the ability to configure TWT (Target Wake Time) separately in access point mode.
- Netfilter adds drivers for network flows encapsulated in SRv6 (Segment Routing IPv6).
- Added sockmap support for Unix streaming sockets.
- The IOMMU driver is implemented for the Apple M1 chip.
- Added sound driver for AMD Van Gogh APU based systems.
- The Realtek R8188EU driver has been added to the readiness branch, which replaced the previous driver (rtl8188eu) for Realtek RTL8188EU 802.11 b / g / n wireless chips.
Finally If you are interested in knowing more about it, you can check the details In the following link.