RFR: 8286739: Refactor FreeListConfig
Albert Mingkun Yang
ayang at openjdk.java.net
Mon May 16 13:12:48 UTC 2022
On Sat, 14 May 2022 18:20:16 GMT, Kim Barrett <kbarrett at openjdk.org> wrote:
> but then seems to go off in what to me seems like a strange direction to address that question.
Probably, we have very different mental pictures about the free list allocator/config obj.
Currently, `FreeListConfig` contains two components, a flag affecting sth internal to the free list and APIs the free list calls to exchange mem with OS. I believe the latter is not part of the free list or the config obj because the free list treats `allocate/deallocate` as a black box. IOW, the `allocate/deallocate` APIs are on the boundary of the free list and their impl is outside the free list.
This problem becomes more apparent in a subclass of `FreeListConfig`, `BufferNode::AllocatorConfig`. `buffer_size` controls the granularity of each mem exchange with OS, but the behavior of the free list is orthogonal to that.
> but there's no corresponding synchronize (at least not that I could find).
Does `GlobalCounter::write_synchronize();` in `try_transfer_pending` count?
-------------
PR: https://git.openjdk.java.net/jdk/pull/8704
More information about the hotspot-gc-dev
mailing list