Withdrawn: 8312023: Parallel pretouch should shortcut when only 1 thread is needed
duke
duke at openjdk.org
Fri Feb 2 04:27:07 UTC 2024
On Wed, 29 Nov 2023 12:48:42 GMT, Aleksey Shipilev <shade at openjdk.org> wrote:
> This is a follow-up for code introduced in JDK 16 by [JDK-8252221](https://bugs.openjdk.org/browse/JDK-8252221).
>
> Unfortunately, we do pre-touch not only at startup, but also during the application lifetime when space boundary moves, see [JDK-8312021](https://bugs.openjdk.org/browse/JDK-8312021). From that code, we start the pre-touch threads unconditionally, even when we only need one thread anyway. This is clearly visible with `-Xlog:gc+heap=debug`. The actual pretouch takes single-digit microseconds, but the round-trip through the worker pool incurs latency of about 100us (2x 50us) in my setups. This is significant for very short GC pauses.
>
> Additional testing:
> - [x] Ad-hoc benchmarks
> - [x] Linux x86_64 server fastdebug, `tier{1,2,3}` with `-XX:+UseParallelGC -XX:+AlwaysPreTouch`
This pull request has been closed without being integrated.
-------------
PR: https://git.openjdk.org/jdk/pull/16882
More information about the hotspot-gc-dev
mailing list