RFR: Use timed wait to sleep control thread [v2]

earthling-amzn github.com+71722661+earthling-amzn at openjdk.java.net
Wed Apr 7 20:31:09 UTC 2021


> Using a timed `wait` rather than a naked sleep allows the control thread to be more responsive to requests from mutators and the regulator thread to start GC cycles. The sleep time is also changed from `ShenandoahControlIntervalMin` to `ShenandoahControlIntervalMax` to reduce unnecessary polling cycles. We could use a plain `wait`, but the control thread is responsible for periodically sending allocation metrics to the `pacer`.

earthling-amzn has updated the pull request incrementally with two additional commits since the last revision:

 - Increase mutex rank of gc waiters
   
   This lets us take the control thread's lock to notify it without tripping the deadlock detector.
 - Remove unnecessary enum namespace

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

Changes:
  - all: https://git.openjdk.java.net/shenandoah/pull/28/files
  - new: https://git.openjdk.java.net/shenandoah/pull/28/files/69650c28..f4b50907

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

  Stats: 3 lines in 1 file changed: 0 ins; 0 del; 3 mod
  Patch: https://git.openjdk.java.net/shenandoah/pull/28.diff
  Fetch: git fetch https://git.openjdk.java.net/shenandoah pull/28/head:pull/28

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


More information about the shenandoah-dev mailing list