RFR: 8323807: Async UL: Add a stalling mode to async UL [v2]

Johan Sjölen jsjolen at openjdk.org
Wed Mar 20 17:05:49 UTC 2024


> Hi,
> 
> This PR does two things for the asynchronous UL mode:
> 
> 1. Replaces the ping-pong buffers with a circular buffer.
> 2. Adds a `stall` mode to async UL, ensuring that no messages are ever dropped if the log message producers out pace the log message writing thread.
> 
> These changes have been discussed on the hotspot-dev mailing list under the thread name "Request for Comment: Add a stalling mode to asynchronous UL". Xin Liu, the original author of the ping-pong approach, has confirmed that switching to circular buffers leads to a reduced rate of dropped messages.
> 
> The ticket description and my original e-mail contain approximately the same information and I'd recommend that you read either of those if you want an overview of why these changes are made and what the high-level protocol is.
> 
> All the best,
> Johan

Johan Sjölen has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains 41 additional commits since the last revision:

 - Merge remote-tracking branch 'origin/master' into ul-async-producer-consumer-take2
 - Missing N
 - Move constructors out of header file
 - Style
 - Correctly implement stalling
 - Missed one
 - Fix lossy conversions in tests
 - Merge remote-tracking branch 'origin/master' into ul-async-producer-consumer-take2
 - Only include sys/mman on Linux
 - Revert back to original Linux impl
 - ... and 31 more: https://git.openjdk.org/jdk/compare/3d0e96c9...8c4ced0f

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/17757/files
  - new: https://git.openjdk.org/jdk/pull/17757/files/f9506796..8c4ced0f

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

  Stats: 115257 lines in 2621 files changed: 22052 ins; 81955 del; 11250 mod
  Patch: https://git.openjdk.org/jdk/pull/17757.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/17757/head:pull/17757

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


More information about the hotspot-runtime-dev mailing list