RFR(M): 8220311: Implementation: NUMA-Aware Memory Allocation for G1, Survivor (2/3)

Kim Barrett kim.barrett at oracle.com
Wed Oct 30 19:53:19 UTC 2019


> On Oct 29, 2019, at 4:13 PM, Stefan Johansson <stefan.johansson at oracle.com> wrote:
>> 
>> Webrev:
>> http://cr.openjdk.java.net/~sangheki/8220311/webrev.4
>> http://cr.openjdk.java.net/~sangheki/8220311/webrev.4.inc
> 
> Looks good in general, just one comment.
> 
> src/hotspot/share/gc/g1/g1Allocator.inline.hpp
> ---
>  78   assert(_alloc_buffers[dest.type()] != NULL,
>  79          "Allocation buffer is NULL: %s", dest.get_type_str());
> 
>  80   G1HeapRegionAttr::region_type_t type = dest.type();
>  81   return alloc_buffer(type, node_index);
> 
> As I mentioned to you offline, I think it is a bit unfortunate that we can’t index our way to the correct PLAB in G1PLABAllocator::alloc_buffer(…) without the if-statement, but I agree that having multiple array slots pointing to the same PLAB isn’t a optimal either. So I think this is approach is good for now,

I wondered about that too.  Multiple array slots pointing to the same PLAB doesn’t
seem bad to me, though it makes the PLAB management a little more complicated.
I agree this is good for now though, and can be investigated further in a followup.

> but I have a very minor comment on the code snippet above. I would prefer if line 80 was skipped and the call on 81 just did return alloc_buffer(dest.type(), node_index).

+1




More information about the hotspot-gc-dev mailing list