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

Thomas Schatzl thomas.schatzl at oracle.com
Wed Apr 5 09:17:18 UTC 2017


Hi Sangheon,

On Tue, 2017-04-04 at 12:40 -0700, sangheon wrote:
> Hi Thomas,
> 
> Thank you for fixing this!
> 
> http://cr.openjdk.java.net/~tschatzl/8177963/webrev/src/share/vm/gc/p
> arallel/gcTaskThread.cpp.frames.html
> 62   uint time = MIN2(_time_stamp_index, (uint)GCTaskTimeStampEntries
> - 1);
> Variable name seems not appropriate. 'index' instead of 'time'?

Kind of fixed after incorporating Kim's suggestions.

> 
>    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

I do not really care either way, we just should not crash. In this
version I implemented Kim's suggestion to ignore all further time
stamps.

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

Fixed.

New webrevs at:
http://cr.openjdk.java.net/~tschatzl/8177963/webrev.0_to_1 (diff)
http://cr.openjdk.java.net/~tschatzl/8177963/webrev.1 (full)

Thanks,
  Thomas




More information about the hotspot-gc-dev mailing list