RFR: 8369283: Improve trace logs in safepoint machinery [v2]

Aleksey Shipilev shade at openjdk.org
Tue Oct 7 15:40:31 UTC 2025


> During the performance investigations in safepoint machinery (notably [JDK-8350324](https://bugs.openjdk.org/browse/JDK-8350324)), I found the trace logging lacking. It would be good to improve it in order to finely profile various microscopic things like thread list walks, the blocking/resuming of Java threads, etc. For [JDK-8350324](https://bugs.openjdk.org/browse/JDK-8350324), for example, I want to be able to measure the Java thread delays if they assist in avalanche wakeups.
> 
> This leans heavily on unified logging and invariant clocks to do the right thing, but I think it is a fair compromise for simplicity. The configuration I found most useful for testing is:
> 
> 
> -Xlog:async -Xlog:safepoint=trace:file=safepoint.log:uptimenanos
> 
> 
> My tentative plan is to visualize this more comprehensively with a little tool that digests that log.
> 
> I am open for bikeshedding on logging wording. The log example is in the comment below.
> 
> Additional testing:
>  - [x] Ad-hoc log peeking
>  - [ ] Linux x86_64 server fastdebug, `tier1`

Aleksey Shipilev has updated the pull request incrementally with one additional commit since the last revision:

  Cannot allocate for Thread::name + adjust debug levels

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/27673/files
  - new: https://git.openjdk.org/jdk/pull/27673/files/3036d32c..22700224

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=27673&range=01
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=27673&range=00-01

  Stats: 11 lines in 2 files changed: 2 ins; 2 del; 7 mod
  Patch: https://git.openjdk.org/jdk/pull/27673.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/27673/head:pull/27673

PR: https://git.openjdk.org/jdk/pull/27673


More information about the hotspot-dev mailing list