RFR: 8209850: Allow NamedThreads to use GlobalCounter critical sections
Robbin Ehn
robbin.ehn at oracle.com
Fri Aug 24 09:33:49 UTC 2018
On 08/23/2018 08:39 PM, Kim Barrett wrote:
>> On Aug 23, 2018, at 3:17 AM, Robbin Ehn <robbin.ehn at oracle.com> wrote:
>>
>> Great stuff, thanks Kim!
>>
>> But I strongly suggest keeping the three volatiles in SingleWriterSynchronizer on separate cache-lines. Specially _enter and _exit. I don't expect many of these and so I don't care about footprint. Am I wrong?
>
> I agree there aren't expected to be many of these. OTOH, those that
> we know about are not ultra performance critical either. So the
> uglification of the code to microoptimize it seems unnecessary to me.
> This can be revisited if present assumptions change and we have
> measurements to show it matters.
Ok
/Robbin
>
>> Thanks, Robbin
>>
>> On 2018-08-22 21:18, Kim Barrett wrote:
>>> Please review this change to GlobalCounter, permitting NamedThreads to
>>> enter a critical section.
>>> To accomplish this, we add a new RCU-inspired synchronization utility,
>>> SingleWriterSynchronizer. This has some similarities to
>>> GlobalCounter, but the latter should be preferred except where it
>>> can't be used (such as in the implementation of GlobalCounter!). This
>>> utility is based on a private utility embedded in OopStorage. That
>>> private utility is being replaced by the new public one.
>>> Using this new synchronization utility, we provide lock-free iteration
>>> over the list of NamedThreads that is safe against creation and
>>> deletion of such threads. That iteration is used by GlobalCounter to
>>> examine all NamedThreads, rather than only the VMThread.
>>> CR:
>>> https://bugs.openjdk.java.net/browse/JDK-8209850
>>> Webrev:
>>> http://cr.openjdk.java.net/~kbarrett/8209850/open.00/
>>> Testing:
>>> mach5 tier1-3, hs-tier4-5.
>>> New synchronization utility includes a gtest.
>
>
More information about the hotspot-dev
mailing list