JDK-6783381 : NUMA allocator: don't pretouch eden space with UseNUMA
  • Type: Enhancement
  • Component: hotspot
  • Sub-Component: gc
  • Affected Version: hs14
  • Priority: P4
  • Status: Resolved
  • Resolution: Fixed
  • OS: generic
  • CPU: generic
  • Submitted: 2008-12-10
  • Updated: 2010-04-03
  • Resolved: 2009-02-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.
JDK 6 JDK 7 Other
6u18Fixed 7Fixed hs15Fixed
With +AlwaysPreTouch and +UseNUMA the space that will be occupied by eden is first pretouched and then all the pages a uncommitted when the NUMA-aware allocator initialized essentially discarding the work.

EVALUATION http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/4e400c36026f

SUGGESTED FIX Move pretouching into MutableSpace and do the work for each of the spaces separately. Also make from,to and old spaces interleaved -- as demonstrated by John Coomes that adds about 5% to specjbb performance. Maintain interleaving during resizing, while limiting the amount of work done per GC cycle.