RFR: 8272447: Remove 'native' ranked Mutex

Kim Barrett kbarrett at openjdk.java.net
Mon Aug 16 04:32:30 UTC 2021


On Mon, 16 Aug 2021 01:24:18 GMT, David Holmes <dholmes at openjdk.org> wrote:

>> See JBS issue for more details.  The locks that were native ranking should have a real mutex ranking and participate in the deadlock detection mechanism.  The MonitoringSupport_lock is taken out after the Notification_lock, which is aliased to the Service_lock if -XX:-UseNotificationThread.  Service_lock is ranked tty-2 which is the same as access rank, so I made a new service rank for these two locks to share.  As a future change we should verify that rank+-number doesn't overlap with a different rank.
>> Tested with tier1-6 in mach5.
>
> src/hotspot/share/runtime/mutexLocker.cpp line 338:
> 
>> 336:   def(ThreadsSMRDelete_lock        , PaddedMonitor, special,     true,  _safepoint_check_never);
>> 337:   def(ThreadIdTableCreate_lock     , PaddedMutex  , leaf,        false, _safepoint_check_always);
>> 338:   def(SharedDecoder_lock           , PaddedMutex  , tty-1,       true,  _safepoint_check_never);
> 
> Sorry I don't understand how this you moved this ranking from being ultra-high to being one of the lowest. What are you actually saying about this lock? What rules are you applying to determine what the rank should be?

[not a review, just replying to @dholmes-ora] Mutex::native isn't an "ultra-high" rank, it is outside the ranking system.  Rank checks are not applied for Mutex::native.  See the occurrences of Mutex::native in mutex.cpp.

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

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


More information about the hotspot-runtime-dev mailing list