RFR: Use PLAB for evacuations instead of TLAB
Roman Kennke
rkennke at redhat.com
Mon May 14 09:23:57 UTC 2018
Am 14.05.2018 um 10:52 schrieb Aleksey Shipilev:
> On 05/11/2018 11:25 PM, Roman Kennke wrote:
>> Full:
>> http://cr.openjdk.java.net/~rkennke/plab-gclab/webrev.05/
>
> Looks OK. I have a few final questions:
>
> *) On this path we can fire assert with -UseTLAB?
>
> 256 inline HeapWord* ShenandoahHeap::allocate_from_gclab(Thread* thread, size_t size) {
> 257 PLAB* gclab = ShenandoahThreadLocalData::gclab(thread);
> 258 if (gclab == NULL) {
> 259 assert(!thread->is_Java_thread() && !thread->is_Worker_thread(),
> 260 "Performance: thread should have GCLAB: %s", thread->name());
> 261 // No GCLABs in this thread, fallback to shared allocation
> 262 return NULL;
> 263 }
>
> Otherwise OK.
GCLAB usage is no longer tied to +UseTLAB. I.e. even if we -UseTLAB,
we'd still be using GCLABs. We can change this if you prefer, or even
introduce a new flag (e.g. +ShenandoahUseGCLAB) ?
Roman
More information about the shenandoah-dev
mailing list