RFR(XXS): 8235510 : java.util.zip.CRC32 performance drop after 8200067

Viswanathan, Sandhya sandhya.viswanathan at intel.com
Fri Dec 6 23:02:10 UTC 2019


Yes I want to backport this to 11u too.

Best Regards,
Sandhya

-----Original Message-----
From: Vladimir Kozlov <vladimir.kozlov at oracle.com> 
Sent: Friday, December 06, 2019 2:41 PM
To: Viswanathan, Sandhya <sandhya.viswanathan at intel.com>; hotspot compiler <hotspot-compiler-dev at openjdk.java.net>
Subject: Re: RFR(XXS): 8235510 : java.util.zip.CRC32 performance drop after 8200067

Good.

Do you want to backport this into 11u too?

Thanks,
Vladimir

On 12/6/19 2:05 PM, Viswanathan, Sandhya wrote:
> Hi Vladimir,
> 
> It is only AVX512 evpclmulqdq() based CRC32 that is affected.
> In the updated webrev, I have changed the supports_vpclmulqdq() to supports_avx512_vpclmulqdq().
> 
> JBS: https://bugs.openjdk.java.net/browse/JDK-8235510
> Updated webrev: http://cr.openjdk.java.net/~sviswanathan/8235510/webrev.01/
> 
> Best Regards,
> Sandhya
> 
> -----Original Message-----
> From: Vladimir Kozlov <vladimir.kozlov at oracle.com>
> Sent: Friday, December 06, 2019 12:04 PM
> To: Viswanathan, Sandhya <sandhya.viswanathan at intel.com>; hotspot compiler <hotspot-compiler-dev at openjdk.java.net>
> Subject: Re: RFR(XXS): 8235510 : java.util.zip.CRC32 performance drop after 8200067
> 
> Hi Sandhya,
> 
> Ii is confusing after looking on this and 8200067 changes [1].
> CPUID bit we check and supports_vpclmulqdq() function use 'vpclmulqdq' name but there is already such old AVX instruction [2] which is guarded by supports_clmul(). What actually 8200067 added and you are removing is evpclmulqdq instruction usage.
> I think you should do renaming of CPUID bit and supports_vpclmulqdq() function to reflect that and avoid confusion.
> 
> Is vpclmulqdq also affected?
> 
> Thanks,
> Vladimir
> 
> [1] http://cr.openjdk.java.net/~srukmannagar/ICL_crc32/webrev.02/
> [2] http://hg.openjdk.java.net/jdk/jdk/file/1498cd1c98ad/src/hotspot/cpu/x86/assembler_x86.cpp#l7224
> 
> On 12/6/19 11:45 AM, Viswanathan, Sandhya wrote:
>> The changes introduced in 8200067 cause performance to drop for java.util.zip.CRC32 on Intel platforms supporting vector pclmulqdq.
>> An enhanced algorithm is needed which takes into account latency and throughput of vector pclmulqdq. For now, we need to backout the changes.
>>
>> JBS: https://bugs.openjdk.java.net/browse/JDK-8235510
>> Webrev: http://cr.openjdk.java.net/~sviswanathan/8235510/webrev.00/
>>
>> Please review and approve.
>>
>> Best Regards,
>> Sandhya
>>


More information about the hotspot-compiler-dev mailing list