RFR: 8256265 G1: Improve parallelism in regions that failed evacuation [v2]

Hamlin Li mli at openjdk.java.net
Fri Dec 3 08:55:14 UTC 2021


On Fri, 3 Dec 2021 08:10:16 GMT, Thomas Schatzl <tschatzl at openjdk.org> wrote:

> > Not sure if I get the point, current implementation is calculate the thread sizing to set the terminator threads and task queue size at the end of G1PostEvacuateCollectionSetCleanupTask1 constructor. I think there is some better refactoring solution to get this done. I will check pr #6612 further to see what we can do first. :) (TO double check)
> 
> I may have misread the code a bit; pr#6612 does not contain any similar changes - using the task queues has only been a thought.

I see.

> > Do you mean G1EvacFailureParScanTasksQueue* _task_queue in G1EvacFailureParScanState? it's just an OverflowTaskQueue, not a new structure. Would you mind to clarify further? :)
> 
> Yes, I meant reusing `G1EvacFailureParScanTasksQueue`, but that's not possible afaict - forget it.

OK.

> 
> Just seeing, the task queues are dynamically allocated; still they are 128k entries * 32 bytes (i.e. 4MB / thread) in size. Do we need that big task queues (all the time)? And if not, how do we scale them? (The size is a template parameter right now....) Do we want to have changeable task queue sizes (only if using task queues is the way to go).

I see your concerns. (TODO, adjust task queue size, or consider using simpler solution e.g. atomic claimer(mentioned above) )

> > 
> > Yes, this is to be done.
> 
> Yes, a separate CR.

Sure.

> 
> > > But there may be other causes for the problem, and without providing statistics you can't tell.
> > > Other requests:
> > > 
> > > * traceability: the change needs log messages at different levels,
> > >   [...]
> > 
> > 
> > Can't agree more, I will first collect more statistics by adding logging, will do it in another PR first. (TODO new pr)
> 
> Things might be quicker if you sent an email about the proposed changes to hotspot-gc-dev first for discussion; otherwise every reviewer needs to check out, set everything up and run the code to see them...

I think here you mean the log msg content and format to be collected, right? If positive, I will summarize and send it out to hotspot-gc-dev before the related pr.

Thanks
-Hamlin

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

PR: https://git.openjdk.java.net/jdk/pull/6627



More information about the hotspot-gc-dev mailing list