RFR: 8337511: Implement JEP 404: Generational Shenandoah (Experimental) [v6]

Aleksey Shipilev shade at openjdk.org
Thu Nov 14 19:34:14 UTC 2024


On Wed, 13 Nov 2024 23:17:44 GMT, William Kemper <wkemper at openjdk.org> wrote:

>> src/hotspot/share/gc/shenandoah/shenandoahUtils.hpp line 50:
>> 
>>> 48:   switch (generation_type) {                                              \
>>> 49:     case NON_GEN:                                                         \
>>> 50:       return prefix " (NON-GENERATIONAL)" postfix;                        \
>> 
>> In the interest of keeping the non-generational Shenandoah logging intact, should we drop ` (NON-GENERATIONAL)` here?
>
> No objections here. @ysramakrishna , @kdnilsen ?

See, with current code, default Shenandoah prints this:


[0.025s][info][gc] GC(0) Concurrent reset (NON-GENERATIONAL) (unload classes) 0.135ms
[0.025s][info][gc] GC(0) Pause Init Mark (NON-GENERATIONAL) (unload classes) 0.018ms
[0.025s][info][gc] GC(0) Concurrent marking roots 0.097ms
[0.029s][info][gc] GC(0) Concurrent marking (NON-GENERATIONAL) (unload classes) 4.050ms
[0.029s][info][gc] GC(0) Pause Final Mark (NON-GENERATIONAL) (unload classes) 0.123ms
[0.029s][info][gc] GC(0) Concurrent thread roots 0.205ms
[0.029s][info][gc] GC(0) Concurrent weak references (NON-GENERATIONAL) (unload classes) 0.014ms
[0.029s][info][gc] GC(0) Concurrent weak roots (NON-GENERATIONAL) (unload classes) 0.047ms
[0.029s][info][gc] GC(0) Concurrent cleanup (NON-GENERATIONAL) (unload classes) 40M->40M(2064M) 0.006ms
[0.029s][info][gc] GC(0) Concurrent class unloading 0.035ms
[0.029s][info][gc] GC(0) Concurrent strong roots 0.119ms


This is not great: experimental GenShen should not affect the logging for current product code. There is a risk we would be breaking some GC parsers if we change it.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/21273#discussion_r1842764603


More information about the serviceability-dev mailing list