RFR: JDK-8303051: Stop saving 5 chunks in each ChunkPool [v4]
Johan Sjölen
jsjolen at openjdk.org
Thu Feb 23 11:48:10 UTC 2023
On Thu, 23 Feb 2023 10:51:32 GMT, Johan Sjölen <jsjolen at openjdk.org> wrote:
>> In the 4 pre-defined ChunkPools the pruner save 5 chunks for re-use later in the program. The pruner runs every 5 seconds and saves the first 5 chunks that were last freed and put into the pool. In other words: The lifetime of these 5 chunks are indeterminate, we don't know when these will be freed. This is a problem, because these chunks are allocated with os::malloc(). We might be clobbering our underlying malloc's capacity to shrink its own arena sizes because of the placement of these chunks, and it would be very difficult for us to know whether this is the case.
>>
>> I suggest that we stop saving these 4*5 chunks and always remove all free chunks when cleaning the pools.
>>
>> Passes Arena gtests, running tier1.
>
> Johan Sjölen has updated the pull request incrementally with one additional commit since the last revision:
>
> Forgot to set _first
Passes tier1.
-------------
PR: https://git.openjdk.org/jdk/pull/12710
More information about the hotspot-runtime-dev
mailing list