RFR: 8323807: Async UL: Add a stalling mode to async UL [v6]
Johan Sjölen
jsjolen at openjdk.org
Wed May 22 16:18:32 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 58 additional commits since the last revision:
- Merge remote-tracking branch 'openjdk/master' into ul-async-producer-consumer-take2
- Merge remote-tracking branch 'origin/master' into ul-async-producer-consumer-take2
- Do not let go of producer lock when stalling
- Just inline it.
- TBIVM and small refactor
- Reflect renamings in tests
- Move more towards producer/consumer and fix alignment
- change to producer consumer in comment
- Rename to maybe_has_message
- Atomic::store for _tail/_head in locked methods
- ... and 48 more: https://git.openjdk.org/jdk/compare/3320d452...0e87ea10
-------------
Changes:
- all: https://git.openjdk.org/jdk/pull/17757/files
- new: https://git.openjdk.org/jdk/pull/17757/files/1373a738..0e87ea10
Webrevs:
- full: https://webrevs.openjdk.org/?repo=jdk&pr=17757&range=05
- incr: https://webrevs.openjdk.org/?repo=jdk&pr=17757&range=04-05
Stats: 562123 lines in 6809 files changed: 131735 ins; 84629 del; 345759 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