RFR: 8160539: Stack frame scanning acquires DerivedPointerTableGC_lock mutex
Vladimir Kozlov
vladimir.kozlov at oracle.com
Sat May 11 00:27:32 UTC 2019
LGTM.
Thanks,
Vladimir
On 5/10/19 5:13 PM, Kim Barrett wrote:
> Please review this change in the representation of the derived pointer table.
> It was a GrowableArray of pointers to derived pointer entries, protected by
> the DerivedPoitnerTableGC_lock. It is changed to a LockFreeStack of such
> entries.
>
> Running specjbb2015 with an instrumented VM found occasional contention for
> that lock; roughly half of the attempts to lock it found it already held by
> another thread. Comparing averages for G1 Thread Roots times for specjbb2015
> before and after the change, average was reduced by 8% (1ms), max by 16%
> (11.5ms), and total by 8% (27ms). Since the code involved is largely
> GC-agnostic, other collectors (except Serial) should see similar improvements.
>
> DerivedPointerTable::update_pointers() showed no significant change; it only
> takes about 0.1ms with or without the change of representation.
>
> CR:
> https://bugs.openjdk.java.net/browse/JDK-8160539
>
> Webrev:
> http://cr.openjdk.java.net/~kbarrett/8160539/open.00/
>
> Testing:
> mach5 tier1-5, plus the above mentioned specjbb2015 performance testing.
>
>
More information about the hotspot-dev
mailing list