Fwd: (resend) Request for review (S): 7068625 Testing 8 bytes of card table entries at a time speeds up card-scanning
jon.masamitsu at oracle.com
Fri Feb 24 07:36:11 PST 2012
I'll look at this today.
On 2/24/2012 4:14 AM, Bengt Rutisson wrote:
> Hi all,
> Just pinging this review request. Does anybody have some time to look
> at it? It is a fairly small and straight forward change...
> -------- Original Message --------
> Subject: Request for review (S): 7068625 Testing 8 bytes of card
> table entries at a time speeds up card-scanning
> Date: Tue, 21 Feb 2012 12:03:50 +0400
> From: Alexey Ragozin <alexey.ragozin at gmail.com>
> To: hotspot-gc-dev at openjdk.java.net
> CC: Bengt Rutisson <bengt.rutisson at oracle.com>
> I would like few volunteers to review changes for
> WebRev: http://cr.openjdk.java.net/~brutisso/7068625/webrev.00/
> Change summary
> For large heaps (I was focusing on 8GiB and above) it is common to
> have long continuous ranges of clean cards.
> Patch is introducing a short path for skipping ranges of clean cards
> using word aligned memory access instead of byte aligned.
> Patch affects serial and CMS collectors. For CMS collector stride size
> should be increase to see any performance gains (I was using
> For testing I was mainly using synthetic benchmark randomly modifying
> hash tables in heap, thus uniformly touching cards across heaps.
> Average duration of young GC pause were used as KPI.
> More details about testing can be found at
> Though article is referring jdk6, my resent tests with trunk jdk7 show
> no difference.
> I was also tested patch with real application (Oracle Coherence
> storage node).
> With 16GiB of heap and CMS/ParNew GC, enabling patch have shortened GC
> pauses roughly in 2 times.
> Source code of benchmark used in test are available at
> Main class YoungGCPauseBenchmark
More information about the hotspot-gc-dev