RFR: 8294759: Print actual lock/monitor ranking [v3]
Aleksey Shipilev
shade at openjdk.org
Wed Oct 5 16:14:44 UTC 2022
> When relative lock ranks are changing, it is useful to see what are the final lock ranks are. It can be dumped as optional logging shortly after VM startup.
>
> Sample output:
>
>
> $ build/linux-x86_64-server-fastdebug/images/jdk/bin/java -Xlog:vmmutex
> [0.073s][info][vmmutex] VM Mutex/Monitor ranks:
> [0.073s][info][vmmutex]
> [0.073s][info][vmmutex] Rank "service-2":
> [0.073s][info][vmmutex] Uncommit_lock
> [0.073s][info][vmmutex]
> [0.073s][info][vmmutex] Rank "service-1":
> [0.073s][info][vmmutex] FreeList_lock
> [0.073s][info][vmmutex] MonitoringSupport_lock
> [0.073s][info][vmmutex]
> [0.073s][info][vmmutex] Rank "service":
> [0.073s][info][vmmutex] Service_lock
> [0.073s][info][vmmutex] Notification_lock
> [0.073s][info][vmmutex]
> [0.073s][info][vmmutex] Rank "stackwatermark-1":
> [0.073s][info][vmmutex] JfrStacktrace_lock
> [0.073s][info][vmmutex]
> [0.073s][info][vmmutex] Rank "tty-1":
> [0.073s][info][vmmutex] SharedDecoder_lock
> [0.073s][info][vmmutex]
> [0.073s][info][vmmutex] Rank "tty":
> [0.073s][info][vmmutex] tty_lock
> [0.073s][info][vmmutex]
> [0.073s][info][vmmutex] Rank "nosafepoint-3":
> [0.073s][info][vmmutex] Metaspace_lock
> [0.073s][info][vmmutex] JfrMsg_lock
> [0.073s][info][vmmutex] ContinuationRelativize_lock
> [0.073s][info][vmmutex] ThreadsSMRDelete_lock
> [0.073s][info][vmmutex] CompiledMethod_lock
> [0.073s][info][vmmutex]
> [0.073s][info][vmmutex] Rank "nosafepoint-2":
> [0.073s][info][vmmutex] G1DetachedRefinementStats_lock
> [0.073s][info][vmmutex] JmethodIdCreation_lock
> [0.073s][info][vmmutex] CodeCache_lock
> [0.073s][info][vmmutex]
> [0.073s][info][vmmutex] Rank "nosafepoint-1":
> [0.073s][info][vmmutex] RootRegionScan_lock
> [0.073s][info][vmmutex] RawMonitor_lock
> [0.073s][info][vmmutex] MetaspaceCritical_lock
> [0.073s][info][vmmutex] NonJavaThreadsList_lock
> [0.073s][info][vmmutex] Zip_lock
> [0.073s][info][vmmutex] InlineCacheBuffer_lock
> [0.073s][info][vmmutex] VtableStubs_lock
> [0.073s][info][vmmutex]
> [0.073s][info][vmmutex] Rank "nosafepoint":
> [0.073s][info][vmmutex] STS_lock
> [0.073s][info][vmmutex] CGC_lock
> [0.073s][info][vmmutex] OldSets_lock
> [0.073s][info][vmmutex] MarkStackFreeList_lock
> [0.073s][info][vmmutex] MarkStackChunkList_lock
> [0.073s][info][vmmutex] StringDedup_lock
> [0.073s][info][vmmutex] StringDedupIntern_lock
> [0.073s][info][vmmutex] Patching_lock
> [0.073s][info][vmmutex] MonitorDeflation_lock
> [0.073s][info][vmmutex] SymbolArena_lock
> [0.073s][info][vmmutex] NonJavaThreadsListSync_lock
> [0.073s][info][vmmutex] InitCompleted_lock
> [0.073s][info][vmmutex] CompiledIC_lock
> [0.073s][info][vmmutex] DirectivesStack_lock
> [0.073s][info][vmmutex] EscapeBarrier_lock
> [0.073s][info][vmmutex] JvmtiVTMSTransition_lock
> [0.073s][info][vmmutex] JfrBuffer_lock
> [0.073s][info][vmmutex] JfrThreadSampler_lock
> [0.073s][info][vmmutex] DCmdFactory_lock
> [0.073s][info][vmmutex] DumpTimeTable_lock
> [0.073s][info][vmmutex] CDSLambda_lock
> [0.073s][info][vmmutex] DumpRegion_lock
> [0.073s][info][vmmutex] ClassListFile_lock
> [0.073s][info][vmmutex] Bootclasspath_lock
> [0.073s][info][vmmutex]
> [0.073s][info][vmmutex] Rank "safepoint-3":
> [0.073s][info][vmmutex] PerfDataMemAlloc_lock
> [0.073s][info][vmmutex] PerfDataManager_lock
> [0.073s][info][vmmutex] VMOperation_lock
> [0.073s][info][vmmutex] SystemDictionary_lock
> [0.073s][info][vmmutex]
> [0.073s][info][vmmutex] Rank "safepoint-2":
> [0.073s][info][vmmutex] Heap_lock
> [0.073s][info][vmmutex] ClassInitError_lock
> [0.073s][info][vmmutex] G1OldGCCount_lock
> [0.073s][info][vmmutex] ParGCRareEvent_lock
> [0.073s][info][vmmutex] OopMapCacheAlloc_lock
> [0.073s][info][vmmutex] Module_lock
> [0.073s][info][vmmutex]
> [0.073s][info][vmmutex] Rank "safepoint-1":
> [0.073s][info][vmmutex] Threads_lock
> [0.073s][info][vmmutex] Compile_lock
> [0.073s][info][vmmutex] AdapterHandlerLibrary_lock
> [0.073s][info][vmmutex] ClassLoaderDataGraph_lock
> [0.073s][info][vmmutex] CompileTaskAlloc_lock
> [0.073s][info][vmmutex] JNICritical_lock
> [0.073s][info][vmmutex] JVMCI_lock
> [0.073s][info][vmmutex]
> [0.073s][info][vmmutex] Rank "safepoint":
> [0.073s][info][vmmutex] InvokeMethodTable_lock
> [0.073s][info][vmmutex] SharedDictionary_lock
> [0.073s][info][vmmutex] VMStatistic_lock
> [0.073s][info][vmmutex] SignatureHandlerLibrary_lock
> [0.073s][info][vmmutex] ExceptionCache_lock
> [0.073s][info][vmmutex] FullGCALot_lock
> [0.073s][info][vmmutex] BeforeExit_lock
> [0.073s][info][vmmutex] RetData_lock
> [0.073s][info][vmmutex] Terminator_lock
> [0.073s][info][vmmutex] Notify_lock
> [0.073s][info][vmmutex] Heap_lock
> [0.073s][info][vmmutex] JfieldIdCreation_lock
> [0.073s][info][vmmutex] MethodCompileQueue_lock
> [0.073s][info][vmmutex] CompileStatistics_lock
> [0.073s][info][vmmutex] MultiArray_lock
> [0.073s][info][vmmutex] JvmtiThreadState_lock
> [0.073s][info][vmmutex] Management_lock
> [0.073s][info][vmmutex] ConcurrentGCBreakpoints_lock
> [0.073s][info][vmmutex] MethodData_lock
> [0.073s][info][vmmutex] TouchedMethodLog_lock
> [0.073s][info][vmmutex] CompileThread_lock
> [0.073s][info][vmmutex] PeriodicTask_lock
> [0.073s][info][vmmutex] RedefineClasses_lock
> [0.073s][info][vmmutex] Verify_lock
> [0.073s][info][vmmutex] CodeHeapStateAnalytics_lock
> [0.073s][info][vmmutex] ThreadIdTableCreate_lock
> [0.073s][info][vmmutex] NMTQuery_lock
> [0.073s][info][vmmutex] CDSClassFileStream_lock
> [0.073s][info][vmmutex] LambdaFormInvokers_lock
> [0.073s][info][vmmutex] JVMCIRuntime_lock
>
>
> Additional testing:
> - [x] New test on Linux x86_64 {release,fastdebug,slowdebug}
Aleksey Shipilev has updated the pull request incrementally with one additional commit since the last revision:
More comments
-------------
Changes:
- all: https://git.openjdk.org/jdk/pull/10556/files
- new: https://git.openjdk.org/jdk/pull/10556/files/1a6655c6..5aab4a75
Webrevs:
- full: https://webrevs.openjdk.org/?repo=jdk&pr=10556&range=02
- incr: https://webrevs.openjdk.org/?repo=jdk&pr=10556&range=01-02
Stats: 4 lines in 1 file changed: 2 ins; 0 del; 2 mod
Patch: https://git.openjdk.org/jdk/pull/10556.diff
Fetch: git fetch https://git.openjdk.org/jdk pull/10556/head:pull/10556
PR: https://git.openjdk.org/jdk/pull/10556
More information about the hotspot-runtime-dev
mailing list