Integrated: 8280384: Parallel: Remove VMThread specific ParCompactionManager
Thomas Schatzl
tschatzl at openjdk.java.net
Tue Jan 25 09:15:42 UTC 2022
On Mon, 24 Jan 2022 10:38:02 GMT, Thomas Schatzl <tschatzl at openjdk.org> wrote:
> Hi all,
>
> can I have reviews for this change? Parallel GC allocates `ParallelGCThreads+1` `ParCompactionManagers`, the last one only used for work in the VM thread. That `ParCompactionManager`'s task queue is also not wired into the work stealing mechanism (i.e. the `TaskQueueSet`). This causes unnecessary code duplication when printing statistics for something which is mostly not used at all.
>
> The suggestion is to remove that unnecessarily allocated task queue as it seems unnecessary: this special handling for an apparently uncommon case prevents factoring out task queue statistics code, and use the 0'th `ParcompactionManager` for these tasks which the code states to be just fine (and it is). In e.g. G1 we also just use the 0'th "worker id" and associated data structures when doing work in the VM thread directly.
>
> Testing: tier1-5
>
> Thanks,
> Thomas
This pull request has now been integrated.
Changeset: b3277465
Author: Thomas Schatzl <tschatzl at openjdk.org>
URL: https://git.openjdk.java.net/jdk/commit/b32774653f72f379655192874cb7076079d238e6
Stats: 51 lines in 7 files changed: 2 ins; 28 del; 21 mod
8280384: Parallel: Remove VMThread specific ParCompactionManager
Reviewed-by: ayang, sjohanss
-------------
PR: https://git.openjdk.java.net/jdk/pull/7195
More information about the hotspot-gc-dev
mailing list