RFR: JDK-8025564: gc/memory/UniThread/Linear1 times out during heap verification

Bengt Rutisson bengt.rutisson at oracle.com
Fri Sep 5 13:25:45 UTC 2014


Hi again,

StefanK looked at this and came up with two more things that can be 
verified. I've added those checks.

Here's an updated webrev:
http://cr.openjdk.java.net/~brutisso/8025564/webrev.01/

Here's the diff compared to the previous version:
http://cr.openjdk.java.net/~brutisso/8025564/webrev.00-01.diff/

Thanks, Stefan, for looking at this!
Bengt

On 2014-09-02 14:50, Bengt Rutisson wrote:
>
> Hi all,
>
> Can I have some reviews for this fix?
>
> http://cr.openjdk.java.net/~brutisso/8025564/webrev.00/
>
> https://bugs.openjdk.java.net/browse/JDK-8025564
>
> From the bug report:
>
> Running the gc/vector/ObjectArrayHigh test with a fastdebug build 
> takes 9 minutes and 21 seconds on my workstation. A little over 1 
> minute is spent running the test. The rest of the time (8 minutes) is 
> spent vefirying the BOT. The reason the BOT verification takes such a 
> long time is that for each object on the heap G1 looks up the 
> corresponding value in the BOT and iterates forward to find the same 
> object again. This can get very expensive since the BOT is lazily 
> refined and may be in a state where you more or less have to iterate 
> from the start of each heap region to find the correct object.
>
> By replacing this expesive verification with a single pass over the 
> BOT that just verifies that the BOT has consistent values the 
> execution time is reduced significantly. With this more explicit BOT 
> verification the test finishes in 1 minute and 3 seconds on my 
> workstation.
>
> Note that the requirements on the BOT are very relaxed. Basically a 
> BOT entry can point arbitrarily far back in a HeapRegion as long as it 
> points to an object. From that object you can then iterate forward to 
> find the last object that you are interested in. This means that there 
> are few values that can be considered wrong in the BOT.
>
> Thanks,
> Bengt




More information about the hotspot-gc-dev mailing list