| /xnu-11215.1.10/osfmk/kern/ |
| H A D | lock_ticket.c | 123 __hw_lck_ticket_invalid_panic(hw_lck_ticket_t *lck) in __hw_lck_ticket_invalid_panic() argument 125 panic("Invalid HW ticket lock %p <0x%08x>", lck, lck->lck_value); in __hw_lck_ticket_invalid_panic() 130 __lck_ticket_invalid_panic(lck_ticket_t *lck) in __lck_ticket_invalid_panic() argument 133 lck, *(uint32_t *)lck, lck->lck_ticket_owner, in __lck_ticket_invalid_panic() 134 lck->tu.lck_value, lck->lck_ticket_padding); in __lck_ticket_invalid_panic() 139 __lck_ticket_owned_panic(const lck_ticket_t *lck) in __lck_ticket_owned_panic() argument 143 panic("Ticket lock %p is unexpectedly owned by thread %p", lck, self); in __lck_ticket_owned_panic() 148 __lck_ticket_not_owned_panic(const lck_ticket_t *lck) in __lck_ticket_not_owned_panic() argument 152 panic("Ticket lock %p is unexpectedly not owned by thread %p", lck, self); in __lck_ticket_not_owned_panic() 156 hw_lck_ticket_verify(hw_lck_ticket_t *lck) in hw_lck_ticket_verify() argument [all …]
|
| H A D | lock_ptr.c | 50 __hw_lck_ptr_encode(hw_lck_ptr_t *lck, const void *ptr) in __hw_lck_ptr_encode() argument 52 lck->lck_ptr_bits = (intptr_t)ptr; in __hw_lck_ptr_encode() 54 lck->lck_ptr_tag = vm_memtag_extract_tag((vm_offset_t)ptr); in __hw_lck_ptr_encode() 60 __hw_lck_ptr_invalid_panic(hw_lck_ptr_t *lck) in __hw_lck_ptr_invalid_panic() argument 62 hw_lck_ptr_t tmp = os_atomic_load(lck, relaxed); in __hw_lck_ptr_invalid_panic() 65 lck, __hw_lck_ptr_value(tmp), tmp.lck_ptr_locked, in __hw_lck_ptr_invalid_panic() 91 hw_lck_ptr_init(hw_lck_ptr_t *lck, void *val, lck_grp_t *grp) in hw_lck_ptr_init() argument 107 os_atomic_init(lck, init); in hw_lck_ptr_init() 111 hw_lck_ptr_destroy(hw_lck_ptr_t *lck, lck_grp_t *grp) in hw_lck_ptr_destroy() argument 113 hw_lck_ptr_t tmp = os_atomic_load(lck, relaxed); in hw_lck_ptr_destroy() [all …]
|
| H A D | lock_ptr.h | 93 #define hw_lck_ptr_init(lck, val, grp) hw_lck_ptr_init(lck, val) argument 94 #define hw_lck_ptr_destroy(lck, grp) hw_lck_ptr_destroy(lck) argument 111 hw_lck_ptr_t *lck, 125 hw_lck_ptr_t *lck, 137 hw_lck_ptr_t *lck) __result_use_check; 143 #define hw_lck_ptr_lock(lck, grp) hw_lck_ptr_lock(lck) argument 144 #define hw_lck_ptr_lock_nopreempt(lck, grp) hw_lck_ptr_lock_nopreempt(lck) argument 161 hw_lck_ptr_t *lck, 179 hw_lck_ptr_t *lck, 186 #define hw_lck_ptr_unlock(lck, val, grp) \ argument [all …]
|
| H A D | lock_mtx.h | 93 lck_mtx_t *lck, 97 lck_mtx_t *lck); 100 lck_mtx_t *lck); 103 lck_mtx_t *lck, 107 lck_mtx_t *lck, 111 lck_mtx_t *lck, 117 lck_mtx_t *lck, 127 lck_mtx_t *lck, 131 #define LCK_MTX_ASSERT(lck, type) lck_mtx_assert((lck),(type)) argument 133 #define LCK_MTX_ASSERT(lck, type) argument [all …]
|
| H A D | lock_rw.c | 71 #define LCK_RW_WRITER_EVENT(lck) (event_t)((uintptr_t)(lck)+1) argument 72 #define LCK_RW_READER_EVENT(lck) (event_t)((uintptr_t)(lck)+2) argument 137 lck_rw_t *lck; in lck_rw_alloc_init() local 139 lck = zalloc_flags(KT_LCK_RW, Z_WAITOK | Z_ZERO); in lck_rw_alloc_init() 140 lck_rw_init(lck, grp, attr); in lck_rw_alloc_init() 141 return lck; in lck_rw_alloc_init() 173 lck_rw_t *lck, in lck_rw_init() argument 183 *lck = (lck_rw_t){ in lck_rw_init() 204 lck_rw_t *lck, in lck_rw_free() argument 207 lck_rw_destroy(lck, grp); in lck_rw_free() [all …]
|
| H A D | simple_lock.h | 124 #define hw_lock_lock(lck, grp) \ argument 125 hw_lock_lock(lck) 127 #define hw_lock_lock_nopreempt(lck, grp) \ argument 128 hw_lock_lock_nopreempt(lck) 130 #define hw_lock_to(lck, spec, grp) \ argument 131 hw_lock_to(lck, spec) 133 #define hw_lock_to_nopreempt(lck, spec, grp) \ argument 134 hw_lock_to_nopreempt(lck, spec) 136 #define hw_lock_try(lck, grp) \ argument 137 hw_lock_try(lck) [all …]
|
| H A D | lock_rw.h | 179 lck_rw_t *lck; member 198 #define LCK_RW_ASSERT(lck, type) do { \ argument 200 lck_rw_assert((lck),(type)); \ 204 #define LCK_RW_ASSERT(lck, type) argument 245 lck_rw_t *lck, 261 lck_rw_t *lck, 276 lck_rw_t *lck, 292 lck_rw_t *lck, 311 lck_rw_t *lck, 329 lck_rw_t *lck, [all …]
|
| H A D | ticket_lock.h | 163 #define hw_lck_ticket_init(lck, grp) hw_lck_ticket_init(lck) argument 164 #define hw_lck_ticket_init_locked(lck, grp) hw_lck_ticket_init_locked(lck) argument 165 #define hw_lck_ticket_destroy(lck, grp) hw_lck_ticket_destroy(lck) argument 166 #define hw_lck_ticket_lock(lck, grp) hw_lck_ticket_lock(lck) argument 167 #define hw_lck_ticket_lock_nopreempt(lck, grp) hw_lck_ticket_lock_nopreempt(lck) argument 168 #define hw_lck_ticket_lock_to(lck, pol, grp) hw_lck_ticket_lock_to(lck, pol) argument 169 #define hw_lck_ticket_lock_nopreempt_to(lck, pol, grp) \ argument 170 hw_lck_ticket_lock_nopreempt_to(lck, pol) 171 #define hw_lck_ticket_lock_try(lck, grp) hw_lck_ticket_lock_try(lck) argument 172 #define hw_lck_ticket_lock_try_nopreempt(lck, grp) \ argument [all …]
|
| H A D | lock_mtx.c | 105 #define LCK_MTX_EVENT(lck) CAST_EVENT64_T(&(lck)->lck_mtx.data) argument 155 __lck_mtx_invalid_panic(lck_mtx_t *lck) in __lck_mtx_invalid_panic() argument 159 lck, lck->lck_mtx_tsid, lck->lck_mtx_type, lck->lck_mtx_grp, in __lck_mtx_invalid_panic() 160 lck->lck_mtx.data, ctid_get_thread_unsafe(lck->lck_mtx.owner), in __lck_mtx_invalid_panic() 161 lck->lck_mtx.as_tail, lck->lck_mtx.ilk_tail); in __lck_mtx_invalid_panic() 180 __lck_mtx_lock_is_sleepable_panic(lck_mtx_t *lck) in __lck_mtx_lock_is_sleepable_panic() argument 185 panic("Mutex %p is held as a full-mutex (spin-always lock attempted)", lck); in __lck_mtx_lock_is_sleepable_panic() 191 __lck_mtx_preemption_disabled_panic(lck_mtx_t *lck, int expected) in __lck_mtx_preemption_disabled_panic() argument 194 lck, get_preemption_level() - expected); in __lck_mtx_preemption_disabled_panic() 199 __lck_mtx_at_irq_panic(lck_mtx_t *lck) in __lck_mtx_at_irq_panic() argument [all …]
|
| H A D | locks.h | 61 lck_spin_t *lck, 66 lck_spin_t *lck); 69 lck_spin_t *lck, 73 lck_spin_t *lck); 76 lck_spin_t *lck, 80 lck_spin_t *lck, 84 lck_spin_t *lck, 90 lck_spin_t *lck, 97 lck_spin_t *lck, 106 lck_spin_t *lck); [all …]
|
| H A D | test_lock.c | 41 hw_lck_ticket_test_wait_for_delta(hw_lck_ticket_t *lck, uint8_t delta, int msec) in hw_lck_ticket_test_wait_for_delta() argument 47 tmp.lck_value = os_atomic_load(&lck->lck_value, relaxed); in hw_lck_ticket_test_wait_for_delta() 66 hw_lck_ticket_t *lck = arg; in hw_lck_ticket_allow_invalid_worker() local 70 hw_lck_ticket_test_wait_for_delta(lck, 1, 10); in hw_lck_ticket_allow_invalid_worker() 72 rc = hw_lck_ticket_lock_allow_invalid(lck, in hw_lck_ticket_allow_invalid_worker() 86 hw_lck_ticket_t *lck; in hw_lck_ticket_allow_invalid_test() local 99 lck = (hw_lck_ticket_t *)addr; in hw_lck_ticket_allow_invalid_test() 100 rc = hw_lck_ticket_lock_allow_invalid(lck, in hw_lck_ticket_allow_invalid_test() 105 hw_lck_ticket_init(lck, NULL); in hw_lck_ticket_allow_invalid_test() 107 assert(hw_lck_ticket_lock_try(lck, NULL)); in hw_lck_ticket_allow_invalid_test() [all …]
|
| H A D | locks.c | 292 lck_spinlock_timeout_hit(void *lck, uintptr_t owner) in lck_spinlock_timeout_hit() argument 303 lsti->lock = lck; in lck_spinlock_timeout_hit() 1056 lck_spin_t *lck, in lck_spin_sleep_grp() argument 1070 lck_spin_unlock(lck); in lck_spin_sleep_grp() 1073 lck_spin_lock_grp(lck, grp); in lck_spin_sleep_grp() 1076 lck_spin_unlock(lck); in lck_spin_sleep_grp() 1084 lck_spin_t *lck, in lck_spin_sleep() argument 1089 return lck_spin_sleep_grp(lck, lck_sleep_action, event, interruptible, LCK_GRP_NULL); in lck_spin_sleep() 1097 lck_spin_t *lck, in lck_spin_sleep_deadline() argument 1111 lck_spin_unlock(lck); in lck_spin_sleep_deadline() [all …]
|
| H A D | recount.c | 204 _seqlock_shared_lock_slowpath(const uint32_t *lck, uint32_t gen) in _seqlock_shared_lock_slowpath() argument 208 gen = hw_wait_while_equals32((uint32_t *)(uintptr_t)lck, gen); in _seqlock_shared_lock_slowpath() 216 _seqlock_shared_lock(const uint32_t *lck) in _seqlock_shared_lock() argument 218 uint32_t gen = os_atomic_load(lck, acquire); in _seqlock_shared_lock() 220 _seqlock_shared_lock_slowpath(lck, gen); in _seqlock_shared_lock() 227 _seqlock_shared_try_unlock(const uint32_t *lck, uintptr_t on_enter) in _seqlock_shared_try_unlock() argument 229 return os_atomic_load(lck, acquire) == on_enter; in _seqlock_shared_try_unlock() 234 _seqlock_excl_lock_relaxed(uint32_t *lck) in _seqlock_excl_lock_relaxed() argument 236 __assert_only uintptr_t new = os_atomic_inc(lck, relaxed); in _seqlock_excl_lock_relaxed() 249 _seqlock_excl_unlock_relaxed(uint32_t *lck) in _seqlock_excl_unlock_relaxed() argument [all …]
|
| H A D | locks_internal.h | 284 lck_spin_txn_begin(void *lck) in lck_spin_txn_begin() argument 297 txn.txn_slot->lsm_lock = lck; in lck_spin_txn_begin()
|
| /xnu-11215.1.10/osfmk/arm/ |
| H A D | locks_arm.c | 231 lck_spin_t *lck; in lck_spin_alloc_init() local 233 lck = zalloc(KT_LCK_SPIN); in lck_spin_alloc_init() 234 lck_spin_init(lck, grp, attr); in lck_spin_alloc_init() 235 return lck; in lck_spin_alloc_init() 239 lck_spin_free(lck_spin_t *lck, lck_grp_t *grp) in lck_spin_free() argument 241 lck_spin_destroy(lck, grp); in lck_spin_free() 242 zfree(KT_LCK_SPIN, lck); in lck_spin_free() 246 lck_spin_init(lck_spin_t *lck, lck_grp_t *grp, __unused lck_attr_t *attr) in lck_spin_init() argument 248 lck_ticket_init(lck, grp); in lck_spin_init() 255 arm_usimple_lock_init(simple_lock_t lck, __unused unsigned short initial_value) in arm_usimple_lock_init() argument [all …]
|
| /xnu-11215.1.10/osfmk/i386/ |
| H A D | locks_i386.c | 113 #define usimple_lock_nopreempt(lck, grp) \ argument 114 usimple_lock_nopreempt(lck) 115 #define usimple_lock_try_nopreempt(lck, grp) \ argument 116 usimple_lock_try_nopreempt(lck) 243 lck_spin_t *lck; in lck_spin_alloc_init() local 245 lck = zalloc(KT_LCK_SPIN); in lck_spin_alloc_init() 246 lck_spin_init(lck, grp, attr); in lck_spin_alloc_init() 247 return lck; in lck_spin_alloc_init() 255 lck_spin_t *lck, in lck_spin_free() argument 258 lck_spin_destroy(lck, grp); in lck_spin_free() [all …]
|
| H A D | lock_ticket_pv.c | 70 hw_lck_ticket_unlock_kick_pv(hw_lck_ticket_t *lck, uint8_t ticket) in hw_lck_ticket_unlock_kick_pv() argument 86 if (wlck != lck) { in hw_lck_ticket_unlock_kick_pv() 116 hw_lck_ticket_lock_wait_pv(hw_lck_ticket_t *lck, uint8_t mt) in hw_lck_ticket_lock_wait_pv() argument 133 os_atomic_store(<pi->ltpi_lck, lck, release); in hw_lck_ticket_lock_wait_pv() 144 const uint8_t cticket = os_atomic_load(&lck->cticket, acquire); in hw_lck_ticket_lock_wait_pv()
|
| H A D | locks.h | 150 #define LCK_MTX_EVENT(lck) CAST_EVENT64_T(&(lck)->lck_mtx_owner) argument
|
| /xnu-11215.1.10/osfmk/arm64/ |
| H A D | lock_ticket_pv.c | 49 hw_lck_ticket_unlock_kick_pv(hw_lck_ticket_t *lck, uint8_t ticket) in hw_lck_ticket_unlock_kick_pv() argument 65 if (wlck != lck) { in hw_lck_ticket_unlock_kick_pv() 95 hw_lck_ticket_lock_wait_pv(hw_lck_ticket_t *lck, uint8_t mt) in hw_lck_ticket_lock_wait_pv() argument 112 os_atomic_store(<pi->ltpi_lck, lck, release); in hw_lck_ticket_lock_wait_pv() 123 const uint8_t cticket = os_atomic_load(&lck->cticket, acquire); in hw_lck_ticket_lock_wait_pv()
|
| /xnu-11215.1.10/bsd/miscfs/nullfs/ |
| H A D | null_subr.c | 99 nullfs_init_lck(lck_mtx_t * lck) in nullfs_init_lck() argument 101 lck_mtx_init(lck, &null_hashlck_grp, LCK_ATTR_NULL); in nullfs_init_lck() 105 nullfs_destroy_lck(lck_mtx_t * lck) in nullfs_destroy_lck() argument 107 lck_mtx_destroy(lck, &null_hashlck_grp); in nullfs_destroy_lck()
|
| H A D | nullfs.h | 140 void nullfs_init_lck(lck_mtx_t * lck); 141 void nullfs_destroy_lck(lck_mtx_t * lck);
|
| /xnu-11215.1.10/bsd/netinet/ |
| H A D | flow_divert.c | 229 lck_rw_lock_shared(&group->lck); in flow_divert_pcb_lookup() 232 lck_rw_done(&group->lck); in flow_divert_pcb_lookup() 299 lck_rw_lock_exclusive(&group->lck); in flow_divert_pcb_insert() 313 lck_rw_done(&group->lck); in flow_divert_pcb_insert() 351 lck_rw_lock_shared(&curr_group->lck); in flow_divert_add_to_group() 355 lck_rw_done(&curr_group->lck); in flow_divert_add_to_group() 415 lck_rw_lock_exclusive(&group->lck); in flow_divert_pcb_remove() 420 lck_rw_done(&group->lck); in flow_divert_pcb_remove() 595 lck_rw_lock_shared(&group->lck); in flow_divert_packet_verify_hmac() 633 lck_rw_done(&group->lck); in flow_divert_packet_verify_hmac() [all …]
|
| H A D | flow_divert.h | 92 decl_lck_rw_data(, lck);
|
| /xnu-11215.1.10/bsd/net/ |
| H A D | packet_mangler.c | 147 pkt_mnglr_rw_lock_exclusive(lck_rw_t *lck) in pkt_mnglr_rw_lock_exclusive() argument 153 lck_rw_lock_exclusive(lck); in pkt_mnglr_rw_lock_exclusive() 161 pkt_mnglr_rw_unlock_exclusive(lck_rw_t *lck) in pkt_mnglr_rw_unlock_exclusive() argument 167 lck_rw_unlock_exclusive(lck); in pkt_mnglr_rw_unlock_exclusive() 175 pkt_mnglr_rw_lock_shared(lck_rw_t *lck) in pkt_mnglr_rw_lock_shared() argument 181 lck_rw_lock_shared(lck); in pkt_mnglr_rw_lock_shared() 188 pkt_mnglr_rw_unlock_shared(lck_rw_t *lck) in pkt_mnglr_rw_unlock_shared() argument 194 lck_rw_unlock_shared(lck); in pkt_mnglr_rw_unlock_shared()
|
| /xnu-11215.1.10/bsd/sys/ |
| H A D | ubc.h | 137 void cluster_unlock_direct_read(cl_direct_read_lock_t *lck);
|