Lines Matching full:obj

51 	struct ntsync_obj *obj;  in ntsync_wait_any()  local
58 obj = state->objs[i]; in ntsync_wait_any()
59 if (obj->is_signaled(obj, state, i)) { in ntsync_wait_any()
61 obj->consume(obj, state, state->index); in ntsync_wait_any()
71 struct ntsync_obj *obj; in ntsync_wait_all_prepare() local
84 obj = state->objs[i]; in ntsync_wait_all_prepare()
85 if (!obj->prepare(obj, state, i, stop)) in ntsync_wait_all_prepare()
103 struct ntsync_obj *obj; in ntsync_wait_all_commit() local
111 obj = state->objs[i]; in ntsync_wait_all_commit()
112 obj->commit(obj, state, i); in ntsync_wait_all_commit()
119 struct ntsync_obj *obj; in ntsync_wait_link_waiters() local
126 obj = state->objs[i]; in ntsync_wait_link_waiters()
129 TAILQ_INSERT_TAIL(&obj->waiters, waiter, link); in ntsync_wait_link_waiters()
136 struct ntsync_obj *obj; in ntsync_wait_unlink_waiters() local
143 obj = state->objs[i]; in ntsync_wait_unlink_waiters()
145 TAILQ_REMOVE(&obj->waiters, waiter, link); in ntsync_wait_unlink_waiters()
152 struct ntsync_obj *obj; in ntsync_wait_post_commit() local
159 obj = state->objs[i]; in ntsync_wait_post_commit()
160 obj->post_commit(obj, state, i); in ntsync_wait_post_commit()
186 ae = &state->alert_event->obj; in ntsync_wait_check_ready()
256 ntsync_wakeup_waiters(struct ntsync_obj *obj) in ntsync_wakeup_waiters() argument
260 NTSYNC_PRIV_ASSERT(obj->owner); in ntsync_wakeup_waiters()
262 TAILQ_FOREACH(w, &obj->waiters, link) { in ntsync_wakeup_waiters()
270 ntsync_create_obj(struct ntsync_obj *obj, struct fileops *fops, in ntsync_create_obj() argument
284 obj->owner = priv; in ntsync_create_obj()
286 TAILQ_INIT(&obj->waiters); in ntsync_create_obj()
297 finit(fp, FREAD | FWRITE, DTYPE_NTSYNC, obj, fops); in ntsync_create_obj()
313 ntsync_close_obj(struct ntsync_obj *obj, struct thread *td) in ntsync_close_obj() argument
317 priv = obj->owner; in ntsync_close_obj()
320 MPASS(TAILQ_EMPTY(&obj->waiters)); in ntsync_close_obj()
327 ntsync_sem_is_signaled(struct ntsync_obj *obj, struct ntsync_wait_state *state, in ntsync_sem_is_signaled() argument
332 MPASS(obj->type == NTSYNC_OBJ_SEM); in ntsync_sem_is_signaled()
333 NTSYNC_PRIV_ASSERT(obj->owner); in ntsync_sem_is_signaled()
334 sem = OBJ_TO_SEM(obj); in ntsync_sem_is_signaled()
339 ntsync_sem_consume(struct ntsync_obj *obj, struct ntsync_wait_state *state, in ntsync_sem_consume() argument
344 MPASS(obj->type == NTSYNC_OBJ_SEM); in ntsync_sem_consume()
345 NTSYNC_PRIV_ASSERT(obj->owner); in ntsync_sem_consume()
346 sem = OBJ_TO_SEM(obj); in ntsync_sem_consume()
352 ntsync_sem_prepare(struct ntsync_obj *obj, struct ntsync_wait_state *state, in ntsync_sem_prepare() argument
357 MPASS(obj->type == NTSYNC_OBJ_SEM); in ntsync_sem_prepare()
358 NTSYNC_PRIV_ASSERT(obj->owner); in ntsync_sem_prepare()
359 sem = OBJ_TO_SEM(obj); in ntsync_sem_prepare()
368 ntsync_sem_commit(struct ntsync_obj *obj, struct ntsync_wait_state *state, in ntsync_sem_commit() argument
373 MPASS(obj->type == NTSYNC_OBJ_SEM); in ntsync_sem_commit()
374 NTSYNC_PRIV_ASSERT(obj->owner); in ntsync_sem_commit()
375 sem = OBJ_TO_SEM(obj); in ntsync_sem_commit()
380 ntsync_sem_post_commit(struct ntsync_obj *obj, struct ntsync_wait_state *state, in ntsync_sem_post_commit() argument
391 ntsync_close_obj(&sem->obj, td); in ntsync_sem_close()
399 struct ntsync_obj *obj; in ntsync_sem_release() local
405 obj = fp->f_data; in ntsync_sem_release()
406 if (obj->type != NTSYNC_OBJ_SEM) in ntsync_sem_release()
408 sem = OBJ_TO_SEM(obj); in ntsync_sem_release()
409 priv = obj->owner; in ntsync_sem_release()
420 ntsync_wakeup_waiters(obj); in ntsync_sem_release()
430 struct ntsync_obj *obj; in ntsync_sem_read() local
434 obj = fp->f_data; in ntsync_sem_read()
435 if (obj->type != NTSYNC_OBJ_SEM) in ntsync_sem_read()
437 sem = OBJ_TO_SEM(obj); in ntsync_sem_read()
438 priv = obj->owner; in ntsync_sem_read()
468 struct ntsync_obj *obj; in ntsync_sem_stat() local
472 obj = fp->f_data; in ntsync_sem_stat()
473 MPASS(obj->type == NTSYNC_OBJ_SEM); in ntsync_sem_stat()
474 sem = OBJ_TO_SEM(obj); in ntsync_sem_stat()
478 NTSYNC_PRIV_LOCK(obj->owner); in ntsync_sem_stat()
481 NTSYNC_PRIV_UNLOCK(obj->owner); in ntsync_sem_stat()
489 struct ntsync_obj *obj; in ntsync_sem_fill_kinfo() local
493 obj = fp->f_data; in ntsync_sem_fill_kinfo()
494 MPASS(obj->type == NTSYNC_OBJ_SEM); in ntsync_sem_fill_kinfo()
495 sem = OBJ_TO_SEM(obj); in ntsync_sem_fill_kinfo()
499 kif->kf_un.kf_ntsync.kf_ntsync_dev = (uintptr_t)obj->owner; in ntsync_sem_fill_kinfo()
532 sem->obj.type = NTSYNC_OBJ_SEM; in ntsync_create_sem()
533 sem->obj.is_signaled = ntsync_sem_is_signaled; in ntsync_create_sem()
534 sem->obj.consume = ntsync_sem_consume; in ntsync_create_sem()
535 sem->obj.prepare = ntsync_sem_prepare; in ntsync_create_sem()
536 sem->obj.commit = ntsync_sem_commit; in ntsync_create_sem()
537 sem->obj.post_commit = ntsync_sem_post_commit; in ntsync_create_sem()
540 error = ntsync_create_obj(&sem->obj, &ntsync_sem_fops, priv, td); in ntsync_create_sem()
556 ntsync_mutex_is_signaled(struct ntsync_obj *obj, in ntsync_mutex_is_signaled() argument
561 MPASS(obj->type == NTSYNC_OBJ_MUTEX); in ntsync_mutex_is_signaled()
562 NTSYNC_PRIV_ASSERT(obj->owner); in ntsync_mutex_is_signaled()
563 mutex = OBJ_TO_MUTEX(obj); in ntsync_mutex_is_signaled()
568 ntsync_mutex_consume(struct ntsync_obj *obj, struct ntsync_wait_state *state, in ntsync_mutex_consume() argument
573 MPASS(obj->type == NTSYNC_OBJ_MUTEX); in ntsync_mutex_consume()
574 NTSYNC_PRIV_ASSERT(obj->owner); in ntsync_mutex_consume()
575 mutex = OBJ_TO_MUTEX(obj); in ntsync_mutex_consume()
592 ntsync_mutex_prepare(struct ntsync_obj *obj, struct ntsync_wait_state *state, in ntsync_mutex_prepare() argument
597 MPASS(obj->type == NTSYNC_OBJ_MUTEX); in ntsync_mutex_prepare()
598 NTSYNC_PRIV_ASSERT(obj->owner); in ntsync_mutex_prepare()
599 mutex = OBJ_TO_MUTEX(obj); in ntsync_mutex_prepare()
617 ntsync_mutex_commit(struct ntsync_obj *obj, struct ntsync_wait_state *state, in ntsync_mutex_commit() argument
622 MPASS(obj->type == NTSYNC_OBJ_MUTEX); in ntsync_mutex_commit()
623 NTSYNC_PRIV_ASSERT(obj->owner); in ntsync_mutex_commit()
624 mutex = OBJ_TO_MUTEX(obj); in ntsync_mutex_commit()
632 ntsync_mutex_post_commit(struct ntsync_obj *obj, in ntsync_mutex_post_commit() argument
643 ntsync_close_obj(&mutex->obj, td); in ntsync_mutex_close()
652 struct ntsync_obj *obj; in ntsync_mutex_unlock() local
658 obj = fp->f_data; in ntsync_mutex_unlock()
659 if (obj->type != NTSYNC_OBJ_MUTEX) in ntsync_mutex_unlock()
661 mutex = OBJ_TO_MUTEX(obj); in ntsync_mutex_unlock()
662 priv = obj->owner; in ntsync_mutex_unlock()
677 ntsync_wakeup_waiters(obj); in ntsync_mutex_unlock()
687 struct ntsync_obj *obj; in ntsync_mutex_kill() local
692 obj = fp->f_data; in ntsync_mutex_kill()
693 if (obj->type != NTSYNC_OBJ_MUTEX) in ntsync_mutex_kill()
695 mutex = OBJ_TO_MUTEX(obj); in ntsync_mutex_kill()
696 priv = obj->owner; in ntsync_mutex_kill()
708 ntsync_wakeup_waiters(obj); in ntsync_mutex_kill()
718 struct ntsync_obj *obj; in ntsync_mutex_read() local
724 obj = fp->f_data; in ntsync_mutex_read()
725 if (obj->type != NTSYNC_OBJ_MUTEX) in ntsync_mutex_read()
727 mutex = OBJ_TO_MUTEX(obj); in ntsync_mutex_read()
728 priv = obj->owner; in ntsync_mutex_read()
774 struct ntsync_obj *obj; in ntsync_mutex_stat() local
778 obj = fp->f_data; in ntsync_mutex_stat()
779 MPASS(obj->type == NTSYNC_OBJ_MUTEX); in ntsync_mutex_stat()
780 mutex = OBJ_TO_MUTEX(obj); in ntsync_mutex_stat()
784 NTSYNC_PRIV_LOCK(obj->owner); in ntsync_mutex_stat()
787 NTSYNC_PRIV_UNLOCK(obj->owner); in ntsync_mutex_stat()
795 struct ntsync_obj *obj; in ntsync_mutex_fill_kinfo() local
799 obj = fp->f_data; in ntsync_mutex_fill_kinfo()
800 MPASS(obj->type == NTSYNC_OBJ_MUTEX); in ntsync_mutex_fill_kinfo()
801 mutex = OBJ_TO_MUTEX(obj); in ntsync_mutex_fill_kinfo()
805 kif->kf_un.kf_ntsync.kf_ntsync_dev = (uintptr_t)obj->owner; in ntsync_mutex_fill_kinfo()
841 mutex->obj.type = NTSYNC_OBJ_MUTEX; in ntsync_create_mutex()
842 mutex->obj.is_signaled = ntsync_mutex_is_signaled; in ntsync_create_mutex()
843 mutex->obj.consume = ntsync_mutex_consume; in ntsync_create_mutex()
844 mutex->obj.prepare = ntsync_mutex_prepare; in ntsync_create_mutex()
845 mutex->obj.commit = ntsync_mutex_commit; in ntsync_create_mutex()
846 mutex->obj.post_commit = ntsync_mutex_post_commit; in ntsync_create_mutex()
850 error = ntsync_create_obj(&mutex->obj, &ntsync_mutex_fops, priv, td); in ntsync_create_mutex()
858 ntsync_event_is_signaled(struct ntsync_obj *obj, in ntsync_event_is_signaled() argument
863 MPASS(obj->type == NTSYNC_OBJ_EVENT); in ntsync_event_is_signaled()
864 NTSYNC_PRIV_ASSERT(obj->owner); in ntsync_event_is_signaled()
865 event = OBJ_TO_EVENT(obj); in ntsync_event_is_signaled()
870 ntsync_event_consume(struct ntsync_obj *obj, struct ntsync_wait_state *state, in ntsync_event_consume() argument
875 MPASS(obj->type == NTSYNC_OBJ_EVENT); in ntsync_event_consume()
876 NTSYNC_PRIV_ASSERT(obj->owner); in ntsync_event_consume()
877 MPASS(ntsync_event_is_signaled(obj, state, index)); in ntsync_event_consume()
879 event = OBJ_TO_EVENT(obj); in ntsync_event_consume()
885 ntsync_event_prepare(struct ntsync_obj *obj, struct ntsync_wait_state *state, in ntsync_event_prepare() argument
890 MPASS(obj->type == NTSYNC_OBJ_EVENT); in ntsync_event_prepare()
891 NTSYNC_PRIV_ASSERT(obj->owner); in ntsync_event_prepare()
892 event = OBJ_TO_EVENT(obj); in ntsync_event_prepare()
893 if (!ntsync_event_is_signaled(obj, state, index)) in ntsync_event_prepare()
900 ntsync_event_commit(struct ntsync_obj *obj, struct ntsync_wait_state *state, in ntsync_event_commit() argument
905 MPASS(obj->type == NTSYNC_OBJ_EVENT); in ntsync_event_commit()
906 NTSYNC_PRIV_ASSERT(obj->owner); in ntsync_event_commit()
907 event = OBJ_TO_EVENT(obj); in ntsync_event_commit()
916 ntsync_event_post_commit(struct ntsync_obj *obj, in ntsync_event_post_commit() argument
921 MPASS(obj->type == NTSYNC_OBJ_EVENT); in ntsync_event_post_commit()
922 NTSYNC_PRIV_ASSERT(obj->owner); in ntsync_event_post_commit()
923 event = OBJ_TO_EVENT(obj); in ntsync_event_post_commit()
934 ntsync_close_obj(&event->obj, td); in ntsync_event_close()
942 struct ntsync_obj *obj; in ntsync_event_set() local
947 obj = fp->f_data; in ntsync_event_set()
948 if (obj->type != NTSYNC_OBJ_EVENT) in ntsync_event_set()
950 event = OBJ_TO_EVENT(obj); in ntsync_event_set()
951 priv = obj->owner; in ntsync_event_set()
956 ntsync_wakeup_waiters(obj); in ntsync_event_set()
966 struct ntsync_obj *obj; in ntsync_event_reset() local
971 obj = fp->f_data; in ntsync_event_reset()
972 if (obj->type != NTSYNC_OBJ_EVENT) in ntsync_event_reset()
974 event = OBJ_TO_EVENT(obj); in ntsync_event_reset()
975 priv = obj->owner; in ntsync_event_reset()
989 struct ntsync_obj *obj; in ntsync_event_pulse() local
994 obj = fp->f_data; in ntsync_event_pulse()
995 if (obj->type != NTSYNC_OBJ_EVENT) in ntsync_event_pulse()
997 event = OBJ_TO_EVENT(obj); in ntsync_event_pulse()
998 priv = obj->owner; in ntsync_event_pulse()
1004 ntsync_wakeup_waiters(obj); in ntsync_event_pulse()
1017 struct ntsync_obj *obj; in ntsync_event_read() local
1021 obj = fp->f_data; in ntsync_event_read()
1022 if (obj->type != NTSYNC_OBJ_EVENT) in ntsync_event_read()
1024 event = OBJ_TO_EVENT(obj); in ntsync_event_read()
1025 priv = obj->owner; in ntsync_event_read()
1063 struct ntsync_obj *obj; in ntsync_event_stat() local
1067 obj = fp->f_data; in ntsync_event_stat()
1068 MPASS(obj->type == NTSYNC_OBJ_EVENT); in ntsync_event_stat()
1069 event = OBJ_TO_EVENT(obj); in ntsync_event_stat()
1073 NTSYNC_PRIV_LOCK(obj->owner); in ntsync_event_stat()
1076 NTSYNC_PRIV_UNLOCK(obj->owner); in ntsync_event_stat()
1084 struct ntsync_obj *obj; in ntsync_event_fill_kinfo() local
1088 obj = fp->f_data; in ntsync_event_fill_kinfo()
1089 MPASS(obj->type == NTSYNC_OBJ_EVENT); in ntsync_event_fill_kinfo()
1090 event = OBJ_TO_EVENT(obj); in ntsync_event_fill_kinfo()
1094 kif->kf_un.kf_ntsync.kf_ntsync_dev = (uintptr_t)obj->owner; in ntsync_event_fill_kinfo()
1126 event->obj.type = NTSYNC_OBJ_EVENT; in ntsync_create_event()
1127 event->obj.is_signaled = ntsync_event_is_signaled; in ntsync_create_event()
1128 event->obj.consume = ntsync_event_consume; in ntsync_create_event()
1129 event->obj.prepare = ntsync_event_prepare; in ntsync_create_event()
1130 event->obj.commit = ntsync_event_commit; in ntsync_create_event()
1131 event->obj.post_commit = ntsync_event_post_commit; in ntsync_create_event()
1134 error = ntsync_create_obj(&event->obj, &ntsync_event_fops, priv, td); in ntsync_create_event()
1198 struct ntsync_obj *obj; in ntsync_wait_state_get() local
1228 obj = state->fp_alert->f_data; in ntsync_wait_state_get()
1229 if (obj->type != NTSYNC_OBJ_EVENT || obj->owner != owner) { in ntsync_wait_state_get()
1233 state->alert_event = OBJ_TO_EVENT(obj); in ntsync_wait_state_get()
1244 (obj = state->fps[i]->f_data)->owner != owner) { in ntsync_wait_state_get()
1255 state->objs[i] = &state->alert_event->obj; in ntsync_wait_state_get()
1262 obj = state->objs[i]; in ntsync_wait_state_get()
1264 if (obj == state->objs[j]) { in ntsync_wait_state_get()