Linux 7.0 Now Defaults To Intel TSX Auto Mode For Performance Benefits On Newer CPUs
#Hardware

Linux 7.0 Now Defaults To Intel TSX Auto Mode For Performance Benefits On Newer CPUs

Hardware Reporter
3 min read

Linux 7.0 enables Intel TSX by default for newer CPUs, potentially boosting performance by up to 10% in database workloads while maintaining security.

Linux 7.0 is set to ship with a significant change that will impact performance on newer Intel processors: Intel Transactional Synchronization Extensions (TSX) will now be enabled by default in "auto" mode rather than being disabled as it has been historically.

Intel TSX disabled

This change, merged as part of the x86/cpu updates for Linux 7.0, represents a shift in how the Linux kernel handles TSX support. The "auto" mode intelligently enables TSX on capable hardware where it's considered safe from side-channel attacks, leaving the decision to the kernel rather than requiring manual intervention from users or administrators.

The TSX Story: Performance vs. Security

Intel TSX has long been a double-edged sword in the computing world. On one hand, it offers substantial performance benefits through optimized locking protocols via lock elision, which can significantly improve multi-threaded application performance. On the other hand, a series of security vulnerabilities over the years, including TSX Async Abort, have made system administrators wary of enabling the feature.

Intel Xeon 6 TSX Performance Ubuntu Linux

The new default setting represents a balance between these competing concerns. Newer Intel Xeon processors, including Ice Lake, Sapphire Rapids, Emerald Rapids, and Granite Rapids, have addressed many of the earlier vulnerabilities that plagued TSX. These modern CPUs can now take advantage of TSX's performance benefits without the same security risks that affected older hardware.

Performance Impact: Real-World Benchmarks

To understand the practical implications of this change, recent benchmarks were conducted comparing TSX in "auto" mode versus the traditional disabled state on an Intel Xeon 6980P "Granite Rapids" processor. The results show promising performance gains across several workloads:

  • Database workloads: Improvements of up to 10% were observed, which is significant for data-intensive applications
  • NAMD molecular dynamics: A surprisingly large performance boost was noted, though with some variability in the data

CockroachDB benchmark with settings of Workload: KV, 95% Reads, Concurrency: 1024. tsx=auto was the fastest.

These benchmarks suggest that enabling TSX by default could provide meaningful performance improvements for many common server workloads without requiring manual configuration changes.

What This Means for Users

For most users running Linux 7.0 on supported hardware, this change will be entirely transparent. The kernel will automatically enable TSX where appropriate, and applications that can benefit from it will see performance improvements without any user intervention.

However, the tsx= boot parameter remains available for those who wish to override the default behavior. This provides flexibility for environments with specific security requirements or for testing purposes.

The change also includes other x86 improvements in the Linux 7.0 merge, including an updated AMD microcode table for addressing Zenbleed vulnerabilities and various other minor fixes.

The Broader Context

This decision reflects a maturing approach to hardware feature management in the Linux kernel. Rather than maintaining conservative defaults that may have been appropriate years ago, the kernel is now able to make more nuanced decisions based on the capabilities and security profile of modern hardware.

For data centers and enterprise environments running newer Intel Xeon processors, this change could translate to measurable performance improvements across their infrastructure without requiring application changes or manual tuning. For developers, it means that TSX-optimized code will have a broader impact without requiring users to manually enable the feature.

The move to enable TSX by default in Linux 7.0 represents a pragmatic balance between performance and security, leveraging the improvements in newer Intel processors while maintaining the flexibility to disable the feature when necessary. As more benchmarks become available with the final Linux 7.0 release, we'll gain a clearer picture of the real-world impact of this significant change.

Comments

Loading comments...