Lines Matching defs:permit

72 	struct rtrs_permit *permit;
88 permit = get_permit(clt, bit);
89 WARN_ON(permit->mem_id != bit);
90 permit->cpu_id = raw_smp_processor_id();
91 permit->con_type = con_type;
93 return permit;
97 struct rtrs_permit *permit)
99 clear_bit_unlock(permit->mem_id, clt->permits_map);
103 * rtrs_clt_get_permit() - allocates permit for future RDMA operation
105 * @con_type: Type of connection to use with the permit
109 * Allocates permit for the following RDMA operation. Permit is used
120 struct rtrs_permit *permit;
123 permit = __rtrs_get_permit(clt, con_type);
124 if (permit || !can_wait)
125 return permit;
130 permit = __rtrs_get_permit(clt, con_type);
131 if (permit)
139 return permit;
144 * rtrs_clt_put_permit() - puts allocated permit
146 * @permit: Permit to be freed
152 struct rtrs_permit *permit)
154 if (WARN_ON(!test_bit(permit->mem_id, clt->permits_map)))
157 __rtrs_put_permit(clt, permit);
172 * rtrs_permit_to_clt_con() - returns RDMA connection pointer by the permit
174 * @permit: permit for the allocation of the RDMA buffer
181 struct rtrs_permit *permit)
185 if (permit->con_type == RTRS_IO_CON)
186 id = (permit->cpu_id % (clt_path->s.irq_con_num - 1)) + 1;
935 * @permit: permit for allocation of RDMA remote buffer
947 struct rtrs_permit *permit, void *priv,
955 req->permit = permit;
963 req->con = rtrs_permit_to_clt_con(clt_path, permit);
981 struct rtrs_permit *permit, void *priv,
988 req = &clt_path->reqs[permit->mem_id];
989 rtrs_clt_init_req(req, clt_path, conf, permit, priv, vec, usr_len,
1004 req = &alive_path->reqs[fail_req->permit->mem_id];
1005 rtrs_clt_init_req(req, alive_path, fail_req->conf, fail_req->permit,
1112 imm = req->permit->mem_off + req->data_len + req->usr_len;
1114 buf_id = req->permit->mem_id;
1245 imm = req->permit->mem_off + req->data_len + req->usr_len;
1247 buf_id = req->permit->mem_id;
1423 struct rtrs_permit *permit;
1425 permit = get_permit(clt, i);
1426 permit->mem_id = i;
1427 permit->mem_off = i << (MAX_IMM_PAYL_BITS - chunk_bits);
2775 * @pdu_sz: Size of extra payload which can be accessed after permit allocation.
2961 * @permit: Preallocated permit
2980 struct rtrs_clt_sess *clt, struct rtrs_permit *permit,
3019 req = rtrs_clt_get_req(clt_path, ops->conf_fn, permit, ops->priv,