Details
-
Enhancement
-
Resolution: Fixed
-
P4
-
17, 19
-
b07
Backports
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8308272 | 17.0.9-oracle | Joe Cherian | P4 | Resolved | Fixed | b01 |
JDK-8310283 | 17.0.9 | Goetz Lindenmaier | P4 | Resolved | Fixed | b01 |
Description
I.e. if there is a single thread having work in its overflow stack, it tries to work on that one by itself; other threads that steal that have nothing to do as the stack to steal from is kind of empty.
On BRT 20gb, in the initial full gcs to compact the heap, changing this saves 400ms of 1500ms total pause time.
This is a similar problem G1 young gc showed long time ago.
Attachments
Issue Links
- backported by
-
JDK-8308272 G1: Full gc mark stack draining should prefer to make work available to other threads
- Resolved
-
JDK-8310283 G1: Full gc mark stack draining should prefer to make work available to other threads
- Resolved
- relates to
-
JDK-8156754 Encapsulate task queue policies into queue/task specific classes to use
- Open
-
JDK-8152438 Threads may do significant work out of the non-shared overflow buffer
- Resolved
-
JDK-8280958 G1/Parallel: Unify marking code structure
- Resolved
-
JDK-8280705 Parallel: Full gc mark stack draining should prefer to make work available to other threads
- Resolved
- links to
-
Commit openjdk/jdk17u-dev/24b31cd7
-
Commit openjdk/jdk/674a97b2
-
Review openjdk/jdk17u-dev/1455
-
Review openjdk/jdk/7175