RFR: JDK-8297796 GenShen: instrument the remembered set scan [v12]
Y. Srinivas Ramakrishna
ysr at openjdk.org
Wed Dec 21 17:16:30 UTC 2022
On Tue, 20 Dec 2022 00:33:29 GMT, Y. Srinivas Ramakrishna <ysr at openjdk.org> wrote:
>> It's a number of card-scan rounds, independently for either RS scan or Update refs, where a round consists of a RS cycle or Update refs cycle by however many worker threads participate. The logging is oblivious to workers, but uses whatever number was used.
>>
>> Let me attach an example log in the PR summary to illusrate, but roughly speaking, it's as follows:
>>
>> (start of remembered set (RS) scan)
>> (end of remembered set scan)
>>
>> (og of card stats for this round of RS by worker #1)
>> ...
>> (log of card stats for this round by RS worker #k1)
>> ...
>> (start of update refs (UR) scan)
>>
>> (end of update refs scan)
>>
>> (log of card stats for this round of UR by worker #1)
>> ...
>> (log of card stats for this round of UR by worker #k2)
>> ...
>>
>> Every `ShenandoahCardStatsLogInterval` such rounds, in addition to the per round, per worker stats like we did above, we also produce cumulative statistics across all workers and all rounds to date, but one each for RS and UR.
>>
>> Let me know if that makes sense, and if "cycles" makes sense in the documentation for what I have called "rounds" above.
>
> See https://github.com/openjdk/shenandoah/pull/176#issuecomment-1342840919.
I updated the summary comment at the top of the PR at https://github.com/openjdk/shenandoah/pull/176#issue-1471869802 with the new format based on Kelvin's suggestion in https://github.com/openjdk/shenandoah/pull/176#issuecomment-1342840919 above. It shows that the per round stats, separated by worker and scan type (UR or RS) is needed, and that the cumulative stats may have lost some of the nuance present in the per round/per scan type stats.
-------------
PR: https://git.openjdk.org/shenandoah/pull/176
More information about the shenandoah-dev
mailing list