RFR: 8328307: GenShen: Re-enable old-has-grown trigger for old-generation GC [v14]

William Kemper wkemper at openjdk.org
Wed Apr 24 16:50:52 UTC 2024


On Tue, 23 Apr 2024 21:15:07 GMT, Kelvin Nilsen <kdnilsen at openjdk.org> wrote:

>> Enable old-gen growth triggers, which were inadvertantly disabled.  This passes the internal regression pipeline tests.
>> 
>> As would be expected, we see an increase in mixed-evacuation triggers.  We also see significant improvement on certain extremem workloads due to improved clearing of old-gen.
>> 
>> 
>>    Control: shenandoah-x86-template
>> Experiment: enable-old-growth-triggers-gh-x86
>> 
>>                           Most impacted benchmarks |                              Most impacted metrics
>> -------------------------------------------------------------------------------------------------------
>>                            Genshen/extremem-phased |                             trigger_expedite_mixed
>>                 Genshen/specjbb2015_weak_ref_patch |                                    trigger_failure
>>                                Genshen/specjbb2015 |                               context_switch_count
>>                     Genshen/hyperalloc_a3072_o4096 |                                     sla_25000_jops
>>                             Shenandoah/specjbb2015 |                                      trigger_learn
>> 
>> 
>>                                 Only in experiment |                                    Only in control
>> -------------------------------------------------------------------------------------------------------
>>      hyperalloc_a2048_o2048/trigger_expedite_mixed |                   compress/concurrent_thread_roots
>>      hyperalloc_a2048_o4096/trigger_expedite_mixed |                        crypto.rsa/ctr_thread_roots
>>      hyperalloc_a3072_o2048/trigger_expedite_mixed |                               crypto.rsa/ctr_total
>>      hyperalloc_a3072_o4096/trigger_expedite_mixed |               extremem-large-31g/trigger_expansion
>>               extremem-large-31g/trigger_overgrown |                  extremem-phased/trigger_expansion
>> 
>> Genshen
>> -------------------------------------------------------------------------------------------------------
>> +685.00% specjbb2015_weak_ref_patch/trigger_expedite_mixed p=0.00002
>>   Control:      2.500   (+/-  0.68  )         30
>>   Test:        19.625   (+/-  4.79  )         10
>> 
>> +561.90% specjbb2015/trigger_expedite_mixed p=0.00001
>>   Control:      2.625   (+/-  0.92  )         30
>>   Test:        17.375   (+/-  3.89  )         10
>> 
>> +225.42% extremem-phased/trigger_expedite_mixed p=0.00000
>>   Control:      9.833   (+/-  3.48  )         30
>>   Test:        32.000   (+/-  2.58  )       ...
>
> Kelvin Nilsen has updated the pull request incrementally with one additional commit since the last revision:
> 
>   Fix typo

Looks good. Minor nit: unnecessary cast in shHeap.cpp:2838

src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp line 2838:

> 2836:     ShenandoahGenerationalHeap* gen_heap = ShenandoahGenerationalHeap::heap();
> 2837:     ShenandoahOldGeneration* old_gen = gen_heap->old_generation();
> 2838:     ShenandoahOldHeuristics* old_heuristics = (ShenandoahOldHeuristics*) old_gen->heuristics();

Shouldn't need to cast here.

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

Changes requested by wkemper (Committer).

PR Review: https://git.openjdk.org/shenandoah/pull/409#pullrequestreview-2020419160
PR Review Comment: https://git.openjdk.org/shenandoah/pull/409#discussion_r1578215530


More information about the shenandoah-dev mailing list