The x86/cpu changes have been merged for Linux 7.0 and include finally setting the default Intel TSX mode to “auto” rather than being off by default.
Intel Transactional Synchronization Extensions (TSX) has the potential of being a big help to some workloads for greater performance via optimized locking protocols through lock elision. But the various security vulnerabilities affecting TSX over the years have given it a bad reputation even though newer Intel Xeon processors have TSX without those earlier vulnerabilities like TSX Async Abort. Thus a patch raised by SUSE sets Intel TSX by default to “auto” mode rather than “off” where it’s then left up to the user/administrator to enable the TSX support.
The TSX auto mode enables TSX on capable hardware and where it’s believed to be safe against side channel attacks. The likes of Ice Lake, Sapphire Rapids, Emerald Rapids, and Granite Rapids can now enjoy TSX out-of-the-box on Linux. The tsx= boot time option remains available for those wishing to alter the state for their hardware.
This TSX auto mode default was merged yesterday as part of the x86/cpu changes for Linux 7.0. That pull also updated the AMD microcode table for Zenbleed and some other minor fixes.
I recently ran some benchmarks with tsx=auto compared to default (off) for seeing the impact on Intel Xeon 6980P “Granite Rapids”.
For database workloads were some improvements up to 10% noted.
A rather surprising large boost to NAMD but there was some variability in the data with TSX enabled.
Anyhow, more Intel TSX benchmarks will come with Linux 7.0 in its default auto mode.
