On Tue, 31 Aug 2021 21:52:12 GMT, Coleen Phillimore <cole...@openjdk.org> wrote:
>> I moved nonleaf ranked locks to be leaf (or leaf+something). Many of the >> leaf locks are safepoint_check_never. Segregating this rank into safepoint >> checking and non-safepoint checking is left for a future RFE. >> Tested with tier1-3. Tier 4-6 testing in progress. > > Coleen Phillimore has updated the pull request with a new target base due to > a merge or a rebase. The pull request now contains four commits: > > - Fix merge error. > - Merge branch 'master' into nonleaf > - Remove JfrSream_lock and rerun JFR tests. > - 8272788: Nonleaf ranked locks should not be safepoint_check_neve Hi Coleen, Changes look good to me. By inspecting the calls made after acquiring locks JvmtiTagMap_lock, CompiledIC_lock and VtableStubs_lock it seems the new lower rank of these locks should be fine although it's not straightforward. I guess we can always fix it if we find some path where a higher order rank needs to be acquired, but at least we know all the special locks are still lower than leaf. Only comment about NonJavaThreadsList_lock. Thanks, Patricio src/hotspot/share/runtime/mutexLocker.cpp line 270: > 268: > 269: def(Threads_lock , PaddedMonitor, barrier, true, > _safepoint_check_always); // Used for safepoint protocol. > 270: def(NonJavaThreadsList_lock , PaddedMutex, leaf+1, true, > _safepoint_check_never); Why do we need to change this rank? We now assert a lock should be _safepoint_check_always if the rank is >= nonleaf, but this is barrier so it should be good. ------------- Marked as reviewed by pchilanomate (Committer). PR: https://git.openjdk.java.net/jdk/pull/5203