Lines Matching refs:un
653 struct sem_undo *un; in perform_atomic_semop_slow() local
657 un = q->undo; in perform_atomic_semop_slow()
675 int undo = un->semadj[sop->sem_num] - sem_op; in perform_atomic_semop_slow()
679 un->semadj[sop->sem_num] = undo; in perform_atomic_semop_slow()
712 un->semadj[sop->sem_num] += sem_op; in perform_atomic_semop_slow()
725 struct sem_undo *un; in perform_atomic_semop() local
729 un = q->undo; in perform_atomic_semop()
758 int undo = un->semadj[sop->sem_num] - sem_op; in perform_atomic_semop()
772 int undo = un->semadj[sop->sem_num] - sem_op; in perform_atomic_semop()
774 un->semadj[sop->sem_num] = undo; in perform_atomic_semop()
1146 struct sem_undo *un, *tu; in freeary() local
1154 list_for_each_entry_safe(un, tu, &sma->list_id, list_id) { in freeary()
1155 list_del(&un->list_id); in freeary()
1156 spin_lock(&un->ulp->lock); in freeary()
1157 un->semid = -1; in freeary()
1158 list_del_rcu(&un->list_proc); in freeary()
1159 spin_unlock(&un->ulp->lock); in freeary()
1160 kvfree_rcu(un, rcu); in freeary()
1347 struct sem_undo *un; in semctl_setval() local
1392 list_for_each_entry(un, &sma->list_id, list_id) in semctl_setval()
1393 un->semadj[semnum] = 0; in semctl_setval()
1478 struct sem_undo *un; in semctl_main() local
1521 list_for_each_entry(un, &sma->list_id, list_id) { in semctl_main()
1523 un->semadj[i] = 0; in semctl_main()
1873 struct sem_undo *un; in __lookup_undo() local
1875 list_for_each_entry_rcu(un, &ulp->list_proc, list_proc, in __lookup_undo()
1877 if (un->semid == semid) in __lookup_undo()
1878 return un; in __lookup_undo()
1885 struct sem_undo *un; in lookup_undo() local
1889 un = __lookup_undo(ulp, semid); in lookup_undo()
1890 if (un) { in lookup_undo()
1891 list_del_rcu(&un->list_proc); in lookup_undo()
1892 list_add_rcu(&un->list_proc, &ulp->list_proc); in lookup_undo()
1894 return un; in lookup_undo()
1912 struct sem_undo *un, *new; in find_alloc_undo() local
1921 un = lookup_undo(ulp, semid); in find_alloc_undo()
1923 if (likely(un != NULL)) in find_alloc_undo()
1937 un = ERR_PTR(-EIDRM); in find_alloc_undo()
1957 un = ERR_PTR(-EIDRM); in find_alloc_undo()
1965 un = lookup_undo(ulp, semid); in find_alloc_undo()
1966 if (un) { in find_alloc_undo()
1978 un = new; in find_alloc_undo()
1984 return un; in find_alloc_undo()
1994 struct sem_undo *un; in __do_semtimedop() local
2040 un = find_alloc_undo(ns, semid); in __do_semtimedop()
2041 if (IS_ERR(un)) { in __do_semtimedop()
2042 error = PTR_ERR(un); in __do_semtimedop()
2046 un = NULL; in __do_semtimedop()
2094 if (un && un->semid == -1) in __do_semtimedop()
2099 queue.undo = un; in __do_semtimedop()
2353 struct sem_undo *un; in exit_sem() local
2360 un = list_entry_rcu(ulp->list_proc.next, in exit_sem()
2362 if (&un->list_proc == &ulp->list_proc) { in exit_sem()
2375 semid = un->semid; in exit_sem()
2398 un = __lookup_undo(ulp, semid); in exit_sem()
2399 if (un == NULL) { in exit_sem()
2410 list_del(&un->list_id); in exit_sem()
2413 list_del_rcu(&un->list_proc); in exit_sem()
2419 if (un->semadj[i]) { in exit_sem()
2420 semaphore->semval += un->semadj[i]; in exit_sem()
2447 kvfree_rcu(un, rcu); in exit_sem()