RFR: 8266073: Regression ~2% in Derby after 8261804

Stefan Johansson sjohanss at openjdk.java.net
Tue May 11 19:46:11 UTC 2021


On Tue, 11 May 2021 11:35:51 GMT, Leo Korinth <lkorinth at openjdk.org> wrote:

> My change in 8261804 made processing_is_mt() to always be false when _active_mt_degree is one. This is better because we then need not to execute on another thread. However, at a few places we do not change the _active_mt_degree if processing_is_mt() is false. We could then be stuck at 1 thread. I now change the code to always change the mt degree. 
> 
> Derby does no longer regress for g1, and tier 1 passes. I am running tier 1-3 at the moment.

Looks good. Just one question, did you do any analysis of the G1 reference processing during concurrent mark? In that code path the call to `set_active_mt_degree()` comes after checking `processing_is_mt()`. The comment suggests this is ok, just wanted to make sure this is still true after JDK-8261804:
https://github.com/openjdk/jdk/blob/995e95603089f2571bb6778a2ff1691b147fd0ce/src/hotspot/share/gc/g1/g1ConcurrentMark.cpp#L1585

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

PR: https://git.openjdk.java.net/jdk/pull/3972



More information about the hotspot-gc-dev mailing list