RFR: Consistenly order STS scope outside of OOM scope to avoid deadlocks

Roman Kennke rkennke at redhat.com
Wed Oct 17 14:32:32 UTC 2018


> On 10/17/2018 12:31 PM, Roman Kennke wrote:
>> All implemented here:
>> http://cr.openjdk.java.net/~rkennke/sts-oom-deadlock/webrev.01/
> 
> Looks much better, thanks.
> 
> So, this thing can deadlock before hitting the assert, right? This is probably okay if we just want
> to catch unlucky placements that do not deadlock most of the time.
> 
> *) I think assert messages should say something about the ordering:
> 
>  159     assert(!ShenandoahThreadLocalData::is_evac_allowed(Thread::current()), "sanity");
> 
> For example:
> 
>   assert(!ShenandoahThreadLocalData::is_evac_allowed(Thread::current()),
>          "STS should be joined before evac scope");
> 
>   assert(!ShenandoahThreadLocalData::is_evac_allowed(Thread::current()),
>          "STS should be left after evac scope");
> 
> 
> Thanks,
> -Aleksey

Very good point. Will push with change msg after a quick sanity test.

Roman




More information about the shenandoah-dev mailing list