Home
last modified time | relevance | path

Searched refs:interlock (Results 1 – 25 of 60) sorted by relevance

123

/netbsd-src/sys/kern/
H A Dsubr_localcount.c81 * 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 Dkern_timeout.c551 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 Dvfs_lockf.c506 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 Dpthread_rwlock.c161 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 Dpthread_barrier.c78 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 Duvm_pdpolicy_clock.c268 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 Duvm_page.c1265 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 Duvm_anon.c140 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 Duvm_pdaemon.c389 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 Ddrm_wait_netbsd.h63 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 Dkref.h103 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 Dbusypage.c55 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 Dnouveau_dispnv50_wimmc37b.c34 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 Dwndw.h21 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 Dnouveau_dispnv50_wndw.c119 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 Dnouveau_dispnv50_disp.c1902 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 Dnouveau_dispnv50_wndwc37e.c208 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 Dnouveau_dispnv50_core507d.c35 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 Dnouveau_dispnv50_corec37d.c47 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 Drumpuser_int.h37 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 Dscheduler.c301 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 Dklock.c151 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 Dvm.c186 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 Dlinux_kthread.c132 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 Dsdmmc.c288 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()

123