Lines Matching refs:sop
633 struct sembuf *sop; in perform_atomic_semop_slow() local
642 for (sop = sops; sop < sops + nsops; sop++) { in perform_atomic_semop_slow()
643 int idx = array_index_nospec(sop->sem_num, sma->sem_nsems); in perform_atomic_semop_slow()
645 sem_op = sop->sem_op; in perform_atomic_semop_slow()
657 if (sop->sem_flg & SEM_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()
668 sop--; in perform_atomic_semop_slow()
670 while (sop >= sops) { in perform_atomic_semop_slow()
671 ipc_update_pid(&sma->sems[sop->sem_num].sempid, pid); in perform_atomic_semop_slow()
672 sop--; in perform_atomic_semop_slow()
682 q->blocking = sop; in perform_atomic_semop_slow()
684 if (sop->sem_flg & IPC_NOWAIT) in perform_atomic_semop_slow()
690 sop--; in perform_atomic_semop_slow()
691 while (sop >= sops) { in perform_atomic_semop_slow()
692 sem_op = sop->sem_op; in perform_atomic_semop_slow()
693 sma->sems[sop->sem_num].semval -= sem_op; in perform_atomic_semop_slow()
694 if (sop->sem_flg & SEM_UNDO) in perform_atomic_semop_slow()
695 un->semadj[sop->sem_num] += sem_op; in perform_atomic_semop_slow()
696 sop--; in perform_atomic_semop_slow()
705 struct sembuf *sop; in perform_atomic_semop() local
723 for (sop = sops; sop < sops + nsops; sop++) { in perform_atomic_semop()
724 int idx = array_index_nospec(sop->sem_num, sma->sem_nsems); in perform_atomic_semop()
727 sem_op = sop->sem_op; in perform_atomic_semop()
740 if (sop->sem_flg & SEM_UNDO) { in perform_atomic_semop()
741 int undo = un->semadj[sop->sem_num] - sem_op; in perform_atomic_semop()
749 for (sop = sops; sop < sops + nsops; sop++) { in perform_atomic_semop()
750 curr = &sma->sems[sop->sem_num]; in perform_atomic_semop()
751 sem_op = sop->sem_op; in perform_atomic_semop()
754 if (sop->sem_flg & SEM_UNDO) { 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()
766 q->blocking = sop; in perform_atomic_semop()
767 return sop->sem_flg & IPC_NOWAIT ? -EAGAIN : 1; in perform_atomic_semop()
1060 struct sembuf *sop = q->blocking; in check_qop() local
1073 if (sop->sem_num != semnum) in check_qop()
1076 if (count_zero && sop->sem_op == 0) in check_qop()
1078 if (!count_zero && sop->sem_op < 0) in check_qop()
1949 struct sembuf *sops = fast_sops, *sop; in do_semtimedop() local
1984 for (sop = sops; sop < sops + nsops; sop++) { in do_semtimedop()
1985 unsigned long mask = 1ULL << ((sop->sem_num) % BITS_PER_LONG); in do_semtimedop()
1987 if (sop->sem_num >= max) in do_semtimedop()
1988 max = sop->sem_num; in do_semtimedop()
1989 if (sop->sem_flg & SEM_UNDO) in do_semtimedop()
2000 if (sop->sem_op != 0) { in do_semtimedop()