• 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:sops

348 static int try_atomic_semop (struct sem_array * sma, struct sembuf * sops,
355 for (sop = sops; sop < sops + nsops; sop++) {
380 while (sop >= sops) {
401 while (sop >= sops) {
491 curr = sma->sem_base + q->sops[0].sem_num;
509 BUG_ON(q->sops[0].sem_op >= 0);
518 BUG_ON(h->sops[0].sem_num != q->sops[0].sem_num);
521 if (h->sops[0].sem_op == 0)
584 error = try_atomic_semop(sma, q->sops, q->nsops,
608 * do_smart_update(sma, sops, nsops, otime, pt) - optimized update_queue
610 * @sops: operations that were performed
621 static void do_smart_update(struct sem_array *sma, struct sembuf *sops, int nsops,
626 if (sma->complex_count || sops == NULL) {
633 if (sops[i].sem_op > 0 ||
634 (sops[i].sem_op < 0 &&
635 sma->sem_base[sops[i].sem_num].semval == 0))
636 if (update_queue(sma, sops[i].sem_num, pt))
661 struct sembuf * sops = q->sops;
665 if (sops[i].sem_num == semnum
666 && (sops[i].sem_op < 0)
667 && !(sops[i].sem_flg & IPC_NOWAIT))
680 struct sembuf * sops = q->sops;
684 if (sops[i].sem_num == semnum
685 && (sops[i].sem_op == 0)
686 && !(sops[i].sem_flg & IPC_NOWAIT))
1294 struct sembuf* sops = fast_sops, *sop;
1309 sops = kmalloc(sizeof(*sops)*nsops,GFP_KERNEL);
1310 if(sops==NULL)
1313 if (copy_from_user (sops, tsops, nsops * sizeof(*tsops))) {
1331 for (sop = sops; sop < sops + nsops; sop++) {
1392 error = security_sem_semop(sma, sops, nsops, alter);
1396 error = try_atomic_semop (sma, sops, nsops, un, task_tgid_vnr(current));
1399 do_smart_update(sma, sops, nsops, 1, &tasks);
1408 queue.sops = sops;
1420 curr = &sma->sem_base[sops->sem_num];
1484 if(sops != fast_sops)
1485 kfree(sops);