[9] RFR (S): 8177963: Parallel GC fails fast when per-thread task log overflows

sangheon sangheon.kim at oracle.com
Tue Apr 4 19:40:44 UTC 2017


Hi Thomas,

Thank you for fixing this!

http://cr.openjdk.java.net/~tschatzl/8177963/webrev/src/share/vm/gc/parallel/gcTaskThread.cpp.frames.html
62   uint time = MIN2(_time_stamp_index, (uint)GCTaskTimeStampEntries - 1);
Variable name seems not appropriate. 'index' instead of 'time'?

   68   _time_stamp_index++;
We would face overflow here, so increase only if it is less than 
GCTaskTimeStampEntries?
(Because you want to re-use the last buffer when buffers overflow, if 
not line 58 also should be '>=')
Or simply rotate it, _time_stamp_index%=GCTaskTimeStampEntries

http://cr.openjdk.java.net/~tschatzl/8177963/webrev/src/share/vm/gc/parallel/gcTaskThread.hpp.frames.html
You already updated all other files except this.

Thanks,
Sangheon


On 04/04/2017 02:48 AM, Thomas Schatzl wrote:
> Hi all,
>
>    can I have reviews for this small fix that changes a guarantee() in
> parallel gc when some logging buffer overflows into a warning message
> about the overflow and (continued) reuse of the last entry of that
> buffer so that the user then can then rerun with a larger buffer.
>
> Since it is so late in the release cycle I would like to keep the fix
> simple instead of rewriting the buffer logic, i.e. make it expandable
> etc.
>
> This change has been mostly contributed by Ramki from Twitter, as part
> of JDK-7180571; however we just got this bug from release testing that
> is a duplicate, and he's unavailable to do an RFR right now, and I want
> this fixed asap. I intend to put him as author for this change.
>
> CR:
> https://bugs.openjdk.java.net/browse/JDK-8177963
> Webrev:
> http://cr.openjdk.java.net/~tschatzl/8177963/webrev/
> Testing:
> local testing, new test, jprt
>
> Thanks,
>    Thomas
>




More information about the hotspot-gc-dev mailing list