Home
last modified time | relevance | path

Searched refs:txn (Results 1 – 2 of 2) sorted by relevance

/xnu-12377.1.9/osfmk/kern/
H A Dlocks_internal.h286 lck_spin_txn_t txn; in lck_spin_txn_begin() local
289 txn.txn_mcs = lck_mcs_get_current(); in lck_spin_txn_begin()
291 slot = txn.txn_mcs->mcs_spin_rsv++; in lck_spin_txn_begin()
295 txn.txn_mcs_id = lck_mcs_id_current(slot); in lck_spin_txn_begin()
296 txn.txn_slot = &txn.txn_mcs->mcs_spin[slot]; in lck_spin_txn_begin()
297 txn.txn_slot->lsm_lock = lck; in lck_spin_txn_begin()
299 return txn; in lck_spin_txn_begin()
303 lck_spin_txn_enqueue(lck_spin_txn_t *txn, lck_mcs_id_t *tail) in lck_spin_txn_enqueue() argument
308 pidx = os_atomic_xchg(tail, txn->txn_mcs_id, release); in lck_spin_txn_enqueue()
311 os_atomic_store(&pnode->lsm_next, txn->txn_slot, relaxed); in lck_spin_txn_enqueue()
[all …]
H A Dlock_ptr.c172 lck_spin_txn_t txn; in hw_lck_ptr_contended() local
188 txn = lck_spin_txn_begin(lck); in hw_lck_ptr_contended()
190 pidx = os_atomic_xchg(&lck->lck_ptr_mcs_tail, txn.txn_mcs_id, release); in hw_lck_ptr_contended()
196 os_atomic_store(&pnode->lsm_next, txn.txn_slot, relaxed); in hw_lck_ptr_contended()
198 while (!hw_spin_wait_until(&txn.txn_slot->lsm_ready, ready, ready)) { in hw_lck_ptr_contended()
215 if (nvalue.lck_ptr_mcs_tail == txn.txn_mcs_id) { in hw_lck_ptr_contended()
228 if (value.lck_ptr_mcs_tail != txn.txn_mcs_id) { in hw_lck_ptr_contended()
231 while (!hw_spin_wait_until(&txn.txn_slot->lsm_next, nnode, nnode)) { in hw_lck_ptr_contended()
238 lck_spin_txn_end(&txn); in hw_lck_ptr_contended()