RFR: 8262316: Reducing locks in RSA Blinding [v2]
djelinski
github.com+30433125+djelinski at openjdk.java.net
Fri Apr 2 20:55:30 UTC 2021
On Fri, 2 Apr 2021 17:45:45 GMT, Anthony Scarpino <ascarpino at openjdk.org> wrote:
>> src/java.base/share/classes/sun/security/rsa/RSACore.java line 66:
>>
>>> 64: // like performance testing.
>>> 65: private static final Map<BigInteger, ConcurrentLinkedQueue<BlindingParameters>>
>>> 66: blindingCache = new WeakHashMap<>();
>>
>> I'd use a synchronizedMap here now
>
> Using a synchronizedMap would only let one thread access the hashmap at a time, which is what I'm trying to reduce. Get ops do not need to be locked and put ops don't either because the values are objects of random data, losing one is not significant to the operation.
According to SO, unsynchronized writes to a map can lead to lock up, see here:
https://stackoverflow.com/a/1003237
Or here:
https://mailinator.blogspot.com/2009/06/beautiful-race-condition.html?m=1
What's the performance impact of adding synchronization on the hash map only?
-------------
PR: https://git.openjdk.java.net/jdk/pull/3296
More information about the security-dev
mailing list