Integrated: 8339387: ZGC: Synchronize medium page allocation

Stefan Johansson sjohanss at openjdk.org
Mon Sep 9 11:17:14 UTC 2024


On Fri, 6 Sep 2024 07:14:11 GMT, Stefan Johansson <sjohanss at openjdk.org> wrote:

> Please review this change to synchronize medium page allocations in ZGC.
> 
> **Summary**
> In ZGC objects of a certain size class are allocated in medium sized pages. For each age there is a single medium page shared by all mutators. When this page gets full all thread that try to do a medium page allocation will try to allocate and install a new medium page, but only one will succeed. This can lead to a lot of unnecessary medium page allocation which in turn can lead to the unnecessary page cache flushing.
> 
> This change introduces synchronization to only a allow a single thread to allocate the medium page in the common case.  
> 
> **Testing**
> * Functional testing through mach5 tier1-7 using ZGC
> * Performance testing through aurora to verify no regression occur
> * Manual testing to verify performance
> * Manual testing to verify we avoid page cache flushing

This pull request has now been integrated.

Changeset: 347d5728
Author:    Stefan Johansson <sjohanss at openjdk.org>
URL:       https://git.openjdk.org/jdk/commit/347d5728e69ae1f7d1a24820cc2c17bb0b8c0af5
Stats:     47 lines in 2 files changed: 44 ins; 1 del; 2 mod

8339387: ZGC: Synchronize medium page allocation

Reviewed-by: aboldtch, stefank, eosterlund

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

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


More information about the hotspot-gc-dev mailing list