RFR: Demote warning message about OOM-during-evac to informational
Roman Kennke
rkennke at redhat.com
Fri Jan 19 10:54:40 UTC 2018
Am 19.01.2018 um 11:52 schrieb Aleksey Shipilev:
> Let's finally do this:
>
> diff -r 8e52377a090e src/hotspot/share/gc/shenandoah/shenandoahConcurrentThread.cpp
> --- a/src/hotspot/share/gc/shenandoah/shenandoahConcurrentThread.cpp Fri Jan 19 11:38:51 2018 +0100
> +++ b/src/hotspot/share/gc/shenandoah/shenandoahConcurrentThread.cpp Fri Jan 19 11:50:16 2018 +0100
> @@ -396,7 +396,9 @@
> if ((! Thread::current()->is_GC_task_thread()) && (! Thread::current()->is_ConcurrentGC_thread())) {
> assert(! Threads_lock->owned_by_self()
> || SafepointSynchronize::is_at_safepoint(), "must not hold Threads_lock here");
> - log_info(gc)("%s. Let Java thread wait until evacuation finishes.",
> GCCause::to_string(GCCause::_shenandoah_allocation_failure_evac));
> + log_info(gc)("%s. Thread \"%s\" waits until evacuation finishes.",
> + GCCause::to_string(GCCause::_shenandoah_allocation_failure_evac),
> + Thread::current()->name());
> while (heap->is_evacuation_in_progress()) { // wait.
> Thread::current()->_ParkEvent->park(1);
> }
>
> User has nothing to do with that warning, and it is non-user-actionable. So, no point in putting
> scary messages in the GC log. It now prints:
>
> [info][gc] GC(63) Concurrent cleanup 611M->611M(1024M) 0.202ms
> [info][gc] GC(63) Cancelling concurrent GC: Allocation Failure During Evac
> [info][gc] Allocation Failure During Evac. Thread "MyShinyThread" waits until evacuation finishes.
> [info][gc] GC(63) Concurrent evacuation 612M->994M(1024M) 315.488ms
> [info][gc] GC(64) Pause Full (Allocation Failure) 994M->541M(1024M) 312.493ms
>
> Testing: hotspot_fast_gc_shenandoah
>
> Thanks,
> -Aleksey
>
Yeah ok.
Do we still have any desire to fix this for real? I've pursued a couple
of possible implementations, and all of them seemed overly complex or
performance-impacting...
Roman
More information about the shenandoah-dev
mailing list