On Wed, 31 Mar 2021 21:47:24 GMT, Anthony Scarpino <ascarp...@openjdk.org> 
wrote:

> Hi,
> 
> I need a review of the locking change to the RSA blinding code. The problem 
> was reported that multithreaded performance suffered because there was one 
> global lock on the many blindings operation.  The change reduces locking by 
> using a ConcurrentLinkedQueue to store the different BlindingParameters that 
> other threads maybe using.  The queue size is limited to prevent sudden 
> surges in stored BlindingParameters and a WeakHashMap is still used so the 
> objects can be freed when no longer used.  Performance doubles under high 
> load.
> 
> thanks
> 
> Tony

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

-------------

PR: https://git.openjdk.java.net/jdk/pull/3296

Reply via email to