What is Intel TSX and why is it being patched on some CPUs?

Intel will be disabling the Transactional Synchronization Extensions (TSX) instruction set for some of its older processors in a future microcode update. For now, TSX will be disabled on Skylake, Kaby Lake, and Coffee Lake (6th, 7th, and 8th generation) CPUs due to security issues. No other Intel CPUs will be affected as of yet, but it remains to be seen if TSX will be patched out across further generations.

What is TSX, and why is it being patched on Intel processors?

Intel-CPU-Kernel-Bug

TSX is an Intel extension that adds hardware transactional memory support, which helps speed up the execution of multi-threaded software. TSX can speed up execution by 40% for some workloads and allow for 4-5 times more database transactions per second. Fortunately for gamers, the TSX instruction set is primarily used by databases and networking, so few (if any) games will be affected.

Phoronix discovered that Intel microcode would be deprecating TSX on some models in patch notes for the Linux 5.14 kernel. However, this isn’t the first time that Intel has disabled TSX on one of its processors. When it debuted on Haswell, issues with its implementations caused them to disable it on those processors. Causing more issues for applications that heavily rely on TSX is the fact that TSX was removed entirely from 10th gen Comet Lake and Ice Lake CPUs.

The security flaws in the Intel TSX instruction set are due to a memory ordering issue that the company has been aware of since June 2018. Though it released a patch intended to address the problem in October 2018, it’s now made the decision to disable the extensions entirely. It seems as though Intel plans to deprecate the function completely. However, the company may include a new TSXLDTRK instruction set in the upcoming Sapphire Rapids line of Xeon processors.