hg: jdk7/hotspot-gc/hotspot: 6991377: G1: race between concurrent refinement and humongous object allocation

tony.printezis at oracle.com tony.printezis at oracle.com
Wed Oct 20 08:51:51 PDT 2010


Changeset: 72a161e62cc4
Author:    tonyp
Date:      2010-10-16 17:12 -0400
URL:       http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/72a161e62cc4

6991377: G1: race between concurrent refinement and humongous object allocation
Summary: There is a race between the concurrent refinement threads and the humongous object allocation that can cause the concurrent refinement threads to corrupt the part of the BOT that it is being initialized by the humongous object allocation operation. The solution is to do the humongous object allocation in careful steps to ensure that the concurrent refinement threads always have a consistent view over the BOT, region contents, and top. The fix includes some very minor tidying up in sparsePRT.
Reviewed-by: jcoomes, johnc, ysr

! src/share/vm/gc_implementation/g1/g1BlockOffsetTable.cpp
! src/share/vm/gc_implementation/g1/g1BlockOffsetTable.hpp
! src/share/vm/gc_implementation/g1/heapRegion.cpp
! src/share/vm/gc_implementation/g1/heapRegion.hpp
! src/share/vm/gc_implementation/g1/heapRegionSeq.cpp
! src/share/vm/gc_implementation/g1/sparsePRT.cpp
! src/share/vm/gc_implementation/g1/sparsePRT.hpp



More information about the hotspot-gc-dev mailing list