After the release of Linux 6.14, the window for merging changes has been opened, many of which have been in the works even before the release of the current stable version of the Kernel.
Of these changes that are prepared for the release of Linux 6.15, one of them has attracted attention, since they have incorporated significant changes that allow its use as root environment (Dom0) for Hyper-V, Microsoft's hypervisor.
For those who are unaware of this functionality, you should know that gives Linux control of the host environmentt, which involves hypervisor management, resource management, guest system startup, and communication between virtual machines and physical hardware.
Previously the organization of hypervisor in Linux and Windows kernels differed, so that the Hyper-V implementation for Linux uses a different approach to configure subsystems and manage hypercalls. That's why The code for mapping interrupts using IOMMU has been rewritten following a similar logic to that used in Xen support on Linux. Both Xen and Hyper-V share an architecture based on a privileged root environment (Dom0) for system administration.
Linux already has the Hyper-V Dom0 compatibility
The hypervisor of Hyper-V on Linux is now managed through the /dev/mshv device, which optimizes its integration with the system. Additionally, the patches introduced have incorporated the ability to hot-disable CPU cores (CPU offline), allowing for greater flexibility in managing system resources.
El Linux host support for Hyper-V was initially introduced in 2020., although until now it was only available through specific patches, since Microsoft used it in its Azure Linux distribution and in its cloud infrastructure, but its inclusion in the main Linux kernel allows any third-party project to take advantage of this capability without requiring additional modifications.
The main reason behind this decision is the growing dominance of Linux in Microsoft virtualization environments. Since 2018, the number of Linux guest systems on Azure has surpassed that of Windows, leading the company to optimize its infrastructure for this trend.
Improvements to the network subsystem
Another of the changes that stand out For the next Linux release, 6.15, there are optimizations to improve networking performance on Linux systems. These improvements include:
- Improvements in MPTCP: Multipath TCP (MPTCP) performance has been optimized by 29% in single-subflow scenarios.
- TCP traffic optimization: Enabling GRO (Generic Receive Offload) on packets redirected by XDP (eXpress Data Path) can double the throughput of the TCP stream.
- TCP Connection Acceleration: Connect() performance in high-concurrency situations has been improved by 200% by replacing spin locks with a 4-tuple RCU structure search. Tuning the hash distribution improves the performance by 229%.
- Optimization in UDP traffic: During UDP flood attacks, receive efficiency improves by up to 10% by reducing unnecessary accesses to socket timestamps.
In addition, new features and compatibility improvements have also been implemented, such as:
- TCP Timestamp Tracking: The ability to collect timestamps in BPF has been added to monitor data sent, logged, and acknowledged on TCP connections, enabling more efficient tracing with less performance impact.
- MCTP over USB Support: A transport driver for MCTP (Management Component Transport Protocol) has been added on USB connections.
- Access to SFP modules: Access to SFP (Small Form-factor Pluggable) modules is now allowed via SMBus (System Management Bus).
- Broadcom BNXT: Now supports Intel Killer E5000 Ethernet interface.
- Support for Airoha RISC-V NPUs: Support for Airoha's RISC-V-based packet processing unit (NPU) is added.
- Realtek Wireless Chipsets: The RTL8814AE and RTL8814AU models are added to the RTW88 controller.
- Intel IWLWIFI: A new iwlmld subdriver is introduced within the IWLWIFI driver, which extends support for different hardware and firmware combinations.
- MLO support on Mediatek MT76: Mediatek's MT76 driver is preparing MLO support, specifically for the MT7996 chipset.
Finally, if you are interested in knowing more about it, you can consult the details in the following link