You may want to enable or disable Intel Transactional Synchronization Extensions (Intel TSX) capability for those processors that expose the necessary processor support. In this post, we will show you how to use the registry setting that will be outlined to enable or disable TSX.
What is Transactional Synchronization Extensions (TSX)
Transactional Synchronization Extensions (TSX) is an extension to the x86 instruction set architecture (ISA) that adds hardware transactional memory support, speeding up the execution of multi-threaded software through lock elision. According to different benchmarks, TSX can provide around 40% faster application execution in specific workloads, and 4–5 times more database transactions per second (TPS).
Intel Transactional Synchronization Extensions (Intel TSX) allow the processor to determine dynamically whether threads need to serialize through lock-protected critical sections and to perform serialization only when required. This lets the processor expose and exploit concurrency hidden in an application due to dynamically unnecessary synchronization.
Intel TSX provides two software interfaces to specify regions of code for transactional execution.
1] Hardware Lock Elision (HLE)
HLE is a legacy-compatible instruction set extension (comprising the XACQUIRE and XRELEASE prefixes) to specify transactional regions. HLE is for programmers who prefer the backward compatibility of the conventional mutual-exclusion programming model and would like to run HLE-enabled software on legacy hardware but would like to take advantage of new lock elision capabilities on hardware with HLE support.
Hardware Lock Elision (HLE) intrinsic functions apply to C/C++ applications for Windows only.
2] Restricted Transactional Memory (RTM)
RTM is a new instruction set interface (comprising the XBEGIN, XEND, and XABORT instructions) for programmers to define transactional regions in a more flexible manner than that possible with HLE.
RTM is for programmers who prefer a flexible interface to the transactional execution hardware.
How to enable or disable Intel TSX capability in Windows 11/10
To enable or disable Intel Transactional Synchronization Extensions (Intel TSX) capability in Windows 11/10, do the following:
To disable Intel TSX via the registry setting:
Launch Command Prompt in elevated mode. (Click Start. Type CMD and simultaneously press CTRL + SHIFT + Enter key combo).
Copy and paste the command below and hit Enter.
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Kernel" /v DisableTsx /t REG_DWORD /d 1 /f
Restart the computer for the changes to take effect.
To enable Intel TSX via the registry setting:
Launch Command Prompt in elevated mode.
Copy and paste the command below and hit Enter.
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Kernel" /v DisableTsx /t REG_DWORD /d 0 /f
Restart the computer for the changes to take effect.
Enable or disable Intel TSX capability in Windows 11/10 using Registry Editor
To enable or disable Intel TSX capability in Windows 11/10 using Registry Editor, follow these steps:
- Open Registry Editor on your PC.
- Navigate to Kernel in HKLM.
- Double-click on the DisableTsx REG_DWORD value.
- Set the Value data to 1 to disable.
- Set the Value data to 0 to enable.
- Restart your PC.
To learn more about these steps, continue reading.
To get started, open the Registry Editor on your computer. Then, navigate to this path:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Kernel
Double-click on the DisableTsx REG_DWORD value and set the Value data to 1 to disable Intel TSX capability.
On the other hand, set the Value data to 0 to enable it.
However, if you cannot find this REG_DOWRD value, right-click on the Kernel key > New > DWORD (32-bit) Value and name it as DisableTsx.
Finally, close all the windows and restart your computer.
Read: Intel Arc Control not opening or working on Windows
How do I enable Intel TSX?
To enable Intel TSX, you have two options – using Command Prompt and using Registry Editor. If you use the Command Prompt method, you need to use this command to disable: reg add “HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Kernel” /v DisableTsx /t REG_DWORD /d 1 /f. Enter this command to enable: reg add “HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Kernel” /v DisableTsx /t REG_DWORD /d 0 /f.
Which processors support TSX?
Almost all 6th generation Intel Core processors, Intel Xeon processor, 7th/8th generation (and above) Intel Pentium processors, and 8th/9th generation Intel Core and Intel Pentium processors (and above) support TSX. However, it must have Skylake, Kaby Lake/Coffee Lake/Whiskey Lake, or Coffee Lake microarchitecture.