RFR: Balance without cancel [v2]

Kelvin Nilsen kdnilsen at openjdk.java.net
Tue May 10 23:14:24 UTC 2022


> This commit does load balancing on remembered set scanning that happens during concurrent marking and during concurrent updating of references.  Experiments show that the concurrency of remembered set marking is now much closer to the number of concurrent GC threads (generally within 5%) whereas before this commit, the level of concurrency was often less than 1/4 of the number of concurrent GC threads.
> 
> An additional fix integrated in this commit is to not scan the entirety of humongous object arrays.  We only scan the portions of these arrays that overlay with dirty cards in the remembered set.

Kelvin Nilsen has updated the pull request incrementally with two additional commits since the last revision:

 - Enhance logging information
 - Do not use shared allocation for promotions smaller than PLAB::min_size

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

Changes:
  - all: https://git.openjdk.java.net/shenandoah/pull/136/files
  - new: https://git.openjdk.java.net/shenandoah/pull/136/files/98be07c7..b249a2c5

Webrevs:
 - full: https://webrevs.openjdk.java.net/?repo=shenandoah&pr=136&range=01
 - incr: https://webrevs.openjdk.java.net/?repo=shenandoah&pr=136&range=00-01

  Stats: 103 lines in 5 files changed: 95 ins; 1 del; 7 mod
  Patch: https://git.openjdk.java.net/shenandoah/pull/136.diff
  Fetch: git fetch https://git.openjdk.java.net/shenandoah pull/136/head:pull/136

PR: https://git.openjdk.java.net/shenandoah/pull/136


More information about the shenandoah-dev mailing list