RFR: 8273917: Remove 'leaf' ranking for Mutex [v4]

Coleen Phillimore coleenp at openjdk.java.net
Wed Oct 6 01:22:24 UTC 2021


> This change removes 'leaf' ranking.  The previous change for JDK-8273915 divided the 'leaf' ranked locks that didn't safepoint check into the rank 'nosafepoint', so all the 'leaf' ranking locks left were safepoint_check_always.
> 
> The rank 'nonleaf' (to be renamed 'safepoint' in the next change) is the *top* mutex rank.
> 
> The transformation in this change is as follows:
>    nonleaf+n   => nonleaf   - Generally these 'nonleaf' mutex were top level locks)
>    leaf => nonleaf                - Many of these locks were top level locks
>    leaf => nonleaf-2             - Assuming that they were 'leaf' and 2 levels less than some existing nonleaf lock
>    leaf-n => nonleaf-n
> 
> The new mutex rankings reflect their rankings based on my logging, except for a couple shenandoah locks which I didn't observe, so I made them nonleaf-2.
> 
> This change also introduces a relative mutex ranking macro, so that a Mutex/Monitor can be defined in terms of a mutex that it holds while trying to acquire it.  So these relative mutex are moved to the end of the init function in mutexLocker.cpp.
> 
> This has been tested with tier1-8, and retesting tier1-3 locally in progress.

Coleen Phillimore has updated the pull request incrementally with one additional commit since the last revision:

  Combine bad rank range checks.

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

Changes:
  - all: https://git.openjdk.java.net/jdk/pull/5801/files
  - new: https://git.openjdk.java.net/jdk/pull/5801/files/bc4022c6..bd6ff180

Webrevs:
 - full: https://webrevs.openjdk.java.net/?repo=jdk&pr=5801&range=03
 - incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=5801&range=02-03

  Stats: 5 lines in 1 file changed: 2 ins; 3 del; 0 mod
  Patch: https://git.openjdk.java.net/jdk/pull/5801.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/5801/head:pull/5801

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


More information about the shenandoah-dev mailing list