RFR: 8342444: Shenandoah: Uncommit regions from a separate, STS aware thread [v4]

Aleksey Shipilev shade at openjdk.org
Tue Nov 19 20:26:56 UTC 2024


On Tue, 19 Nov 2024 19:44:36 GMT, William Kemper <wkemper at openjdk.org> wrote:

>> Currently, Shenandoah uncommits regions from its control thread. The control thread is responsible for starting GC cycles in a timely fashion. Uncommitting memory from this thread may introduce unwanted delays in the control thread's response to GC pressure.
>
> William Kemper has updated the pull request incrementally with two additional commits since the last revision:
> 
>  - Improve comments
>  - Do not notify uncommit thread when uncommit is forbidden

I'll approve again, with the following nits:

src/hotspot/share/gc/shenandoah/shenandoahControlThread.cpp line 45:

> 43: // Regions cannot be uncommitted when concurrent reset is zeroing out the bitmaps.
> 44: // This CADR class enforces this by forbidding region uncommits while it is in scope.
> 45: struct ShenandoahForbidRegionUncommit : public StackObj {

This is `class`, not `struct`, right? A common name for these in Hotspot are `*No*Mark`, so `ShenandoahNoUncommitMark`?

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

Marked as reviewed by shade (Reviewer).

PR Review: https://git.openjdk.org/jdk/pull/22019#pullrequestreview-2446555609
PR Review Comment: https://git.openjdk.org/jdk/pull/22019#discussion_r1848995584


More information about the shenandoah-dev mailing list