RFR: 8274004: Change 'nonleaf' rank name

David Holmes dholmes at openjdk.java.net
Thu Oct 7 02:15:06 UTC 2021


On Wed, 6 Oct 2021 23:27:17 GMT, Coleen Phillimore <coleenp at openjdk.org> wrote:

> Also fixes: 8273956: Add checking for rank values
> 
> This change does 3 things.  I could separate them but this has all been tested together and most of the change is mechanical.  The first is a simple rename of nonleaf => safepoint.  The second change is to add the enum class Rank which only allows subtraction from a base rank, and some additional type checking so that rank arithmetic doesn't overlap with a different rank.  Ie if you say nosafepoint-n, that doesn't overlap with oopstorage.   The third change is to remove the _safepoint_check_always/never flag.  That is now intrinsic in the ranking, as all nosafepoint ranks are lower than all safepoint ranks.
> 
> Future changes could add rank names in the middle of nosafepoint and safepoint, like handshake.  As of now, the rank subtractions are not unmanageable.  There are actually not many nested Mutex.
> 
> This is the last of the planned subtasks for Mutex ranking cleanup.  If you have other ideas or suggestions, please let me know.
> 
> Tested with tier1-8 at one point in time and just retested with tier1-6.

Hi Coleen,

Overall this looks good! But shouldn't the test:

 test/hotspot/gtest/runtime/test_safepoint_locks.cpp

be replaced by one that checks we lock with/without a safepoint check for a safepoint/nonsafepoint lock respectively? (Or does that test already exist elsewhere?).

Also should there not be a gtest to verify your Rank overlap checking?

Thanks,
David

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

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


More information about the serviceability-dev mailing list