LLVM Developers Have Been Reviewing Work To Offset The Performance Hit From Intel JCC
With the Jump Conditional Code (JCC) Erratum that was made public earlier this month and ushered in new Intel microcode to mitigate this Skylake to Cascade Lake design defect, compiler/toolchain patches have been in the works to help offset the performance cost incurred from the updated microcode. Besides the GNU Assembler work we've talked about several times since JCC came to light, the LLVM folks have also been reviewing their comparable changes.
In addition to the GNU Assembler patches to help reduce the JCC Erratum microcode impact, Intel on 12 November had also submitted a patch for LLVM review.
That patch, similar to the GNU Assembler patch, is still under review. LLVM developers have pointed out areas for improvement as well as the portions of the code needing more comments/documentation.
Like the GNU folks, there is also the concern over enabling this functionality by default due to the run-time performance costs. As well, if enabling the support by default for all x86_64 usage, it's applying the change to CPUs not even affected by the JCC Erratum -- including affecting of code generation for AMD.
See the LLVM patch review for those interested in the discussion within the LLVM camp. There has been some suggesting that if this functionality were to be enabled by default on x86_64, it may be wise to bring it to a wider discussion first on the LLVM developers' mailing list.
So for both GNU and LLVM it may still take a bit of time before seeing this patch merged for helping to reduce the cost of the latest Intel CPU microcode update around the JCC Erratum. Clear Linux at the moment is the only Linux distribution I am aware of already shipping with the patched support in their continual quest to offer the best Intel Linux performance.
In addition to the GNU Assembler patches to help reduce the JCC Erratum microcode impact, Intel on 12 November had also submitted a patch for LLVM review.
That patch, similar to the GNU Assembler patch, is still under review. LLVM developers have pointed out areas for improvement as well as the portions of the code needing more comments/documentation.
Like the GNU folks, there is also the concern over enabling this functionality by default due to the run-time performance costs. As well, if enabling the support by default for all x86_64 usage, it's applying the change to CPUs not even affected by the JCC Erratum -- including affecting of code generation for AMD.
See the LLVM patch review for those interested in the discussion within the LLVM camp. There has been some suggesting that if this functionality were to be enabled by default on x86_64, it may be wise to bring it to a wider discussion first on the LLVM developers' mailing list.
So for both GNU and LLVM it may still take a bit of time before seeing this patch merged for helping to reduce the cost of the latest Intel CPU microcode update around the JCC Erratum. Clear Linux at the moment is the only Linux distribution I am aware of already shipping with the patched support in their continual quest to offer the best Intel Linux performance.
3 Comments