RFR: 8267920: Create separate Events buffer for VMOperations

Stefan Karlsson stefank at openjdk.java.net
Fri May 28 11:28:14 UTC 2021


The Events classes collect events in a circular buffer that gets dumped into the hs_err files. There are different sections to sort out different types of events. See:

  // A log for internal exception related messages, like internal
  // throws and implicit exceptions.
  static ExceptionsEventLog* _exceptions;

  // Deoptization related messages
  static StringEventLog* _deopt_messages;

  // Redefinition related messages
  static StringEventLog* _redefinitions;

  // Class unloading events
  static UnloadingEventLog* _class_unloading;

There's also a buffer for non-categorized events:

  // A log for generic messages that aren't well categorized.
  static StringEventLog* _messages;

I propose that we create a separate buffer for VMOperations. This will make it easier to debug GC related bugs.

With the proposed patch, the hs_err files will now have a section that looks like this.

VM Operations (20 events):
Event: 0,186 Executing VM operation: HandshakeAllThreads
Event: 0,186 Executing VM operation: HandshakeAllThreads done
Event: 0,230 Executing VM operation: ZMarkStart
Event: 0,230 Executing VM operation: ZMarkStart done
Event: 0,232 Executing VM operation: HandshakeAllThreads
Event: 0,232 Executing VM operation: HandshakeAllThreads done
Event: 0,232 Executing VM operation: HandshakeAllThreads
Event: 0,232 Executing VM operation: HandshakeAllThreads done
Event: 0,232 Executing VM operation: HandshakeAllThreads
Event: 0,233 Executing VM operation: HandshakeAllThreads done
Event: 0,233 Executing VM operation: ZMarkEnd
Event: 0,233 Executing VM operation: ZMarkEnd done
Event: 0,234 Executing VM operation: HandshakeAllThreads
Event: 0,234 Executing VM operation: HandshakeAllThreads done
Event: 0,234 Executing VM operation: ZVerify
Event: 0,234 Executing VM operation: ZVerify done
Event: 0,234 Executing VM operation: CleanClassLoaderDataMetaspaces
Event: 0,234 Executing VM operation: CleanClassLoaderDataMetaspaces done
Event: 0,235 Executing VM operation: ZRelocateStart
Event: 0,235 Executing VM operation: ZRelocateStart done

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

Commit messages:
 - 8267920: Create separate Events buffer for VMOperations

Changes: https://git.openjdk.java.net/jdk/pull/4243/files
 Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=4243&range=00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8267920
  Stats: 66 lines in 3 files changed: 46 ins; 3 del; 17 mod
  Patch: https://git.openjdk.java.net/jdk/pull/4243.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/4243/head:pull/4243

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


More information about the hotspot-dev mailing list