Lines Matching refs:sops
111 struct sembuf *sops; /* array of pending operations */ member
220 curr = &sma->sem_base[q->sops[0].sem_num]; in unmerge_queues()
298 static inline int sem_lock(struct sem_array *sma, struct sembuf *sops, in sem_lock() argument
329 sem = sma->sem_base + sops->sem_num; in sem_lock()
355 return sops->sem_num; in sem_lock()
371 return sops->sem_num; in sem_lock()
399 int id, struct sembuf *sops, int nsops, int *locknum) in sem_obtain_lock() argument
409 *locknum = sem_lock(sma, sops, nsops); in sem_obtain_lock()
618 struct sembuf *sops; in perform_atomic_semop() local
621 sops = q->sops; in perform_atomic_semop()
625 for (sop = sops; sop < sops + nsops; sop++) { in perform_atomic_semop()
652 while (sop >= sops) { in perform_atomic_semop()
673 while (sop >= sops) { in perform_atomic_semop()
832 static int do_smart_wakeup_zero(struct sem_array *sma, struct sembuf *sops, in do_smart_wakeup_zero() argument
840 if (sops) { in do_smart_wakeup_zero()
842 int num = sops[i].sem_num; in do_smart_wakeup_zero()
930 do_smart_wakeup_zero(sma, q->sops, q->nsops, pt); in update_queue()
949 static void set_semotime(struct sem_array *sma, struct sembuf *sops) in set_semotime() argument
951 if (sops == NULL) { in set_semotime()
954 sma->sem_base[sops[0].sem_num].sem_otime = in set_semotime()
973 static void do_smart_update(struct sem_array *sma, struct sembuf *sops, int nsops, in do_smart_update() argument
978 otime |= do_smart_wakeup_zero(sma, sops, nsops, pt); in do_smart_update()
984 if (!sops) { in do_smart_update()
1002 if (sops[i].sem_op > 0) { in do_smart_update()
1004 sops[i].sem_num, pt); in do_smart_update()
1010 set_semotime(sma, sops); in do_smart_update()
1798 struct sembuf *sops = fast_sops, *sop; in SYSCALL_DEFINE4() local
1813 sops = kmalloc(sizeof(*sops)*nsops, GFP_KERNEL); in SYSCALL_DEFINE4()
1814 if (sops == NULL) in SYSCALL_DEFINE4()
1817 if (copy_from_user(sops, tsops, nsops * sizeof(*tsops))) { in SYSCALL_DEFINE4()
1835 for (sop = sops; sop < sops + nsops; sop++) { in SYSCALL_DEFINE4()
1873 error = security_sem_semop(sma, sops, nsops, alter); in SYSCALL_DEFINE4()
1878 locknum = sem_lock(sma, sops, nsops); in SYSCALL_DEFINE4()
1899 queue.sops = sops; in SYSCALL_DEFINE4()
1911 do_smart_update(sma, sops, nsops, 1, &tasks); in SYSCALL_DEFINE4()
1913 set_semotime(sma, sops); in SYSCALL_DEFINE4()
1924 curr = &sma->sem_base[sops->sem_num]; in SYSCALL_DEFINE4()
1979 sma = sem_obtain_lock(ns, semid, sops, nsops, &locknum); in SYSCALL_DEFINE4()
2022 if (sops != fast_sops) in SYSCALL_DEFINE4()
2023 kfree(sops); in SYSCALL_DEFINE4()