diff options
| author | Sagi Grimberg <sagig@mellanox.com> | 2014-12-07 09:10:02 -0500 |
|---|---|---|
| committer | Roland Dreier <roland@purestorage.com> | 2014-12-15 21:11:45 -0500 |
| commit | 7e1fd4d1e3c801a07609300e03912524b3abb5cb (patch) | |
| tree | d0fada6fa9449f7b658dfc2517745956ae26ade0 | |
| parent | a11b3e69359f00ebf75c7f81d1a90ed82a87676d (diff) | |
IB/iser: Remove redundant is_mr indicator
It is enough to check mem_h pointer assignment, mem_h == NULL will
indicate that buffer is not registered using mr.
Signed-off-by: Sagi Grimberg <sagig@mellanox.com>
Signed-off-by: Or Gerlitz <ogerlitz@mellanox.com>
Signed-off-by: Roland Dreier <roland@purestorage.com>
| -rw-r--r-- | drivers/infiniband/ulp/iser/iscsi_iser.h | 2 | ||||
| -rw-r--r-- | drivers/infiniband/ulp/iser/iser_memory.c | 9 | ||||
| -rw-r--r-- | drivers/infiniband/ulp/iser/iser_verbs.c | 6 |
3 files changed, 4 insertions, 13 deletions
diff --git a/drivers/infiniband/ulp/iser/iscsi_iser.h b/drivers/infiniband/ulp/iser/iscsi_iser.h index 8a5663dae87a..e34263cbecc3 100644 --- a/drivers/infiniband/ulp/iser/iscsi_iser.h +++ b/drivers/infiniband/ulp/iser/iscsi_iser.h | |||
| @@ -252,7 +252,6 @@ struct iscsi_endpoint; | |||
| 252 | * @va: MR start address (buffer va) | 252 | * @va: MR start address (buffer va) |
| 253 | * @len: MR length | 253 | * @len: MR length |
| 254 | * @mem_h: pointer to registration context (FMR/Fastreg) | 254 | * @mem_h: pointer to registration context (FMR/Fastreg) |
| 255 | * @is_mr: indicates weather we registered the buffer | ||
| 256 | */ | 255 | */ |
| 257 | struct iser_mem_reg { | 256 | struct iser_mem_reg { |
| 258 | u32 lkey; | 257 | u32 lkey; |
| @@ -260,7 +259,6 @@ struct iser_mem_reg { | |||
| 260 | u64 va; | 259 | u64 va; |
| 261 | u64 len; | 260 | u64 len; |
| 262 | void *mem_h; | 261 | void *mem_h; |
| 263 | int is_mr; | ||
| 264 | }; | 262 | }; |
| 265 | 263 | ||
| 266 | /** | 264 | /** |
diff --git a/drivers/infiniband/ulp/iser/iser_memory.c b/drivers/infiniband/ulp/iser/iser_memory.c index a70fd9ae7567..d83270511079 100644 --- a/drivers/infiniband/ulp/iser/iser_memory.c +++ b/drivers/infiniband/ulp/iser/iser_memory.c | |||
| @@ -408,7 +408,6 @@ int iser_reg_rdma_mem_fmr(struct iscsi_iser_task *iser_task, | |||
| 408 | regd_buf->reg.rkey = device->mr->rkey; | 408 | regd_buf->reg.rkey = device->mr->rkey; |
| 409 | regd_buf->reg.len = ib_sg_dma_len(ibdev, &sg[0]); | 409 | regd_buf->reg.len = ib_sg_dma_len(ibdev, &sg[0]); |
| 410 | regd_buf->reg.va = ib_sg_dma_address(ibdev, &sg[0]); | 410 | regd_buf->reg.va = ib_sg_dma_address(ibdev, &sg[0]); |
| 411 | regd_buf->reg.is_mr = 0; | ||
| 412 | 411 | ||
| 413 | iser_dbg("PHYSICAL Mem.register: lkey: 0x%08X rkey: 0x%08X " | 412 | iser_dbg("PHYSICAL Mem.register: lkey: 0x%08X rkey: 0x%08X " |
| 414 | "va: 0x%08lX sz: %ld]\n", | 413 | "va: 0x%08lX sz: %ld]\n", |
| @@ -769,15 +768,11 @@ int iser_reg_rdma_mem_fastreg(struct iscsi_iser_task *iser_task, | |||
| 769 | regd_buf->reg.rkey = desc->pi_ctx->sig_mr->rkey; | 768 | regd_buf->reg.rkey = desc->pi_ctx->sig_mr->rkey; |
| 770 | regd_buf->reg.va = sig_sge.addr; | 769 | regd_buf->reg.va = sig_sge.addr; |
| 771 | regd_buf->reg.len = sig_sge.length; | 770 | regd_buf->reg.len = sig_sge.length; |
| 772 | regd_buf->reg.is_mr = 1; | ||
| 773 | } else { | 771 | } else { |
| 774 | if (desc) { | 772 | if (desc) |
| 775 | regd_buf->reg.rkey = desc->data_mr->rkey; | 773 | regd_buf->reg.rkey = desc->data_mr->rkey; |
| 776 | regd_buf->reg.is_mr = 1; | 774 | else |
| 777 | } else { | ||
| 778 | regd_buf->reg.rkey = device->mr->rkey; | 775 | regd_buf->reg.rkey = device->mr->rkey; |
| 779 | regd_buf->reg.is_mr = 0; | ||
| 780 | } | ||
| 781 | 776 | ||
| 782 | regd_buf->reg.lkey = data_sge.lkey; | 777 | regd_buf->reg.lkey = data_sge.lkey; |
| 783 | regd_buf->reg.va = data_sge.addr; | 778 | regd_buf->reg.va = data_sge.addr; |
diff --git a/drivers/infiniband/ulp/iser/iser_verbs.c b/drivers/infiniband/ulp/iser/iser_verbs.c index fb5ec3553de8..ad493d285be1 100644 --- a/drivers/infiniband/ulp/iser/iser_verbs.c +++ b/drivers/infiniband/ulp/iser/iser_verbs.c | |||
| @@ -1009,7 +1009,6 @@ int iser_reg_page_vec(struct ib_conn *ib_conn, | |||
| 1009 | mem_reg->rkey = mem->fmr->rkey; | 1009 | mem_reg->rkey = mem->fmr->rkey; |
| 1010 | mem_reg->len = page_vec->length * SIZE_4K; | 1010 | mem_reg->len = page_vec->length * SIZE_4K; |
| 1011 | mem_reg->va = io_addr; | 1011 | mem_reg->va = io_addr; |
| 1012 | mem_reg->is_mr = 1; | ||
| 1013 | mem_reg->mem_h = (void *)mem; | 1012 | mem_reg->mem_h = (void *)mem; |
| 1014 | 1013 | ||
| 1015 | mem_reg->va += page_vec->offset; | 1014 | mem_reg->va += page_vec->offset; |
| @@ -1036,7 +1035,7 @@ void iser_unreg_mem_fmr(struct iscsi_iser_task *iser_task, | |||
| 1036 | struct iser_mem_reg *reg = &iser_task->rdma_regd[cmd_dir].reg; | 1035 | struct iser_mem_reg *reg = &iser_task->rdma_regd[cmd_dir].reg; |
| 1037 | int ret; | 1036 | int ret; |
| 1038 | 1037 | ||
| 1039 | if (!reg->is_mr) | 1038 | if (!reg->mem_h) |
| 1040 | return; | 1039 | return; |
| 1041 | 1040 | ||
| 1042 | iser_dbg("PHYSICAL Mem.Unregister mem_h %p\n",reg->mem_h); | 1041 | iser_dbg("PHYSICAL Mem.Unregister mem_h %p\n",reg->mem_h); |
| @@ -1056,11 +1055,10 @@ void iser_unreg_mem_fastreg(struct iscsi_iser_task *iser_task, | |||
| 1056 | struct ib_conn *ib_conn = &iser_conn->ib_conn; | 1055 | struct ib_conn *ib_conn = &iser_conn->ib_conn; |
| 1057 | struct fast_reg_descriptor *desc = reg->mem_h; | 1056 | struct fast_reg_descriptor *desc = reg->mem_h; |
| 1058 | 1057 | ||
| 1059 | if (!reg->is_mr) | 1058 | if (!desc) |
| 1060 | return; | 1059 | return; |
| 1061 | 1060 | ||
| 1062 | reg->mem_h = NULL; | 1061 | reg->mem_h = NULL; |
| 1063 | reg->is_mr = 0; | ||
| 1064 | spin_lock_bh(&ib_conn->lock); | 1062 | spin_lock_bh(&ib_conn->lock); |
| 1065 | list_add_tail(&desc->list, &ib_conn->fastreg.pool); | 1063 | list_add_tail(&desc->list, &ib_conn->fastreg.pool); |
| 1066 | spin_unlock_bh(&ib_conn->lock); | 1064 | spin_unlock_bh(&ib_conn->lock); |
