Lines Matching refs:atomic

866  * Fill in rds_message for an atomic request.
876 || rm->atomic.op_active)
884 rm->atomic.op_type = RDS_ATOMIC_TYPE_FADD;
885 rm->atomic.op_m_fadd.add = args->fadd.add;
886 rm->atomic.op_m_fadd.nocarry_mask = 0;
889 rm->atomic.op_type = RDS_ATOMIC_TYPE_FADD;
890 rm->atomic.op_m_fadd.add = args->m_fadd.add;
891 rm->atomic.op_m_fadd.nocarry_mask = args->m_fadd.nocarry_mask;
894 rm->atomic.op_type = RDS_ATOMIC_TYPE_CSWP;
895 rm->atomic.op_m_cswp.compare = args->cswp.compare;
896 rm->atomic.op_m_cswp.swap = args->cswp.swap;
897 rm->atomic.op_m_cswp.compare_mask = ~0;
898 rm->atomic.op_m_cswp.swap_mask = ~0;
901 rm->atomic.op_type = RDS_ATOMIC_TYPE_CSWP;
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);
913 rm->atomic.op_active = 1;
914 rm->atomic.op_recverr = rs->rs_recverr;
915 rm->atomic.op_sg = rds_message_alloc_sgs(rm, 1);
916 if (IS_ERR(rm->atomic.op_sg)) {
917 ret = PTR_ERR(rm->atomic.op_sg);
932 sg_set_page(rm->atomic.op_sg, page, 8, offset_in_page(args->local_addr));
934 if (rm->atomic.op_notify || rm->atomic.op_recverr) {
940 rm->atomic.op_notifier = kmalloc(sizeof(*rm->atomic.op_notifier), GFP_KERNEL);
941 if (!rm->atomic.op_notifier) {
946 rm->atomic.op_notifier->n_user_token = args->user_token;
947 rm->atomic.op_notifier->n_status = RDS_RDMA_SUCCESS;
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);
957 rm->atomic.op_active = 0;
958 kfree(rm->atomic.op_notifier);