RFR: 8273915: Create 'nosafepoint' rank
David Holmes
dholmes at openjdk.java.net
Mon Sep 20 00:14:48 UTC 2021
On Thu, 16 Sep 2021 17:11:30 GMT, Coleen Phillimore <coleenp at openjdk.org> wrote:
> Partition safepoint checking and nonchecking lock ranks. The nonchecking locks are always lower ranked than the safepoint checking locks because they cannot block.
>
> This moves some leaf locks to 'nosafepoint' rank and corrects relative ranking.
>
> Tested with tier1-6 and built and run tier1 tests with shenandoah locally.
Hi Coleen,
Mostly the remapping seems okay but a few queries below.
Thanks,
David
src/hotspot/share/gc/parallel/psCompactionManager.cpp line 95:
> 93: _shadow_region_array = new (ResourceObj::C_HEAP, mtGC) GrowableArray<size_t >(10, mtGC);
> 94:
> 95: _shadow_region_monitor = new Monitor(Mutex::nosafepoint, "CompactionManager_lock",
Not clear why this one needed to change??
src/hotspot/share/runtime/mutex.hpp line 55:
> 53: nosafepoint = oopstorage + 6,
> 54: leaf = nosafepoint + 6,
> 55: safepoint = leaf + 10,
It is somewhat confusing to have safepoint as an explicit rank now that all ranks above nosafepoint imply safepoint-ing.
src/hotspot/share/runtime/mutexLocker.cpp line 253:
> 251: def(ClassInitError_lock , PaddedMonitor, leaf+1, true, _safepoint_check_always);
> 252: def(Module_lock , PaddedMutex , leaf+2, false, _safepoint_check_always);
> 253: def(InlineCacheBuffer_lock , PaddedMutex , nosafepoint-1, true, _safepoint_check_never);
Why -1 ?
-------------
PR: https://git.openjdk.java.net/jdk/pull/5550
More information about the hotspot-dev
mailing list