You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Handling multiple reserved region lists for numa off-heap case
In PR #22116
and #22546,
_arrayReservedRegionList and _sharedArrayReservedRegionsBytesUsed has
been introduced to share fraction of reserved regions.
_arrayReservedRegionList is set in commonAllocationContext(single
global list), For numa case, the reserved regions for large array could
be allocated from different allocation context(allocation context per
numa node and in case there is no free region for the numa note, it
could borrow from neighbor numa node). during recycling, there are no
extra information indicate which reserved regions are for recycling
off-heap array, so potentially it might cause imbalance free memory
among numa notes, then affect runtime performance in some cases.
Undate to manage reserved region list per allocation context(numa note)
to avoid imbalance free memory caused by reserved regions.
1, for reducing complexity, shared fraction reserved regions still be
managed in _arrayReservedRegionList of commom context.
set _sharedReserved in AllocateDescriptor for shared fraction reserved
region allocation.
2, new _allocationContextArray in SparseVirtualMemory(omr PR
eclipse-omr/omr#7956) to store/retrieve
allocation context for the reserved regions of large array.
3, handle allocation failure during getSparseAddressAndDecommitLeaves().
Signed-off-by: lhu <[email protected]>
0 commit comments