JDK-8140585 : PLAB statistics are flushed too late
  • Type: Bug
  • Component: hotspot
  • Sub-Component: gc
  • Affected Version: 9
  • Priority: P4
  • Status: Resolved
  • Resolution: Fixed
  • Submitted: 2015-10-27
  • Updated: 2015-11-29
  • Resolved: 2015-11-10
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 9
9 b94Fixed
Related Reports
Blocks :  
Relates :  
Description
PLAB statistics are flushed after we recalculate the new desired plab sizes.

This leads to PLAB size adjustment appearing to be for the next GC.
Comments
I think the best option is to move the calls to adjust_desired_plab_sz() in G1DefaultAllocator::release_gc_alloc_regions() after the call to per_thread_states->flush() in G1CollectedHeap::evacuate_collection_set(). Adding a "blocker" reference for 8139149 since that code also touches the same area, and the overhead of creating merge errors is not worth waiting a few days.
27-10-2015

Found by M. Chernov
27-10-2015