Lines Matching defs:args

172 static int __rds_rdma_map(struct rds_sock *rs, struct rds_get_mr_args *args,
201 if (((args->vec.addr + args->vec.bytes) < args->vec.addr) ||
202 PAGE_ALIGN(args->vec.addr + args->vec.bytes) <
203 (args->vec.addr + args->vec.bytes)) {
213 nr_pages = rds_pages_in_vec(&args->vec);
228 args->vec.addr, args->vec.bytes, nr_pages);
248 if (args->flags & RDS_RDMA_USE_ONCE)
250 if (args->flags & RDS_RDMA_INVALIDATE)
252 if (args->flags & RDS_RDMA_READWRITE)
265 ret = rds_pin_pages(args->vec.addr, nr_pages, pages, 1);
292 args->vec.addr, args->vec.bytes,
313 mr->r_key, (void *)(unsigned long) args->cookie_addr);
323 args->vec.addr & ~PAGE_MASK);
327 if (args->cookie_addr &&
328 put_user(cookie, (u64 __user *)(unsigned long)args->cookie_addr)) {
361 struct rds_get_mr_args args;
366 if (copy_from_sockptr(&args, optval, sizeof(struct rds_get_mr_args)))
369 return __rds_rdma_map(rs, &args, NULL, NULL, NULL);
374 struct rds_get_mr_for_dest_args args;
380 if (copy_from_sockptr(&args, optval,
389 new_args.vec = args.vec;
390 new_args.cookie_addr = args.cookie_addr;
391 new_args.flags = args.flags;
401 struct rds_free_mr_args args;
408 if (copy_from_sockptr(&args, optval, sizeof(struct rds_free_mr_args)))
412 if (args.cookie == 0) {
424 mr = rds_mr_tree_walk(&rs->rs_rdma_keys, rds_rdma_cookie_key(args.cookie), NULL);
428 if (args.flags & RDS_RDMA_INVALIDATE)
557 int rds_rdma_extra_size(struct rds_rdma_args *args,
566 local_vec = (struct rds_iovec __user *)(unsigned long) args->local_vec_addr;
568 if (args->nr_local == 0)
571 if (args->nr_local > UIO_MAXIOV)
574 iov->iov = kcalloc(args->nr_local,
582 if (copy_from_user(vec, local_vec, args->nr_local *
585 iov->len = args->nr_local;
588 for (i = 0; i < args->nr_local; i++, vec++) {
615 struct rds_rdma_args *args;
629 args = CMSG_DATA(cmsg);
636 if (args->nr_local > UIO_MAXIOV) {
641 if (vec->len != args->nr_local) {
646 if (args->nr_local != 1)
651 nr_pages = rds_rdma_pages(iovs, args->nr_local);
663 op->op_write = !!(args->flags & RDS_RDMA_READWRITE);
664 op->op_fence = !!(args->flags & RDS_RDMA_FENCE);
665 op->op_notify = !!(args->flags & RDS_RDMA_NOTIFY_ME);
666 op->op_silent = !!(args->flags & RDS_RDMA_SILENT);
689 op->op_notifier->n_user_token = args->user_token;
700 op->op_rkey = rds_rdma_cookie_key(args->cookie);
701 op->op_remote_addr = args->remote_vec.addr + rds_rdma_cookie_offset(args->cookie);
706 (unsigned long long)args->nr_local,
707 (unsigned long long)args->remote_vec.addr,
710 for (i = 0; i < args->nr_local; i++) {
786 if (nr_bytes > args->remote_vec.bytes) {
789 (unsigned int) args->remote_vec.bytes);
872 struct rds_atomic_args *args;
879 args = CMSG_DATA(cmsg);
885 rm->atomic.op_m_fadd.add = args->fadd.add;
890 rm->atomic.op_m_fadd.add = args->m_fadd.add;
891 rm->atomic.op_m_fadd.nocarry_mask = args->m_fadd.nocarry_mask;
895 rm->atomic.op_m_cswp.compare = args->cswp.compare;
896 rm->atomic.op_m_cswp.swap = args->cswp.swap;
902 rm->atomic.op_m_cswp.compare = args->m_cswp.compare;
903 rm->atomic.op_m_cswp.swap = args->m_cswp.swap;
904 rm->atomic.op_m_cswp.compare_mask = args->m_cswp.compare_mask;
905 rm->atomic.op_m_cswp.swap_mask = args->m_cswp.swap_mask;
911 rm->atomic.op_notify = !!(args->flags & RDS_RDMA_NOTIFY_ME);
912 rm->atomic.op_silent = !!(args->flags & RDS_RDMA_SILENT);
922 if (args->local_addr & 0x7) {
927 ret = rds_pin_pages(args->local_addr, 1, &page, 1);
932 sg_set_page(rm->atomic.op_sg, page, 8, offset_in_page(args->local_addr));
946 rm->atomic.op_notifier->n_user_token = args->user_token;
950 rm->atomic.op_rkey = rds_rdma_cookie_key(args->cookie);
951 rm->atomic.op_remote_addr = args->remote_addr + rds_rdma_cookie_offset(args->cookie);