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