| /netbsd-src/sys/kern/ |
| H A D | subr_localcount.c | 81 * localcount_drain(lc, cv, interlock) 84 * hold interlock; localcount_drain releases it during cross-calls 85 * and waits on cv. The cv and interlock passed here must be the 98 localcount_drain(struct localcount *lc, kcondvar_t *cv, kmutex_t *interlock) in localcount_drain() argument 102 KASSERT(mutex_owned(interlock)); in localcount_drain() 115 mutex_exit(interlock); in localcount_drain() 116 xc_wait(xc_broadcast(0, &localcount_xc, lc, interlock)); in localcount_drain() 117 mutex_enter(interlock); in localcount_drain() 129 cv_wait(cv, interlock); in localcount_drain() 162 kmutex_t *interlock in localcount_xc() local 234 localcount_release(struct localcount * lc,kcondvar_t * cv,kmutex_t * interlock) localcount_release() argument [all...] |
| H A D | kern_timeout.c | 551 callout_halt(callout_t *cs, void *interlock) in callout_halt() argument 558 KASSERT(interlock == NULL || mutex_owned(interlock)); in callout_halt() 568 callout_wait(c, interlock, lock); in callout_halt() 584 callout_wait(callout_impl_t *c, void *interlock, kmutex_t *lock) in callout_wait() argument 608 if (interlock != NULL) { in callout_wait() 615 mutex_exit(interlock); in callout_wait() 616 relock = interlock; in callout_wait() 617 interlock = NULL; in callout_wait()
|
| H A D | vfs_lockf.c | 506 kmutex_t *interlock) in lf_setlock() 608 error = cv_wait_sig(&lock->lf_cv, interlock); in lf_setlock() 800 kmutex_t *interlock = &lockf_lock; in lf_advlock() 849 * Allocate locks before acquiring the interlock. We need two in lf_advlock() 901 mutex_enter(interlock); in lf_advlock() 935 error = lf_setlock(lock, &sparelock, interlock); in lf_advlock() 953 mutex_exit(interlock); in lf_advlock() 966 * XXX We use a global lock. This could be the vnode interlock, but in lf_init() 502 lf_setlock(struct lockf * lock,struct lockf ** sparelock,kmutex_t * interlock) lf_setlock() argument 793 kmutex_t *interlock = &lockf_lock; lf_advlock() local
|
| /netbsd-src/lib/libpthread/ |
| H A D | pthread_rwlock.c | 161 pthread_mutex_t *interlock; in pthread__rwlock_rdlock() local 207 interlock = pthread__hashlock(ptr); in pthread__rwlock_rdlock() 208 pthread_mutex_lock(interlock); in pthread__rwlock_rdlock() 216 pthread_mutex_unlock(interlock); in pthread__rwlock_rdlock() 225 error = pthread__park(self, interlock, &ptr->ptr_rblocked, in pthread__rwlock_rdlock() 229 pthread__rwlock_early(self, ptr, interlock); in pthread__rwlock_rdlock() 280 pthread_mutex_t *interlock; in pthread__rwlock_wrlock() local 329 interlock = pthread__hashlock(ptr); in pthread__rwlock_wrlock() 330 pthread_mutex_lock(interlock); in pthread__rwlock_wrlock() 339 pthread_mutex_unlock(interlock); in pthread__rwlock_wrlock() [all …]
|
| H A D | pthread_barrier.c | 78 pthread_mutex_t *interlock; in pthread_barrier_wait() local 96 interlock = pthread__hashlock(barrier); in pthread_barrier_wait() 97 pthread_mutex_lock(interlock); in pthread_barrier_wait() 102 interlock); in pthread_barrier_wait() 103 pthread_mutex_unlock(interlock); in pthread_barrier_wait() 111 (void)pthread__park(self, interlock, &barrier->ptb_waiters, in pthread_barrier_wait() 116 pthread_mutex_lock(interlock); in pthread_barrier_wait() 118 pthread_mutex_unlock(interlock); in pthread_barrier_wait()
|
| /netbsd-src/sys/uvm/ |
| H A D | uvm_pdpolicy_clock.c | 268 mutex_enter(&pg->interlock); in uvmpdpol_selectvictim() 270 mutex_exit(&pg->interlock); in uvmpdpol_selectvictim() 293 mutex_exit(&pg->interlock); in uvmpdpol_selectvictim() 300 mutex_exit(&pg->interlock); in uvmpdpol_selectvictim() 306 mutex_exit(&pg->interlock); in uvmpdpol_selectvictim() 339 mutex_enter(&pg->interlock); in uvmpdpol_selectvictim() 341 mutex_exit(&pg->interlock); in uvmpdpol_selectvictim() 390 mutex_enter(&p->interlock); in uvmpdpol_balancequeue() 392 mutex_exit(&p->interlock); in uvmpdpol_balancequeue() 431 mutex_enter(&p->interlock); in uvmpdpol_balancequeue() [all …]
|
| H A D | uvm_page.c | 1265 mutex_enter(&pg->interlock); in uvm_pagealloc_strat() 1274 mutex_exit(&pg->interlock); in uvm_pagealloc_strat() 1285 mutex_exit(&pg->interlock); in uvm_pagealloc_strat() 1288 mutex_enter(&pg->interlock); in uvm_pagealloc_strat() 1290 mutex_exit(&pg->interlock); in uvm_pagealloc_strat() 1331 KASSERT(mutex_owned(&oldpg->interlock)); in uvm_pagereplace() 1332 KASSERT(mutex_owned(&newpg->interlock)); in uvm_pagereplace() 1380 mutex_enter(&pg->interlock); in uvm_pagerealloc() 1389 mutex_exit(&pg->interlock); in uvm_pagerealloc() 1392 mutex_enter(&pg->interlock); in uvm_pagerealloc() [all …]
|
| H A D | uvm_anon.c | 140 mutex_enter(&pg->interlock); in uvm_anfree() 144 mutex_exit(&pg->interlock); in uvm_anfree() 227 mutex_enter(&pg->interlock); in uvm_anon_lockloanpg() 241 mutex_exit(&pg->interlock); in uvm_anon_lockloanpg() 259 mutex_exit(&pg->interlock); in uvm_anon_lockloanpg()
|
| H A D | uvm_pdaemon.c | 389 KASSERT(mutex_owned(&pg->interlock)); in uvmpd_page_owner_lock() 421 KASSERT(mutex_owned(&pg->interlock)); in uvmpd_trylockowner() 426 mutex_exit(&pg->interlock); in uvmpd_trylockowner() 441 mutex_exit(&pg->interlock); in uvmpd_trylockowner() 451 mutex_enter(&pg->interlock); in uvmpd_trylockowner() 468 mutex_exit(&pg->interlock); in uvmpd_trylockowner()
|
| /netbsd-src/sys/external/bsd/drm2/include/drm/ |
| H A D | drm_wait_netbsd.h | 63 DRM_WAITERS_P(drm_waitqueue_t *q, struct mutex *interlock) in DRM_WAITERS_P() argument 65 KASSERT(mutex_is_locked(interlock)); in DRM_WAITERS_P() 70 DRM_WAKEUP_ONE(drm_waitqueue_t *q, struct mutex *interlock) in DRM_WAKEUP_ONE() argument 72 KASSERT(mutex_is_locked(interlock)); in DRM_WAKEUP_ONE() 77 DRM_WAKEUP_ALL(drm_waitqueue_t *q, struct mutex *interlock) in DRM_WAKEUP_ALL() argument 79 KASSERT(mutex_is_locked(interlock)); in DRM_WAKEUP_ALL() 84 DRM_SPIN_WAITERS_P(drm_waitqueue_t *q, spinlock_t *interlock) in DRM_SPIN_WAITERS_P() argument 86 KASSERT(spin_is_locked(interlock)); in DRM_SPIN_WAITERS_P() 91 DRM_SPIN_WAKEUP_ONE(drm_waitqueue_t *q, spinlock_t *interlock) in DRM_SPIN_WAKEUP_ONE() argument 93 KASSERT(spin_is_locked(interlock)); in DRM_SPIN_WAKEUP_ONE() [all …]
|
| /netbsd-src/sys/external/bsd/drm2/include/linux/ |
| H A D | kref.h | 103 spinlock_t *interlock) in kref_put_lock() argument 113 spin_lock(interlock); in kref_put_lock() 119 spin_unlock(interlock); in kref_put_lock() 137 struct mutex *interlock) in kref_put_mutex() argument 147 mutex_lock(interlock); in kref_put_mutex() 153 mutex_unlock(interlock); in kref_put_mutex()
|
| /netbsd-src/tests/rump/kernspace/ |
| H A D | busypage.c | 55 mutex_enter(&testpg->interlock); in thread() 58 mutex_exit(&testpg->interlock); in thread() 88 mutex_enter(&testpg->interlock); in rumptest_busypage() 90 cv_wait(&tcv, &testpg->interlock); in rumptest_busypage() 91 mutex_exit(&testpg->interlock); in rumptest_busypage()
|
| /netbsd-src/sys/external/bsd/drm2/dist/drm/nouveau/dispnv50/ |
| H A D | nouveau_dispnv50_wimmc37b.c | 34 wimmc37b_update(struct nv50_wndw *wndw, u32 *interlock) in wimmc37b_update() argument 39 if (interlock[NV50_DISP_INTERLOCK_WNDW] & wndw->interlock.data) in wimmc37b_update() 83 wndw->interlock.wimm = wndw->interlock.data; in wimmc37b_init_()
|
| H A D | wndw.h | 21 struct nv50_disp_interlock interlock; member 47 void nv50_wndw_flush_set(struct nv50_wndw *, u32 *interlock, 49 void nv50_wndw_flush_clr(struct nv50_wndw *, u32 *interlock, bool flush, 84 void (*update)(struct nv50_wndw *, u32 *interlock); 98 void (*update)(struct nv50_wndw *, u32 *interlock);
|
| H A D | nouveau_dispnv50_wndw.c | 119 nv50_wndw_flush_clr(struct nv50_wndw *wndw, u32 *interlock, bool flush, in nv50_wndw_flush_clr() argument 131 interlock[wndw->interlock.type] |= wndw->interlock.data; in nv50_wndw_flush_clr() 135 nv50_wndw_flush_set(struct nv50_wndw *wndw, u32 *interlock, in nv50_wndw_flush_set() argument 138 if (interlock[NV50_DISP_INTERLOCK_CORE]) { in nv50_wndw_flush_set() 161 interlock[wndw->interlock.type] |= wndw->interlock.data; in nv50_wndw_flush_set() 162 interlock[NV50_DISP_INTERLOCK_WIMM] |= wndw->interlock.wimm; in nv50_wndw_flush_set() 165 wndw->immd->update(wndw, interlock); in nv50_wndw_flush_set() 167 interlock[wndw->interlock.type] |= wndw->interlock.data; in nv50_wndw_flush_set() 657 wndw->interlock.type = interlock_type; in nv50_wndw_new_() 658 wndw->interlock.data = interlock_data; in nv50_wndw_new_()
|
| H A D | nouveau_dispnv50_disp.c | 1902 nv50_disp_atomic_commit_core(struct drm_atomic_state *state, u32 *interlock) in nv50_disp_atomic_commit_core() argument 1910 NV_ATOMIC(drm, "commit core %08x\n", interlock[NV50_DISP_INTERLOCK_BASE]); in nv50_disp_atomic_commit_core() 1921 core->func->update(core, interlock, true); in nv50_disp_atomic_commit_core() 1936 nv50_disp_atomic_commit_wndw(struct drm_atomic_state *state, u32 *interlock) in nv50_disp_atomic_commit_wndw() argument 1944 if (interlock[wndw->interlock.type] & wndw->interlock.data) { in nv50_disp_atomic_commit_wndw() 1946 wndw->func->update(wndw, interlock); in nv50_disp_atomic_commit_wndw() 1964 u32 interlock[NV50_DISP_INTERLOCK__SIZE] = {}; in nv50_disp_atomic_commit_tail() local 1990 interlock[NV50_DISP_INTERLOCK_CORE] |= 1; in nv50_disp_atomic_commit_tail() 2004 nv50_wndw_flush_clr(wndw, interlock, atom->flush_disable, asyw); in nv50_disp_atomic_commit_tail() 2020 interlock[NV50_DISP_INTERLOCK_CORE] |= 1; in nv50_disp_atomic_commit_tail() [all …]
|
| H A D | nouveau_dispnv50_wndwc37e.c | 208 wndwc37e_update(struct nv50_wndw *wndw, u32 *interlock) in wndwc37e_update() argument 213 evo_data(push, interlock[NV50_DISP_INTERLOCK_CURS] << 1 | in wndwc37e_update() 214 interlock[NV50_DISP_INTERLOCK_CORE]); in wndwc37e_update() 215 evo_data(push, interlock[NV50_DISP_INTERLOCK_WNDW]); in wndwc37e_update() 217 if (interlock[NV50_DISP_INTERLOCK_WIMM] & wndw->interlock.data) in wndwc37e_update()
|
| H A D | nouveau_dispnv50_core507d.c | 35 core507d_update(struct nv50_core *core, u32 *interlock, bool ntfy) in core507d_update() argument 44 evo_data(push, interlock[NV50_DISP_INTERLOCK_BASE] | in core507d_update() 45 interlock[NV50_DISP_INTERLOCK_OVLY]); in core507d_update()
|
| H A D | nouveau_dispnv50_corec37d.c | 47 corec37d_update(struct nv50_core *core, u32 *interlock, bool ntfy) in corec37d_update() argument 57 evo_data(push, interlock[NV50_DISP_INTERLOCK_CURS]); in corec37d_update() 58 evo_data(push, interlock[NV50_DISP_INTERLOCK_WNDW]); in corec37d_update()
|
| /netbsd-src/lib/librumpuser/ |
| H A D | rumpuser_int.h | 37 rumpkern_unsched(int *nlocks, void *interlock) in rumpkern_unsched() argument 40 rumpuser__hyp.hyp_backend_unschedule(0, nlocks, interlock); in rumpkern_unsched() 44 rumpkern_sched(int nlocks, void *interlock) in rumpkern_sched() argument 47 rumpuser__hyp.hyp_backend_schedule(nlocks, interlock); in rumpkern_sched()
|
| /netbsd-src/sys/rump/librump/rumpkern/ |
| H A D | scheduler.c | 301 rump_schedule_cpu_interlock(struct lwp *l, void *interlock) in rump_schedule_cpu_interlock() argument 324 if (interlock == rcpu->rcpu_mtx) in rump_schedule_cpu_interlock() 341 if (interlock != rcpu->rcpu_mtx) in rump_schedule_cpu_interlock() 447 rump_unschedule_cpu_interlock(struct lwp *l, void *interlock) in rump_unschedule_cpu_interlock() argument 452 rump_unschedule_cpu1(l, interlock); in rump_unschedule_cpu_interlock() 456 rump_unschedule_cpu1(struct lwp *l, void *interlock) in rump_unschedule_cpu1() argument 480 if (interlock == rcpu->rcpu_mtx) in rump_unschedule_cpu1() 501 if (interlock != rcpu->rcpu_mtx) in rump_unschedule_cpu1() 505 if (interlock != rcpu->rcpu_mtx) in rump_unschedule_cpu1()
|
| H A D | klock.c | 151 rump_user_unschedule(int nlocks, int *countp, void *interlock) in rump_user_unschedule() argument 159 rump_unschedule_cpu_interlock(curlwp, interlock); in rump_user_unschedule() 163 rump_user_schedule(int nlocks, void *interlock) in rump_user_schedule() argument 166 rump_schedule_cpu_interlock(curlwp, interlock); in rump_user_schedule()
|
| H A D | vm.c | 186 mutex_init(&pg->interlock, MUTEX_DEFAULT, IPL_NONE); in uvm_pagealloc_strat() 243 mutex_enter(&pg->interlock); in uvm_pagefree() 245 mutex_exit(&pg->interlock); in uvm_pagefree() 265 mutex_destroy(&pg->interlock); in uvm_pagefree() 458 mutex_enter(&pg->interlock); in uvm_pagelock() 466 mutex_enter(&pg1->interlock); in uvm_pagelock2() 467 mutex_enter(&pg2->interlock); in uvm_pagelock2() 469 mutex_enter(&pg2->interlock); in uvm_pagelock2() 470 mutex_enter(&pg1->interlock); in uvm_pagelock2() 478 mutex_exit(&pg->interlock); in uvm_pageunlock() [all …]
|
| /netbsd-src/sys/external/bsd/drm2/linux/ |
| H A D | linux_kthread.c | 132 kthread_alloc(int (*func)(void *), void *cookie, spinlock_t *interlock, in kthread_alloc() argument 150 T->kt_interlock = interlock; in kthread_alloc() 169 spinlock_t *interlock, drm_waitqueue_t *wq) in kthread_run() argument 174 T = kthread_alloc(func, cookie, interlock, wq); in kthread_run()
|
| /netbsd-src/sys/dev/sdmmc/ |
| H A D | sdmmc.c | 288 kmutex_t *interlock) in sdmmc_del_task() argument 292 KASSERT(interlock == NULL || mutex_owned(interlock)); in sdmmc_del_task() 303 if (interlock != NULL) in sdmmc_del_task() 304 mutex_exit(interlock); in sdmmc_del_task() 309 if (interlock == NULL || !mutex_tryenter(interlock)) { in sdmmc_del_task() 311 if (interlock != NULL) in sdmmc_del_task() 312 mutex_enter(interlock); in sdmmc_del_task() 319 KASSERT(interlock == NULL || mutex_owned(interlock)); in sdmmc_del_task()
|