The TSX instructions built into Intel's Haswell CPU cores haven't become widely used by everyday software just yet, but they promise to make certain types of multithreaded applications run much faster than they can today. Some of the savviest software developers are likely building TSX-enabled software right about now.
Unfortunately, that work may have to come to a halt, thanks to a bug—or "errata," as Intel prefers to call them—in Haswell's TSX implementation that can cause critical software failures.
I believe my friend David Kanter was first to report this problem via a tweet the other day. Intel revealed the news of the erratum to a group of journalists during briefings in Portland last week. I was among those in attendance and was able to talk with Intel architects about the situation.
The TSX problem was apparently discovered by a software developer outside of Intel, and the company then confirmed the erratum through its own testing. Errata of this magnitude aren't often discovered this late in the life of a CPU core.
As is customary in such cases, Intel has disabled the TSX instructions in current products using a CPU microcode update delivered via new revisions of motherboard firmware. Disabling TSX should ensure stable operation for Haswell CPUs, but those chips will no longer be capable of supporting TSX's features, including hardware lock elision and restricted transactional memory.
Software developers who wish to continue working with TSX will have to avoid updating their systems to newer firmware revisions—and in doing so, they'll retain the risk of TSX-related memory corruption or crashes.
This erratum was evidently discovered quite recently, too late for a fix to be included in the first revision of Intel's upcoming Broadwell Y-series chips. As we reported yesterday, Intel is currently shipping production Broadwell-Y silicon to its customers for use in Core M-based tablets this holiday season. These first production Broadwell chips will also have TSX disabled via microcode.
Intel has a fix in the works for Broadwell's next stepping. We don't yet know when Broadwell production will transition to the new stepping or how prevalent the TSX erratum will be among the first wave of Broadwell-based systems.
Given that most Haswell and all Broadwell CPUs affected are shipping in consumer-class systems, the impact of this TSX snafu ought to be relatively minimal. The obvious initial targets for TSX optimization are server-class applications like transactional database servers. At present, Intel's server-class Xeon lineup relies on the older Ivy Bridge core, which lacks TSX entirely.
Also, because the problem is apparently restricted to the use of TSX instructions, this erratum isn't likely to prompt the sort of dire consequences the TLB erratum in AMD's Barcelona chip did. As we exclusively reported at the time, the Barcelona TLB problem caused AMD to stop the shipment of Opteron processors and issue a performance-impacting microcode patch for consumer Phenom CPUs. By contrast, the most unfortunate impact of this TSX erratum may be to slow the development of TSX-capable software.
Update: An Intel spokesperson has provided TR with a brief statement on the TSX erratum, confirming that Intel has "addressed the issue" and "disabled the TSX feature on affected products." He further stated that Intel is "committed to the feature" over the long run and plans to "re-implement it in future processors." We have inquired about how the TSX erratum will affect upcoming Haswell-EP-series server CPUs and will post another update if we learn more.
Update II: Intel has gotten back to us with some more information about how the TSX erratum affects its upcoming Xeon CPUs.
The launch of Intel's high-volume Haswell-EP processors is rapidly approaching, and the TSX errata apparently won't delay that product launch. Instead, a spokesperson for the firm informs us that TSX will be available for software developers to enable "for development purposes" on Haswell-EP, so that their code will be "ready for production" once the higher-end Haswell-EX processors arrive at a later date.
In other words, we expect Haswell-EP to ship on schedule with the TSX erratum still etched into its silicon and TSX instructions disabled via a microcode patch. Those who wish to risk working with TSX in Haswell-EP will have the option to enable it via a firmware menu, but Intel recommends waiting for Haswell-EX before using TSX in production systems.
Since the single-socket, enthusiast-oriented Haswell-E processors are based on the same silicon as the lower-end Xeon EP parts, I'd expect the upcoming Core i7 Extreme CPUs to have TSX disabled in microcode, as well.
Intel will surely issue new steppings of its production Haswell processors with the TSX erratum fully corrected in hardware, but the firm hasn't stated any timetables for the delivery of revised chips.
Update III: Intel has published a specification update (PDF) documenting the TSX erratum. Here's the brief description of the problem that it offers.
A bit later, the document says:
Due to Erratum HSw136, TSX instructions are disabled and are only supported for software development. See your Intel representative for details.
That's all we know at present.