RFR: 8374926: EnableX86ECoreOpts was not enabled on some hybrid CPU
Yasumasa Suenaga
ysuenaga at openjdk.org
Sat Jan 10 03:42:54 UTC 2026
`EnableX86ECoreOpts` has been introduced in [JDK-8319429](https://bugs.openjdk.org/browse/JDK-8319429), however model numbers which should be enabled are hard-coded, so the flag would not be enabled by default on some models like Arrow Lake.
I ran a [benchmark](https://github.com/YaSuenag/garakuta/tree/master/randminmax) to check for effectiveness of `-XX:+EnableX86ECoreOpts` with JDK 25.0.1 on Windows 11 25H2, I saw performance improvement a bit on Intel Core 5 Ultra 225U as following:
Disabled (default)
Benchmark Mode Cnt Score Error Units
RandMinVal.getMax thrpt 3 9707774.405 ± 27082629.015 ops/s
RandMinVal.getMin thrpt 3 7510319.839 ± 10923547.382 ops/s
Enabled
Benchmark Mode Cnt Score Error Units
RandMinVal.getMax thrpt 3 10127809.127 ± 45404142.338 ops/s
RandMinVal.getMin thrpt 3 8467677.056 ± 1211998.200 ops/s
So I think it is better to enable this flag by default on all of hybrid CPUs.
To check what processor would be enabled E-core optimization, I made a [commit](https://github.com/openjdk/jdk/commit/f363ea1436b8100021fdac87b48ec43bcf6820af) to add comments for CPU models at first. I couldn't find out all of models (some models has not listed in SDM vol.4 so far), but most of models (excepts Sierra Forest) could be treated as hybrid CPU. Fortunately HotSpot identify hybrid flag from `CPUID`, so we can leverage it for this purpose.
-------------
Commit messages:
- Use supports_hybrid() to check for EnableX86ECoreOpts
- Add comments for CPU models
Changes: https://git.openjdk.org/jdk/pull/29149/files
Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=29149&range=00
Issue: https://bugs.openjdk.org/browse/JDK-8374926
Stats: 3 lines in 1 file changed: 0 ins; 0 del; 3 mod
Patch: https://git.openjdk.org/jdk/pull/29149.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/29149/head:pull/29149
PR: https://git.openjdk.org/jdk/pull/29149
More information about the hotspot-dev
mailing list