[crac] RFR: Introduce per-Priority Context with different policies

Anton Kozlov akozlov at openjdk.org
Wed May 17 15:04:10 UTC 2023


A follow-up work for #60:

* Each priority now has a dedicated context, so contextes may provide different policies. CALL_SITE now uses new CriticalUnorderedContext that runs beforeCheckpoint on concurrent registration, fixes [1]. Whether or not CALL_SITE needs to be registered to at all is an open question and out of scope of this PR.
* the Global Context reverted from BlockingOrderedContext to OrderedContext, as that may have a huge impact on users. Probably we'll want to expose blocking/criticalUnorderd context along the global one, or at some point expose an implementation. But this is also out of scope of the PR.
* hierachy of the Context implementations are cleaned up a bit [2]

The JDKContext is now just a holder of ClaimedFDs, I'll address this in a follow-up that depends on this Context follow-up.

[1] https://github.com/openjdk/crac/pull/60#issuecomment-1545588281
[2] https://github.com/openjdk/crac/pull/60#discussion_r1185510445

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

Commit messages:
 - Cleanup
 - Cleanup
 - Update
 - All done

Changes: https://git.openjdk.org/crac/pull/74/files
 Webrev: https://webrevs.openjdk.org/?repo=crac&pr=74&range=00
  Stats: 993 lines in 29 files changed: 372 ins; 549 del; 72 mod
  Patch: https://git.openjdk.org/crac/pull/74.diff
  Fetch: git fetch https://git.openjdk.org/crac.git pull/74/head:pull/74

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


More information about the crac-dev mailing list