Integrated: JDK-8303051: Stop saving 5 chunks in each ChunkPool

Johan Sjölen jsjolen at openjdk.org
Mon Feb 27 11:08:17 UTC 2023


On Wed, 22 Feb 2023 10:04:05 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.

This pull request has now been integrated.

Changeset: f2b03f9a
Author:    Johan Sjölen <jsjolen at openjdk.org>
URL:       https://git.openjdk.org/jdk/commit/f2b03f9a2c0fca853211e41a1ddf46195dd56698
Stats:     30 lines in 1 file changed: 1 ins; 20 del; 9 mod

8303051: Stop saving 5 chunks in each ChunkPool

Reviewed-by: rehn, coleenp

-------------

PR: https://git.openjdk.org/jdk/pull/12710


More information about the hotspot-runtime-dev mailing list