The ntsync subsystem, which provides a set of Windows NT synchronization primitives (Mutex and such), was merged in 6.10 but marked "broken". All of the broken pieces are now fixed, and this subsystem is now fully enabled. Some games will have insane gain up to 678%(this is with dirt 3 which jump on the same config from 110 to 860 FPS) see more Here (Phoronix).[2]
Linux developer Rik van Riel with Meta saw that one of their webserver was spending a significant portions of the CPU time within the switch_mm_irqs_off function. This is caused by 2 part, here's part 1:
Here is the new process
And part of the same patch they also removed a possible error message that was more diagnostic than anything else, so it is now hidden behind a kernel option and won't be compiled in production kernel.
In one simple kernel scheduler benchmark test case with Hackbench, the run-time dropped from 4.5 to 4.2 seconds[5]
LINUS RUST LKML: Linus Torvalds: Re: Rust kernel policy
More Rust bindings have been merged for dealing with PCI buses, platform drivers, Open Firmware in Rust.[2]
The fsnotify subsystem has a new event type called FS_PRE_ACCESS. If a listener has requested this access, it will be notified before content in a file is read, and that access will be held up until the listener responds. The intended purpose, it seems, is to help with the implementation of hierarchical storage systems, enabling the listener to fill in data from slow storage if need be. This operation requires the CAP_SYS_ADMIN capability; as the merge message notes: "it is an administrator responsibility to make sure the userspace event handler doesn't do stupid stuff that can DoS the system".[2]
X86 systems using AMD's Secure Encrypted Virtualization, it allows guests to read timestamps that cannot be manipulated by the host.[1]
add initial support for AMD AE4DMA, it is a Direct Memory Access(DMA) controller, to be used with AMD Non-Transparent Bridge (NTB) devices (devices made to bridge 2 computer so that they can act on the others PCIE) for now there is no CPU/documentation that we can look to.[7]
AMDXDNA Driver support for Ryzen AI NPU6, This is needed in order to work with the AI core that are found in some laptop.[26]
Decoupling of the "Legacy" Northbridge (code that manage memory/PCIE) code with the new "Node" Zen era CPU. This change was more and more important to make in order to implement the new feature of the platform and optimize existing one for modern CPU.[12]
Cryptography: AES-GCM is 2% faster on Zen4-5 and AES-XTS 3% faster for Zen 5 (This work also apply to intel but the boost is minor 0.1% with Ice Lake) this is added over the major optimization that we saw with 6.11 (up to 162% faster)[11]
Changed the Energy Performance Preference (EPP) default:
Ryzen → "balance_performance"
EPYC → "performance"
On a laptop the CPU would eat up to double the wattage to do the same task (watch a Youtube vid) so switching from "performance" → "balance_performance" Makes alot of sense[9]
Better handling of AMD Preferred Core (which was added in 6.9).[14]
-AMD's energy-use counters for CPU cores are now supported in the perf events subsystem[1]
The ACPI CPPC (That we reported on with 6.12) is being used for reading the scaling factors between hardware P-State (HWP) performance levels and frequency and making use of that for Intel Arrow Lake processors(2024).[10]
Restructuring of the Intel Trust Domain Extensions (TDX) code to make way for the new Trusted Execution Environment (TEE) which is built into mordern Xeon CPU. Yet another move toward Confidential Computing.[13]
-Intel thermal driver preparations for Panther Lake.[16]
The PowerPC architecture has gained Lazy Preemption support[1]
-gained support for restartable sequences.[2]
-Adds The XuanTie XTheadVector extension support which is derived from the RISC-V Vector 0.7.1 extension(Cant see the difference...)[4]
-adds mitigations for the GhostWrite vulnerability... The vulnerability affects the XTHeadVector instruction set. The mitigation is disabling this newly-added support XD.[4]
The pid_max, allowing it to be set independently within containers. It is hierarchical, so no namespace can set pid_max to a value higher than that found in any of its parent namespaces. This is needed for older software like Android's bionic libc in 32Bits which wouldn't survive a pid_max value greater than 65535.39] [Here is the commit[1]
The MADV_DONTNEED and MADV_FREE operations in madvise() for a description of the problem that was solved.[2]
Cgroups 6.14 Control group now support regulating mem type found in GPU
-There are two new BPF kfuncs — bpf_local_irq_save() and bpf_local_irq_restore() — that will disable interrupts on the local CPU and restore them again. They are intended to help with the implementation of interrupt-safe data structures in BPF programs. This commit includes a self-test program that demonstrates their use.[2]
?-When a program is launched with execveat() for details on this change.
F2FS and OCFS2 convert more and more to folios
PIDFDFS still unsure if any good
SquashFS (used by live DVD/USB) Reduce memory use by removing an unnecessary cache.[30]
Common Internet File System (CIFS) and AFS (Andrew File System) have improved read perf, before they would use multiple small request for data and they would all individually be put into folios (which would not be efficient as the goal of folios is to have a big chunk of mem) so they put all of these request under a single "Work Item" that goes through the requests and take care of putting it in mem in a better way.[31]
VFS now Caching Symlink Lengths Within inodes which in testing provides a 1.5% speed-up.[32]
The md-linear device-mapper target (which essentially concatenates block devices) was removed in 6.8 as being deprecated and unmaintained. It seems that there were still users of this target, though, so it has been restored for 6.14. This change is also marked for the stable updates, so should propagate to the older kernels as well.[1]
-NVMe PCI Endpoint Function Target Driver[35]
-A new mountinfo tool is bundled with the Linux kernel source tree and for demonstrating the kernel's statmount() and listmount() interfaces.[34]
-The uncached buffered I/O patches have been merged. This block I/O option is meant to provide most of the performance benefits of direct I/O using the normal POSIX I/O API and without some of the pitfalls of direct I/O.[2]
-The samples directory in the kernel repository contains a new program, mountinfo, which demonstrates the use of the statmount() and listmount() system calls.[1]
When Rust 1.84.0 (or later) is available, Rust code in the kernel will use the derive(CoercePointee) shows how it can be used.[1]
AMDGPU now supports DRM Panic that we spoke about in the last releases.[28]
New DRM Boot Logger made to throw kernel message to screen at boot, it is made to work with any DRM driver and is RT(Real-time) compatible. it doesn't take input. [29]
Support For The Microsoft Copilot Key Found On New Laptops also lenovo added the phone line key[21] [23]
The perf tool has, as usual, received a number of enhancements along with thoses the ability to have 4096 core instead of 204820]; see [this merge message for the list.[2]
Faster Sleep/Resume speed, they replaced msleep()
by usleep_range()
in the code which resulted in resume time going from 1.9sec to 1.1sec on a Dell XPS[22]
There has been a significant reorganization of the code for the CRC32 and CRC-T10DIF algorithms; they can now be invoked directly from the library interfaces and no longer need involve the kernel's crypto layer. The result is simpler and more efficient code.[2]
Kernel modules will be signed using the SHA512 algorithm rather than SHA1 by default.[2]
The kernel is now able to allocate and free "frozen" pages that have no meaningful reference count. This change will make the slab allocator a bit more efficient, but it also helps in the longer-term goal of shrinking the page structure.[2]
The new zpdesc memory descriptor also serves that latter goal by acting as a replacement for struct page for zswap pages.[2]
-KVM changes :
-New Turbostat support for intel clearwater forest + panther lake[15]
-Resource Control To Allow Total Memory Bandwidth Monitoring[19]
-The Acer WMI driver now supports the PH14-51, PH16-72, and Nitro AN515-58 laptops. The Acer WMI driver now also has proper hardware monitoring (HWMON) support.
-The ACPI Platform Profile code can now register multiple platform profile handlers concurrently, support reporting "custom" profile for configurations outside the pre-defined profile, and more.
-The AMD Host System Management Port (HSMP) driver adds support for the HSMP v7 protocol.
-The AMD PMC driver now supports Family 1Ah Model 70h Zen 5 processors. The AMD PMC driver also adds STB support with Ryzen desktop processors.
-The AMD Platform Management Framework (PMF) driver now supports custom BIOS inputs using the PMF-TA trusted application code. There is also support for passing sensor data from the AMD Sensor Fusion Hub (SFH) to the PMF-TA.
-Accelerometer support for the Dell Latitude E6330 and E6430 systems along with the Dell XPS 9550 laptop.
-The HP WMI driver adds fan and thermal support for the HP Victus 16-s1000 gaming laptop.[23]
-Intel THC driver support (for heighten touchpad/touchscreen support/latency)
-SteelSeries Arctis 9 wireless headset support[24]
-QH Electronics Game Controller Support[25]
-Preps Ultra-High Bit Rate (UHBR) Thunderbolt For Intel Panther Lake[27]
-NVIDIA VFIO Driver [36]
-SoundWire Multi-Lane support for using multiple data lanes when needing great bandwidth for SoundWire audio devices[37]
-More work around The Compute Express Link (CXL) [38]
-There is a new per-network-namespace sysctl knob — tcp_tw_reuse_delay — that controls how long the system will wait before reusing the port number of a closed TCP socket; its value is in milliseconds.[1]
-It is now possible to select whether an interface MAC or PHY should be used as the provider of PTP timestamps; this merge message gives some examples of how to do this that are presumably intelligible to people familiar with such things.[1]
-The "xperms" SELinux feature allows policies to target specific ioctl() calls or netlink messages. In-kernel documentation is missing, but this wiki page has some information.[1]
?-Once upon a time, there was a patch series implementing the O_MAYEXEC option to open() during the 5.18 merge window.
In 2024, the idea returned that tell interpreters how they should handle input. The bit now named EXEC_RESTRICT_FILE instructs interpreters to use AT_EXECVE_CHECK on a file to decide whether to execute its contents, while EXEC_DENY_INTERACTIVE tells the interpreter to refuse to read interactive commands. Interpreters must be updated separately to implement that functionality.
See Documentation/userspace-api/check_exec.rst for some more information.[2]
-The kernel's annotation system, used to add information about code (such as "this jump is safe without a retpoline") would previously create a different ELF section for each annotation type. There is now a generic annotation infrastructure that gathers all of that information into a single section.[1]
-There is a new implementation of the build-time code that generates symbol versions for loadable modules. It uses information from the DWARF debugging records rather than parsing the source directly; the main driver for this work is to enable symbol versioning for modules written in Rust. For the time being, at least, both the old and new implementations remain in the kernel, with a configuration option to choose between them.[2]
Blaize BLZP1600 (ARM)
SpacemiT K1 (Risc-V)
++ Snapdragon 8 Elite SoCs (ARM)[8]
: New AMD CPU Features Enabled For The Start Of The Linux 6.14 Kernel Cycle - Phoronix
: Linux 6.14 RISC-V Kernel Adds Support For T-Head Vector Extensions, GhostWrite - Phoronix
: TLB Flushing Scalability Optimizations Merged For Linux 6.14 To Benefit AMD / Intel CPUs - Phoronix
: Linux 6.14 Adds Support For Blaize BLZP1600, SpacemiT K1 Snapdragon 8 Elite SoCs - Phoronix
: AMD Ryzen PCs May See More Power Savings Out-Of-The-Box With Linux 6.14 - Phoronix
: Linux 6.14 Power Management: "Dominated By AMD P-State Driver Changes" - Phoronix
: Faster AES-GCM AES-XTS Crypto Performance For AMD CPUs With Linux 6.14 - Phoronix
: New "AMD Node" Driver Introduced In Linux 6.14 For Splitting Up Legacy Northbridge Code - Phoronix
: Important Changes To Intel TDX Coming With Linux 6.14 - Phoronix
: Linux 6.14 To Bring An Important Improvement For AMD Preferred Core - Phoronix
: Turbostat Preps For Intel Clearwater Forest Panther Lake - Phoronix
: Linux 6.14 Thermal Drivers Get Ready For Intel Panther Lake - Phoronix
: Linux 6.14 EDAC Preps For Intel Clearwater Forest, Adds LoongArch Driver For ECC Memory - Phoronix
: Loongson Introducing An EDAC Driver For LoongArch + ECC Memory Systems - Phoronix
: Linux 6.14 Resource Control To Allow Total Memory Bandwidth Monitoring - Phoronix
: Perf Support For 2,048 CPU Cores Is Becoming Not Enough - Patches Bump Kernel Limit - Phoronix
: Linux 6.14 Adds Support For The Microsoft Copilot Key Found On New Laptops - Phoronix
: Much Faster Suspend Resume For Some Systems With Linux 6.14 - Phoronix
: Laptop Improvements More AMD Driver Features Merged For Linux 6.14 - Phoronix
: Intel THC, Wacom PCI Device SteelSeries Arctis 9 Support Land In Linux 6.14 - Phoronix
: QH Electronics Game Controller Support Being Added For Linux 6.14 - Phoronix
: Ryzen AI NPU6 Support Added To AMDXDNA Driver For Linux 6.14 Debut - Phoronix
: AMD Preps Many Graphics Driver Updates For Linux 6.14, DRM Panic Support - Phoronix
: Linux 6.14 To Introduce New DRM Boot Logger For Kernel Messages - Phoronix
: Reduced SquashFS Memory Use With The Linux 6.14 Kernel, More NILFS2 Fixes - Phoronix
: Linux 6.14 Delivering Better Read Performance For CIFS - Phoronix
: Minor Benefit Observed For Caching Symlink Lengths Within inodes On Linux 6.14 - Phoronix
: Linux 6.14 Adding "STATX_DIO_READ_ALIGN" To Address A Performance Pitfall - Phoronix
: New "mountinfo" Program Set To Be Bundled With Linux 6.14 - Phoronix
: NVMe PCI Endpoint Function Target Driver Coming To Linux 6.14 - Phoronix
: NVIDIA VFIO Driver Prepares For Blackwell With Linux 6.14 - Phoronix
: SoundWire Multi-Lane Support Submitted For Linux 6.14 - Phoronix
: Linux 6.14 CXL Updates Make Preparations Around Type 2 Support CXL 3.1 - Phoronix
: Linux To Allow Adjusting pid_max Per PID Namespace - Helping Old Software - Phoronix