Some missing references found are not surprising (e.g. *_INITIALIZER),
but real mistakes are also found (ck_ht_init->ck_entry_set_direct).
ck/doc$ make refcheck
ck_brlock: ref to missing ck_bytelock(3)
ck_ht_get_spmc: ref to missing ck_ht_entry_set_key(3)
ck_ht_init: ref to missing ck_entry_set_direct(3)
ck_ht_remove_spmc: ref to missing ck_ht_entry_set_key(3)
ck_bitmap_test: ref to missing ck_bitmap_set_mpmc(3)
ck_bitmap_test: ref to missing ck_bitmap_reset_mpmc(3)
ck_bitmap_size: ref to missing ck_bitmap_set_mpmc(3)
ck_bitmap_size: ref to missing ck_bitmap_reset_mpmc(3)
ck_rwcohort: ref to missing CK_RWCOHORT_STRATEGY_PROTOTYPE(3)
ck_rwcohort: ref to missing CK_COHORT_INITIALIZER(3)
ck_rwcohort: ref to missing CK_COHORT_LOCKED(3)
CK_RWCOHORT_INIT: ref to missing CK_RWCOHORT_TRYLOCK_PROTOTYPE(3)
CK_RWCOHORT_INIT: ref to missing CK_RWCOHORT_INITIALIZER(3)
CK_RWCOHORT_INIT: ref to missing CK_RWCOHORT_LOCK(3)
CK_RWCOHORT_INIT: ref to missing CK_RWCOHORT_UNLOCK(3)
CK_RWCOHORT_INIT: ref to missing CK_RWCOHORT_LOCKED(3)
CK_RWCOHORT_INIT: ref to missing CK_RWCOHORT_TRYLOCK(3)
CK_RWCOHORT_INSTANCE: ref to missing CK_RWCOHORT_TRYLOCK_PROTOTYPE(3)
CK_RWCOHORT_INSTANCE: ref to missing CK_RWCOHORT_INITIALIZER(3)
CK_RWCOHORT_INSTANCE: ref to missing CK_RWCOHORT_LOCK(3)
CK_RWCOHORT_INSTANCE: ref to missing CK_RWCOHORT_UNLOCK(3)
CK_RWCOHORT_INSTANCE: ref to missing CK_RWCOHORT_LOCKED(3)
CK_RWCOHORT_INSTANCE: ref to missing CK_RWCOHORT_TRYLOCK(3)
CK_RWCOHORT_PROTOTYPE: ref to missing CK_RWCOHORT_INITIALIZER(3)
CK_RWCOHORT_READ_LOCK: ref to missing CK_RWCOHORT_INITIALIZER(3)
CK_RWCOHORT_READ_UNLOCK: ref to missing CK_RWCOHORT_INITIALIZER(3)
CK_RWCOHORT_WRITE_LOCK: ref to missing CK_RWCOHORT_INITIALIZER(3)
CK_RWCOHORT_WRITE_UNLOCK: ref to missing CK_RWCOHORT_INITIALIZER(3)
ck_cohort: ref to missing CK_COHORT_LOCKED(3)
ck_cohort: ref to missing CK_COHORT_INITIALIZER(3)
ck_cohort: ref to missing CK_COHORT_LOCKED(3)
CK_COHORT_PROTOTYPE: ref to missing CK_COHORT_INITIALIZER(3)
CK_COHORT_PROTOTYPE: ref to missing CK_COHORT_LOCKED(3)
CK_COHORT_TRYLOCK_PROTOTYPE: ref to missing CK_COHORT_INITIALIZER(3)
CK_COHORT_TRYLOCK_PROTOTYPE: ref to missing CK_COHORT_LOCKED(3)
CK_COHORT_INSTANCE: ref to missing CK_COHORT_INITIALIZER(3)
CK_COHORT_INSTANCE: ref to missing CK_COHORT_LOCKED(3)
CK_COHORT_INIT: ref to missing CK_COHORT_INITIALIZER(3)
CK_COHORT_INIT: ref to missing CK_COHORT_LOCKED(3)
CK_COHORT_LOCK: ref to missing CK_COHORT_INITIALIZER(3)
CK_COHORT_LOCK: ref to missing CK_COHORT_LOCKED(3)
CK_COHORT_UNLOCK: ref to missing CK_COHORT_INITIALIZER(3)
CK_COHORT_UNLOCK: ref to missing CK_COHORT_LOCKED(3)
CK_COHORT_TRYLOCK: ref to missing CK_COHORT_INITIALIZER(3)
CK_COHORT_TRYLOCK: ref to missing CK_COHORT_LOCKED(3)
ck_sequence: ref to missing ck_bytelock(3)
Signed-off-by: Emilio G. Cota <cota@braap.org>
ck/doc$ make objcheck 1>/dev/null
ck_hs_put_unique is missing from OBJECTS
ck_rhs_put_unique is missing from OBJECTS
Signed-off-by: Emilio G. Cota <cota@braap.org>
Could not find suitable use-case and generally doesn't
appear interesting to academics in the existing
form. Maybe it will make a come-back in the future with
fewer memory and latency compromises.
This function allows for explicit execution of all
deferred callbacks in an epoch_record. The primary
motivation is currently for performance profiling
but there are other use-cases where best-effort
semantics could be applied.