RFR: 8311883: [Genshen] Adaptive tenuring threshold [v11]
Y. Srinivas Ramakrishna
ysr at openjdk.org
Tue Aug 15 22:53:41 UTC 2023
On Mon, 3 Jul 2023 23:38:51 GMT, Y. Srinivas Ramakrishna <ysr at openjdk.org> wrote:
>> Y. Srinivas Ramakrishna has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains 82 commits:
>>
>> - Merge branch 'master' into adaptive_tenuring
>> - Merge branch 'master' into adaptive_tenuring
>> - Reposition a mis-positioned assert as well as surrounding if-test order.
>> - Fix global flags to make adaptive tenuring with census at mark the
>> default, along with ignoring mortality rates of cohorts older than the
>> selected tenuring age at previous epoch.
>> - Flag to ignore mortality rate of cohorts older than the tenuring age of
>> most recent preious cycle when computing new tenuring threshold.
>> - Clear partial census data before a new marking cycle.
>> Allow consideration of mortality rate of youngest cohort for tenuring
>> decisions. (It was previously excluded because census data didn't
>> include the youngest cohort allocated in the current epoch.)
>>
>> Still to do: avoid tenuring revisionism a la Kelvin's suggestion.
>> - jcheck whitespace.
>> - Merge branch 'master' into adaptive_tenuring
>> - Separate out clearing and testing of local and global portions of census
>> data, towards expunging partial/interrupted census data as a next step.
>> - Merge branch 'master' into adaptive_tenuring
>> - ... and 72 more: https://git.openjdk.org/shenandoah/compare/a4f6425e...13fa9ac9
>
> src/hotspot/share/gc/shared/ageTable.hpp line 60:
>
>> 58:
>> 59: void add(uint age, size_t oop_size) {
>> 60: assert(age > 0 && age < table_size, "invalid age of object");
>
> We now also include age 0 objects in the census for the case of concurrent collectors in the young generation. This slot would have `sizes[0] == 0` for our traditional use cases for generational stop-world collectors.
>
> I'll upstream this change separately in a sibling PR/JBS. TBD.
https://bugs.openjdk.org/browse/JDK-8314329 will track this and other changes to the age table that need to be separately udstreamed.
-------------
PR Review Comment: https://git.openjdk.org/shenandoah/pull/289#discussion_r1295219544
More information about the shenandoah-dev
mailing list