RFR: 8317433: Async UL: Only grab lock once when write():ing [v3]
Johan Sjölen
jsjolen at openjdk.org
Thu Oct 5 10:20:04 UTC 2023
On Thu, 5 Oct 2023 10:06:31 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.
>
> Johan Sjölen has updated the pull request incrementally with one additional commit since the last revision:
>
> Rewrite comment
src/hotspot/share/logging/logAsyncWriter.cpp line 160:
> 158: _lock.wait(0/* no timeout */);
> 159: }
> 160: // Only doing a swap and statistics under the lock to
@navyxliu
The original comment was:
>`// lock protection. This guarantees I/O jobs don't block logsites.`
Does this change make sense to you?
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/16030#discussion_r1347161523
More information about the hotspot-runtime-dev
mailing list