RFR: JDK-8307314: Implementation: Generational Shenandoah (Experimental) [v12]
Thomas Stuefe
stuefe at openjdk.org
Wed Jun 7 18:21:45 UTC 2023
On Wed, 7 Jun 2023 14:06:31 GMT, Kelvin Nilsen <kdnilsen at openjdk.org> wrote:
> Hi Thomas,
>
> Thank you for your followup comments. I am in total agreement that it is a shame the challenges we have faced and the progress we have made is not better documented in the history of JBS tickets. I have been the worst offender. I apologize.
Please, no need to apologize. I understand that during early development one needs to move quickly. I just thought that your team's experience with tuning Shenandoah is valuable, and it is regrettable when it is lost.
> You are correct that the change is to N, the number of times in a row that we perform degenerated GC before we automatically upgrade to Full GC. It is still possible that we will upgrade to Full GC before N is reached, because there are other situations, such as lack of progress by degenerated GC, that will cause us to upgrade to Full even before N is reached.
>
> The comment is still valid as written. During degenerated GC, the mutator threads are all blocked, so the ONLY kind of allocation failure that can occur during degenerated GC is a GC-worker-thread allocation for the purpose of evacuating memory. If we experience an "evacuation failure" during degenerated GC. we will upgrade to Full GC.
Thank you for the thorough explanation.
-------------
PR Comment: https://git.openjdk.org/jdk/pull/14185#issuecomment-1581232734
More information about the hotspot-dev
mailing list