JDK-8232156 : Investigate initialization order for G1NUMA
  • Type: Enhancement
  • Component: hotspot
  • Sub-Component: gc
  • Affected Version: 14
  • Priority: P4
  • Status: Open
  • Resolution: Unresolved
  • Submitted: 2019-10-11
  • Updated: 2019-10-11
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.
Other
tbdUnresolved
Related Reports
Relates :  
Description
G1NUMA is created at initialization list of G1CollectedHeap and then sets region size and page size later at G1CollectedHeap::initialize(). The reason of this order is G1Allocator needs G1NUMA::num_active_nodes() and G1NUMA needs region / page size for further work so sets these values when calculated at initialize().
However if delay creating G1Allocator after creating G1NUMA, we can simply.
This approach is valid but for the following enhancement of NUMA which touches HeapRegionManager may be affected. i.e. G1NUMA should be created earlier. If HeapRegionManager also can be initialized after G1NUMA, initialization of G1NUMA will be simpler.

Investigate and change it if possible.

This discussion was brought up during JDK-8220310 review but couldn't accepted because of potential HeapRegionManager initialization order issue.