Lines Matching refs:un

636 	struct sem_undo *un;  in perform_atomic_semop_slow()  local
640 un = q->undo; in perform_atomic_semop_slow()
658 int undo = un->semadj[sop->sem_num] - sem_op; in perform_atomic_semop_slow()
662 un->semadj[sop->sem_num] = undo; in perform_atomic_semop_slow()
695 un->semadj[sop->sem_num] += sem_op; in perform_atomic_semop_slow()
708 struct sem_undo *un; in perform_atomic_semop() local
712 un = q->undo; in perform_atomic_semop()
741 int undo = un->semadj[sop->sem_num] - sem_op; in perform_atomic_semop()
755 int undo = un->semadj[sop->sem_num] - sem_op; in perform_atomic_semop()
757 un->semadj[sop->sem_num] = undo; in perform_atomic_semop()
1130 struct sem_undo *un, *tu; in freeary() local
1138 list_for_each_entry_safe(un, tu, &sma->list_id, list_id) { in freeary()
1139 list_del(&un->list_id); in freeary()
1140 spin_lock(&un->ulp->lock); in freeary()
1141 un->semid = -1; in freeary()
1142 list_del_rcu(&un->list_proc); in freeary()
1143 spin_unlock(&un->ulp->lock); in freeary()
1144 kfree_rcu(un, rcu); in freeary()
1331 struct sem_undo *un; in semctl_setval() local
1376 list_for_each_entry(un, &sma->list_id, list_id) in semctl_setval()
1377 un->semadj[semnum] = 0; in semctl_setval()
1462 struct sem_undo *un; in semctl_main() local
1505 list_for_each_entry(un, &sma->list_id, list_id) { in semctl_main()
1507 un->semadj[i] = 0; in semctl_main()
1831 struct sem_undo *un; in __lookup_undo() local
1833 list_for_each_entry_rcu(un, &ulp->list_proc, list_proc) { in __lookup_undo()
1834 if (un->semid == semid) in __lookup_undo()
1835 return un; in __lookup_undo()
1842 struct sem_undo *un; in lookup_undo() local
1846 un = __lookup_undo(ulp, semid); in lookup_undo()
1847 if (un) { in lookup_undo()
1848 list_del_rcu(&un->list_proc); in lookup_undo()
1849 list_add_rcu(&un->list_proc, &ulp->list_proc); in lookup_undo()
1851 return un; in lookup_undo()
1869 struct sem_undo *un, *new; in find_alloc_undo() local
1878 un = lookup_undo(ulp, semid); in find_alloc_undo()
1880 if (likely(un != NULL)) in find_alloc_undo()
1894 un = ERR_PTR(-EIDRM); in find_alloc_undo()
1913 un = ERR_PTR(-EIDRM); in find_alloc_undo()
1921 un = lookup_undo(ulp, semid); in find_alloc_undo()
1922 if (un) { in find_alloc_undo()
1934 un = new; in find_alloc_undo()
1940 return un; in find_alloc_undo()
1950 struct sem_undo *un; in do_semtimedop() local
2008 un = find_alloc_undo(ns, semid); in do_semtimedop()
2009 if (IS_ERR(un)) { in do_semtimedop()
2010 error = PTR_ERR(un); in do_semtimedop()
2014 un = NULL; in do_semtimedop()
2062 if (un && un->semid == -1) in do_semtimedop()
2067 queue.undo = un; in do_semtimedop()
2289 struct sem_undo *un; in exit_sem() local
2296 un = list_entry_rcu(ulp->list_proc.next, in exit_sem()
2298 if (&un->list_proc == &ulp->list_proc) { in exit_sem()
2311 semid = un->semid; in exit_sem()
2334 un = __lookup_undo(ulp, semid); in exit_sem()
2335 if (un == NULL) { in exit_sem()
2346 list_del(&un->list_id); in exit_sem()
2352 list_del_rcu(&un->list_proc); in exit_sem()
2357 if (un->semadj[i]) { in exit_sem()
2358 semaphore->semval += un->semadj[i]; in exit_sem()
2385 kfree_rcu(un, rcu); in exit_sem()