RFR: 8339097: Parallel: Compact GC to split array early for task stealing
Kim Barrett
kbarrett at openjdk.org
Thu Aug 29 19:09:19 UTC 2024
On Thu, 29 Aug 2024 14:38:34 GMT, Zhengyu Gu <zgu at openjdk.org> wrote:
> > I am no expert, but I thought we do it this way to not artificially blow up the task queue for large arrays and many stripes? I may be wrong.
>
> Ran many tests/benchmarks with task queue stats reporting on, almost never overflow, even for marking stack. Also see comment [here](https://github.com/openjdk/jdk/pull/20720#issuecomment-2317258824), similar idea.
You've ignored part of that comment - "... tries to keep them at ParallelGCThreads"
That's the purpose of PartialArrayTaskStepper, along with the more recent PartialArrayState (to allow the partial array
tasks to be in the same queue as the ordinary oop/narrowOop tasks).
Please don't make this change. The plan is to change this part of ParallelGC to use that new infrastructure,
eliminating the need for ObjArrayTask and the separate taskqueue for them. That will simplify getting tasks,
stealing tasks, and termination.
-------------
PR Comment: https://git.openjdk.org/jdk/pull/20745#issuecomment-2318656274
More information about the hotspot-gc-dev
mailing list