[crac] RFR: Prevent concurrent cleanup by cleaner thread and checkpoint notifications [v2]

Radim Vansa duke at openjdk.org
Tue Jun 6 08:01:41 UTC 2023


> We block the cleaner thread to prevent race conditions between this thread and checkpointing thread invoking clean().
> When the cleanup starts in cleaner thread the checkpoint will skip it, but without waiting for the cleanup to finish (which might be critical for the checkpoint, e.g. closing FDs).
> The limitation is that code performing C/R must not wait on any task completed by the cleaner.

Radim Vansa has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains three additional commits since the last revision:

 - Clean GC'ed references on checkpoint
 - Merge branch 'crac' into sync_cleaner
 - Prevent concurrent cleanup by cleaner thread and checkpoint notifications

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

Changes:
  - all: https://git.openjdk.org/crac/pull/73/files
  - new: https://git.openjdk.org/crac/pull/73/files/ef4ea426..43d7e41f

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=crac&pr=73&range=01
 - incr: https://webrevs.openjdk.org/?repo=crac&pr=73&range=00-01

  Stats: 742 lines in 24 files changed: 541 ins; 71 del; 130 mod
  Patch: https://git.openjdk.org/crac/pull/73.diff
  Fetch: git fetch https://git.openjdk.org/crac.git pull/73/head:pull/73

PR: https://git.openjdk.org/crac/pull/73


More information about the crac-dev mailing list