RFR (S): 8148099: Improve memory access to FromCardCache during GC

Thomas Schatzl thomas.schatzl at oracle.com
Thu Mar 31 10:25:49 UTC 2016


Hi all,

  can I have reviews for this change that improves memory access to the
from card cache during the GC pauses?

Instead of having an array that is #threads times #regions, use a
#regions times #threads layout. This changes the access pattern during
clearing the entries for a particular region when it is freed from many
single accesses with a large stride to linear memory writes.

This statistically significantly improves performance of the entire
affected phase (free cset) on large machines (large # of threads, and
particularly many regions in the collection set).

During the mutator phase there is no difference (it is lost in the
noise), as all accesses during that time are single-element read/write
anyway.

CR:
https://bugs.openjdk.java.net/browse/JDK-8148099
Webrev:
http://cr.openjdk.java.net/~tschatzl/8148099/webrev/
Testing:
jprt, vm.gc, some internal micro-benchmarks. Running for a long time
(long before the CR has been filed) on many internal builds and
benchmark runs.

Thanks,
  Thomas



More information about the hotspot-gc-dev mailing list