• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-R7000-V1.0.7.12_1.2.5/components/opensource/linux/linux-2.6.36/ipc/

Lines Matching refs:un

349 			     int nsops, struct sem_undo *un, int pid)
369 int undo = un->semadj[sop->sem_num] - sem_op;
383 un->semadj[sop->sem_num] -= sop->sem_op;
694 struct sem_undo *un = container_of(head, struct sem_undo, rcu);
695 kfree(un);
704 struct sem_undo *un, *tu;
711 list_for_each_entry_safe(un, tu, &sma->list_id, list_id) {
712 list_del(&un->list_id);
713 spin_lock(&un->ulp->lock);
714 un->semid = -1;
715 list_del_rcu(&un->list_proc);
716 spin_unlock(&un->ulp->lock);
717 call_rcu(&un->rcu, free_un);
907 struct sem_undo *un;
943 list_for_each_entry(un, &sma->list_id, list_id) {
945 un->semadj[i] = 0;
977 struct sem_undo *un;
984 list_for_each_entry(un, &sma->list_id, list_id)
985 un->semadj[semnum] = 0;
1155 struct sem_undo *un;
1157 list_for_each_entry_rcu(un, &ulp->list_proc, list_proc) {
1158 if (un->semid == semid)
1159 return un;
1166 struct sem_undo *un;
1170 un = __lookup_undo(ulp, semid);
1171 if (un) {
1172 list_del_rcu(&un->list_proc);
1173 list_add_rcu(&un->list_proc, &ulp->list_proc);
1175 return un;
1193 struct sem_undo *un, *new;
1203 un = lookup_undo(ulp, semid);
1205 if (likely(un!=NULL))
1230 un = ERR_PTR(-EIDRM);
1238 un = lookup_undo(ulp, semid);
1239 if (un) {
1251 un = new;
1258 return un;
1295 struct sem_undo *un;
1341 un = find_alloc_undo(ns, semid);
1342 if (IS_ERR(un)) {
1343 error = PTR_ERR(un);
1347 un = NULL;
1353 if (un)
1363 * This case can be detected checking un->semid. The existance of
1364 * "un" itself is guaranteed by rcu.
1367 if (un) {
1368 if (un->semid == -1) {
1373 * rcu lock can be released, "un" cannot disappear:
1396 error = try_atomic_semop (sma, sops, nsops, un, task_tgid_vnr(current));
1410 queue.undo = un;
1542 struct sem_undo *un;
1548 un = list_entry_rcu(ulp->list_proc.next,
1550 if (&un->list_proc == &ulp->list_proc)
1553 semid = un->semid;
1559 sma = sem_lock_check(tsk->nsproxy->ipc_ns, un->semid);
1565 un = __lookup_undo(ulp, semid);
1566 if (un == NULL) {
1574 /* remove un from the linked lists */
1576 list_del(&un->list_id);
1579 list_del_rcu(&un->list_proc);
1582 /* perform adjustments registered in un */
1585 if (un->semadj[i]) {
1586 semaphore->semval += un->semadj[i];
1613 call_rcu(&un->rcu, free_un);