RFR: Add generational full gc support
Roman Kennke
rkennke at openjdk.java.net
Fri Aug 27 15:39:01 UTC 2021
On Fri, 27 Aug 2021 13:31:12 GMT, Kelvin Nilsen <kdnilsen at openjdk.org> wrote:
> In situations when Generational Shenandoah triggers full-gc, we now allow full gc to run. The implementation of full gc preserves the distinction between young and old memory regions because premature promotion of young objects into old regions may result in inefficient subsequent old-gc efforts.
Looks ok to me, only small comments/questions. (Notice I am on PTO next 2 weeks until Sept 13th.)
src/hotspot/share/gc/shenandoah/shenandoahFreeSet.cpp line 221:
> 219: // that the PLAB be disabled for all future purposes. We may want to introduce a new service to make the
> 220: // PLABs parsable while still allowing the PLAB to serve future allocation requests that arise during the
> 221: // next evacuation pass.
If I understand correctly, we already have this in ShenandoahHeap::ensure_parsability(bool retire_tlabs)
src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.cpp line 50:
> 48: #include "utilities/powerOfTwo.hpp"
> 49:
> 50: #undef KELVIN_VERBOSE
Is this a left-over?
src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.cpp line 861:
> 859: p2i(top()), p2i(ctx->top_at_mark_start(this)), p2i(this->get_update_watermark()), p2i(ctx->top_bitmap(this)));
> 860: fflush(stdout);
> 861: #endif
Aha, here it comes. Maybe make this a proper log_trace() or log_debug() ?
-------------
Marked as reviewed by rkennke (Lead).
PR: https://git.openjdk.java.net/shenandoah/pull/61
More information about the shenandoah-dev
mailing list