JDK-8249672 : Include microcode revision in features_string on x86
  • Type: Enhancement
  • Component: hotspot
  • Sub-Component: runtime
  • Affected Version: 11,15,16
  • Priority: P3
  • Status: Resolved
  • Resolution: Fixed
  • Submitted: 2020-07-17
  • Updated: 2021-04-21
  • Resolved: 2020-07-21
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 11 JDK 15 JDK 16
11.0.10-oracleFixed 15.0.1Fixed 16 b07Fixed
Related Reports
Relates :  
Relates :  
Description
Add microcode revision to CPU features string (which is included in hs_err files) to help analyze failures on x86.
Comments
Fix request (11u) -- will label after testing completed. I would like to downport this for parity with 11.0.10-oracle. I had to resolve vm_version_x86: http://mail.openjdk.java.net/pipermail/jdk-updates-dev/2020-September/003765.html
03-09-2020

Fix Request for JDK 15. The changes are important to track a reason of Java application crash which may caused by JDK-8248315 issue. Changes are small and safe because they do not affect code execution. They provide important additional information about system. Tested on all our supported platforms. webrev: http://cr.openjdk.java.net/~sviswanathan/Vladimir/8249672/webrev.03/ review thread: https://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/2020-July/039071.html
28-07-2020

[~robm] I thought the process is the same as for 11u-cpu where we don't need approval. This fix is very important for sustaining group due to P1 JDK-8248315. Can I retroactively request push approval for JDK 15?
28-07-2020

[~kvn] [~sviswanathan] This fix has been pushed to http://hg.openjdk.java.net/jdk-updates/jdk15u without permission. I am retroactively approving for now. In future be sure to use the process detailed at: http://openjdk.java.net/projects/jdk-updates/approval.html for future openjdk pushes.
28-07-2020

URL: https://hg.openjdk.java.net/jdk/jdk/rev/931c949e05e4 User: sviswanathan Date: 2020-07-21 20:10:21 +0000
21-07-2020

http://cr.openjdk.java.net/~sviswanathan/Vladimir/8249672/webrev.03/
20-07-2020

On Fri, Jul 17, 2020 at 10:22 PM Ivanov, Vladimir A <vladimir.a.ivanov@intel.com> wrote: > > The reported microcode version for different OSes loos as: > > Linux (RHEL7.7): > > # cat hs_err_pid251046.log |grep microc > > CPU: total 112 (initial active 112) (28 cores per cpu, 2 threads per core) > family 6 model 85 stepping 4 microcode 0x200005e, cmov, cx8, fxsr, mmx, > sse, sse2, sse3, ssse3, sse4.1, sse4.2, popcnt, vzeroupper, avx, avx2, aes, > clmul, erms, rtm, 3dnowpref, lzcnt, ht, tsc, tscinvbit, bmi1, bmi2, adx, > fma, clflush, clflushopt, clwb > > > > Windows (Win10, v1809): > > CPU: total 4 (initial active 4) (2 cores per cpu, 2 threads per core) > family 6 model 142 stepping 9 microcode 0xb4, cmov, cx8, fxsr, mmx, sse, > sse2, sse3, ssse3, sse4.1, sse4.2, popcnt, vzeroupper, avx, avx2, aes, > clmul, erms, rtm, 3dnowpref, lzcnt, ht, tsc, tscinvbit, bmi1, bmi2, adx, > fma, clflush, clflushopt > > > > MacOS (Darwin): > > $ cat hs_err_pid95187.log |grep microc > > CPU: total 8 (initial active 8) (4 cores per cpu, 2 threads per core) > family 6 model 126 stepping 5 microcode 0x78, cmov, cx8, fxsr, mmx, sse, > sse2, sse3, ssse3, sse4.1, sse4.2, popcnt, vzeroupper, avx, avx2, aes, > clmul, erms, 3dnowpref, lzcnt, ht, tsc, tscinvbit, bmi1, bmi2, adx, sha, > fma, clflush, clflushopt
17-07-2020

First version: http://cr.openjdk.java.net/~sviswanathan/Vladimir/8249672/webrev.00/ #if defined(IA32) || defined(AMD64) can be removed in os_linux_x86.cpp since it is x86 specific file.
17-07-2020

Note, we are late for JDK 15 release but we should backport changes into first 15 update release.
17-07-2020