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