RFR: 8256938: Improve remembered set sampling task scheduling
Stefan Johansson
sjohanss at openjdk.java.net
Wed Nov 25 09:42:05 UTC 2020
Please review this change to the remembered set sampling task scheduling.
The sampling tasks joins the suspendible thread set (STS) and if it needs to yield during the sampling it aborts and reschedules. This is the expected behavior and will lead to the sampling happening roughly G1ConcRefinementServiceIntervalMillis after the pause ended. But in the case where the task is started during a GC (can happen since the whole service thread isn't joined to the STS) the sampling will start right after the pause has finished. This enhancement changes this by checking when the last pause occurred and reschedules the task to take place G1ConcRefinementServiceIntervalMillis after the GC ended.
**Testing**
Tier 1-3 and manual verification looking at logs.
-------------
Commit messages:
- 8256938: Improve remembered set sampling task scheduling
Changes: https://git.openjdk.java.net/jdk/pull/1428/files
Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=1428&range=00
Issue: https://bugs.openjdk.java.net/browse/JDK-8256938
Stats: 30 lines in 1 file changed: 26 ins; 1 del; 3 mod
Patch: https://git.openjdk.java.net/jdk/pull/1428.diff
Fetch: git fetch https://git.openjdk.java.net/jdk pull/1428/head:pull/1428
PR: https://git.openjdk.java.net/jdk/pull/1428
More information about the hotspot-gc-dev
mailing list