RFR: 8317433: Async UL: Only grab lock once when write():ing

David Holmes dholmes at openjdk.org
Thu Oct 5 03:22:21 UTC 2023


On Tue, 3 Oct 2023 14:31:43 GMT, Johan Sjölen <jsjolen at openjdk.org> wrote:

> Hi,
> 
> The writer thread used to await for `_data_available` to become true through using the async log lock as a condition variable. When data is available it'd let go of the lock and then call `AsyncLogWriter::write()`, which would immediately try to acquire that same lock. We can remove this second instance by moving the work needed to be done under lock to `run`.
> 
> Thank you for considering this.

Assuming this is the only place we call `write` then this refactoring of the code executed under the lock seems quite reasonable to me.

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

PR Review: https://git.openjdk.org/jdk/pull/16030#pullrequestreview-1658817697


More information about the hotspot-runtime-dev mailing list