RFR: 8353572: x86: AMD platforms miss the check for CLWB feature flag
Aleksey Shipilev
shade at openjdk.org
Tue Apr 8 18:44:21 UTC 2025
On Thu, 3 Apr 2025 20:00:05 GMT, Vladimir Ivanov <vlivanov at openjdk.org> wrote:
>> Noticed this when doing [JDK-8353558](https://bugs.openjdk.org/browse/JDK-8353558). We only check for CLWB feature flag for Intel platforms. But AMD APM (Rev. 3.36—March 2024) tells me there is a CLWB flag in CPUID Fn0000_0007_EBX_x0 leaf as well. It is in the same place as the flag for Intel.
>>
>> Additional testing:
>> - [x] Ad-hoc tests on Ryzen 5950X
>
> src/hotspot/cpu/x86/vm_version_x86.cpp line 3100:
>
>> 3098: if (ext_cpuid1_ecx.bits.sse4a != 0)
>> 3099: result |= CPU_SSE4A;
>> 3100: if (sef_cpuid7_ebx.bits.clwb != 0)
>
> I'm curious what's the rule here when it comes to vendor-specific features?
>
> From what I'm seeing in the sources, both AMD and ZX enumerate only `ext_cpuid1` features while for Intel it's a mix of `sef_cpuid7` and `ext_cpuid1`.
>
> So, I'm curious whether the code should be moved up and shared for all CPUs.
Are you happy with this explanation, @iwanowww?
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/24385#discussion_r2033832750
More information about the hotspot-dev
mailing list