Another question regarding Thread dumps
david.holmes at oracle.com
Tue Mar 13 04:36:05 UTC 2018
On 13/03/2018 1:41 AM, Langer, Christoph wrote:
> I have another question regarding thread dumping code.
> At the places where thread dumps get generated (attachListener.cpp, diagnosticCommand.cpp, os.cpp), there's always a series of 3 VM operations: VM_PrintThreads, VM_PrintJNI and VM_FindDeadlocks. I'm wondering if it would make sense to do this altogether in one VM operation? Then probably the picture could be more consistent. However, I can imagine the risk that the safepoint takes too long. Are there other pros and cons I'm missing?
> I'm asking because in our JVM codebase I can find places where some of these VM ops had been combined and I'm wondering what might be the reasoning behind that and whether it makes sense to revert to the OpenJDK way of doing things or whether the changes are smart and even worth contributing. What do you think?
VM_FindDeadlocks is also used stand-alone in jmm_FindDeadlockedThreads.
I think they are logically three distinct operations. And one really
long safepoint could be quite problematic. You'd need extensive
real-life benchmarking of the impact on real apps that use active
monitoring before being able to make this change. This seems to me like
a "if it ain't broke ..." situation.
More information about the hotspot-runtime-dev