Re: [PATCH] IB/srp: Fix possible send queue overflow

2015-11-03 Thread Sagi Grimberg
On 15/10/2015 12:26, Sagi Grimberg wrote: When using work request based memory registration (fast_reg) we must reserve SQ entries for registration and invalidation in addition to send operations. Each IO consumes 3 SQ entries (registration, send, invalidation) so we need to allocate 3x larger

Re: [PATCH 7/7] IB/srp: Avoid that mapping failure triggers an infinite loop

2015-11-03 Thread Sagi Grimberg
Can you spare a few words on this change in the change log? Signed-off-by: Bart Van Assche Cc: Sagi Grimberg Cc: Sebastian Parschauer --- drivers/infiniband/ulp/srp/ib_srp.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/infiniband/ulp/srp/ib_srp.c b/drivers/infiniband

Re: [PATCH 6/7] IB/srp: Introduce target->mr_pool_size

2015-11-03 Thread Sagi Grimberg
Looks good, Reviewed-by: Sagi Grimberg -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html

Re: [PATCH 4/7] IB/srp: Fix a potential queue overflow in an error path

2015-11-03 Thread Sagi Grimberg
On 28/10/2015 00:02, Bart Van Assche wrote: Wait until memory registration has finished in the srp_queuecommand() error path before invalidating memory regions to avoid a send queue overflow. This looks backwards to me... Why do we even post anything on our queue-pair to begin with if we got

Re: [PATCH 2/7] IB/srp: Document srp_map_data() return value

2015-11-03 Thread Sagi Grimberg
Looks good, Reviewed-by: Sagi Grimberg -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html

Re: [PATCH 3/7] IB/srp: Rename work request ID labels

2015-11-03 Thread Sagi Grimberg
Looks good, Reviewed-by: Sagi Grimberg -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html

Re: [PATCH 1/7] IB/srp: Fix a spelling error

2015-11-03 Thread Sagi Grimberg
Looks good, Reviewed-by: Sagi Grimberg -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html

Re: [PATCH] IB/mlx: Expose max_fmr to ib_query_device

2015-10-29 Thread Sagi Grimberg
Hi Yuval, The title prefix should be IB/mlx4: Expose max_fmr so it will be available to ULPs. max_fmr is num_mpts minus reserved. Signed-off-by: Yuval Shaia --- drivers/infiniband/hw/mlx4/main.c |1 + 1 files changed, 1 insertions(+), 0 deletions(-) diff --git a/drivers/infiniband/hw/

[PATCH v5 27/26] IB/hfi1: Remove fast registration from the code

2015-10-29 Thread Sagi Grimberg
The driver does not support it anyway, and the support should be added to a generic layer shared by both hfi1, qib and softroce drivers. Signed-off-by: Sagi Grimberg --- drivers/staging/rdma/hfi1/keys.c | 55 - drivers/staging/rdma/hfi1/mr.c| 33

[PATCH 28/26] IB/ipath: Remove fast registration from the code

2015-10-29 Thread Sagi Grimberg
The driver does not support it anyway, and the support should be added to a generic layer shared by both hfi1, qib and softroce drivers. Signed-off-by: Sagi Grimberg --- drivers/staging/rdma/ipath/ipath_verbs.c |3 --- drivers/staging/rdma/ipath/ipath_verbs.h |1 - 2 files changed, 0

Re: [PATCH v5 00/26] New fast registration API

2015-10-29 Thread Sagi Grimberg
I can provide a patch for hfi, anything else needed? It breaks all of them in staging, not just hgi1. So, hfi1, amso1100, ipath, and ehca. hfi1: Does not support FRWR at all, there are just some copy-paste sections that supposedly handle it - so I'll drop any sign of it from the code. We'll

Re: [PATCH v5 00/26] New fast registration API

2015-10-29 Thread Sagi Grimberg
On 29/10/2015 16:16, Doug Ledford wrote: On 10/29/2015 01:42 AM, Or Gerlitz wrote: On Thu, Oct 29, 2015 at 4:34 AM, Doug Ledford wrote: Yes, I've pulled this in for 4.4. Thanks! Doug, we want to run regression over the 4.4 bits, when do you expect for them to show up @ your kernel.org tre

[PATCH v2 0/2] Handle mlx4 max_sge_rd correctly

2015-10-28 Thread Sagi Grimberg
max_sge_rd = 1. Sagi Grimberg (2): mlx4: Expose correct max_sge_rd limit iser-target: Remove explicit mlx4 work-around drivers/infiniband/hw/mlx4/main.c |2 +- drivers/infiniband/ulp/isert/ib_isert.c | 13 +++-- include/linux/mlx4/device.h | 11 +++ 3

[PATCH v2 2/2] iser-target: Remove explicit mlx4 work-around

2015-10-28 Thread Sagi Grimberg
The driver now exposes sufficient limits so we can avoid having mlx4 specific work-around. Signed-off-by: Sagi Grimberg Reviewed-by: Steve Wise --- drivers/infiniband/ulp/isert/ib_isert.c | 13 +++-- 1 files changed, 3 insertions(+), 10 deletions(-) diff --git a/drivers/infiniband

[PATCH v2 1/2] mlx4: Expose correct max_sge_rd limit

2015-10-28 Thread Sagi Grimberg
= 30. Signed-off-by: Sagi Grimberg Reviewed-by: Steve Wise --- drivers/infiniband/hw/mlx4/main.c |2 +- include/linux/mlx4/device.h | 11 +++ 2 files changed, 12 insertions(+), 1 deletions(-) diff --git a/drivers/infiniband/hw/mlx4/main.c b/drivers/infiniband/hw/mlx4

Re: [PATCH 0/7] Fix an infinite loop in the SRP initiator

2015-10-28 Thread Sagi Grimberg
Submitting a SCSI request through the SG_IO mechanism with a scatterlist that is longer than what is supported by the SRP initiator triggers an infinite loop. This patch series fixes that behavior. The individual patches in this series are as follows: 0001-IB-srp-Fix-a-spelling-error.patch 0002-

Re: [PATCH 02/25] IB/mthca, net/mlx4: remove counting semaphores

2015-10-28 Thread Sagi Grimberg
Hi Arnd, Since we want to make counting semaphores go away, Why do we want to make counting semaphores go away? completely? or just for binary use cases? I have a use case in iser target code where a counting semaphore is the best suited synchronizing mechanism. I have a single thread handli

[PATCH v1 1/2] mlx4: Expose correct max_sge_rd limit

2015-10-27 Thread Sagi Grimberg
= 30. Signed-off-by: Sagi Grimberg --- drivers/infiniband/hw/mlx4/main.c |2 +- include/linux/mlx4/device.h | 11 +++ 2 files changed, 12 insertions(+), 1 deletions(-) diff --git a/drivers/infiniband/hw/mlx4/main.c b/drivers/infiniband/hw/mlx4/main.c index 3889723..d8453f1

[PATCH v1 0/2] Handle mlx4 max_sge_rd correctly

2015-10-27 Thread Sagi Grimberg
added a root cause analysis to patch change log. - Fixed isert qp creation to be max_sge but construct rdma work request with the minimum of max_sge and max_sge_rd as non-rdma sends (login rsp) take 2 sges (and some devices have max_sge_rd = 1. Sagi Grimberg (2): mlx4: Expose correct

[PATCH v1 2/2] iser-target: Remove explicit mlx4 work-around

2015-10-27 Thread Sagi Grimberg
The driver now exposes sufficient limits so we can avoid having mlx4 specific work-around. Signed-off-by: Sagi Grimberg --- drivers/infiniband/ulp/isert/ib_isert.c | 13 +++-- 1 files changed, 3 insertions(+), 10 deletions(-) diff --git a/drivers/infiniband/ulp/isert/ib_isert.c b

Re: [PATCH 1/2] mlx4: Expose correct max_sge_rd limit

2015-10-27 Thread Sagi Grimberg
Hello Sagi, Is this the same issue as what has been discussed in http://www.spinics.net/lists/linux-rdma/msg21799.html ? Looks like it. I think this patch addresses this issue, but lets CC Eli to comment if I'm missing something. Thanks for digging this up... Sagi. -- To unsubscribe from thi

Re: [PATCH 1/2] mlx4: Expose correct max_sge_rd limit

2015-10-27 Thread Sagi Grimberg
But AFAIR, the magic number was 28... how this goes hand in hand with your findings? mlx4 max_sge is 32, and isert does max_sge - 2 = 30. So it always used 30... and I run it reliably with this for a while now. This thing exists before I was involved so I might not be familiar with all the deta

Re: [PATCH 1/2] mlx4: Expose correct max_sge_rd limit

2015-10-27 Thread Sagi Grimberg
On 27/10/2015 16:39, Or Gerlitz wrote: On 10/27/2015 11:40 AM, Sagi Grimberg wrote: mlx4 devices (ConnectX-2, ConnectX-3) can not issue max_sge in a single RDMA_READ request (resulting in a completion error). Thus, expose lower max_sge_rd to avoid this issue. Sagi, Hey Or, Still, this

Re: merge struct ib_device_attr into struct ib_device V2

2015-10-27 Thread Sagi Grimberg
Did we converge on this? Just a heads up to Doug, this conflicts with [PATCH v4 11/16] xprtrdma: Pre-allocate Work Requests for backchannel but it's trivial to sort out... -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majord...@vger.kernel.o

Re: [PATCH] IB/iser: Remove an unused variable

2015-10-27 Thread Sagi Grimberg
Detected this by compiling with W=1. Signed-off-by: Bart Van Assche Cc: Sagi Grimberg FWIW, Reviewed-by: Sagi Grimberg -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majord...@vger.kernel.org More majordomo inf

Re: [PATCH] iser-target: Remove an unused variable

2015-10-27 Thread Sagi Grimberg
On 22/10/2015 21:14, Bart Van Assche wrote: Detected this by compiling with W=1. Signed-off-by: Bart Van Assche Cc: Sagi Grimberg FWIW, Reviewed-by: Sagi Grimberg -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message

[PATCH 1/2] mlx4: Expose correct max_sge_rd limit

2015-10-27 Thread Sagi Grimberg
mlx4 devices (ConnectX-2, ConnectX-3) can not issue max_sge in a single RDMA_READ request (resulting in a completion error). Thus, expose lower max_sge_rd to avoid this issue. Signed-off-by: Sagi Grimberg --- drivers/infiniband/hw/mlx4/main.c |3 ++- 1 files changed, 2 insertions(+), 1

[PATCH 0/2] Expose max_sge_rd correctly

2015-10-27 Thread Sagi Grimberg
This addresses a specific mlx4 issue where the max_sge_rd is actually smaller than max_sge (rdma reads with max_sge entries completes with error). The second patch removes the explicit work-around from the iser target code. This applies on top of Christoph's device attributes modification.

[PATCH 2/2] iser-target: Remove explicit mlx4 work-around

2015-10-27 Thread Sagi Grimberg
The driver now exposes sufficient limits so we can avoid having mlx4 specific work-around. Signed-off-by: Sagi Grimberg --- drivers/infiniband/ulp/isert/ib_isert.c | 10 ++ 1 files changed, 2 insertions(+), 8 deletions(-) diff --git a/drivers/infiniband/ulp/isert/ib_isert.c b

Re: [PATCH v2 for-next 1/7] IB/core: Extend ib_uverbs_create_qp

2015-10-21 Thread Sagi Grimberg
On 10/21/2015 1:04 PM, Or Gerlitz wrote: On 10/21/2015 12:53 PM, Sagi Grimberg wrote: On 10/15/2015 2:44 PM, Eran Ben Elisha wrote: +struct ib_uverbs_ex_create_qp { +__u64 user_handle; +__u32 pd_handle; +__u32 send_cq_handle; +__u32 recv_cq_handle; +__u32 srq_handle

Re: [PATCH v2 for-next 1/7] IB/core: Extend ib_uverbs_create_qp

2015-10-21 Thread Sagi Grimberg
On 10/15/2015 2:44 PM, Eran Ben Elisha wrote: ib_uverbs_ex_create_qp follows the extension verbs mechanism. New features (for example, QP creation flags field which is added in a downstream patch) could used via user-space libraries without breaking the ABI. This is an important addition, I'll

Re: merge struct ib_device_attr into struct ib_device V2

2015-10-20 Thread Sagi Grimberg
But this makes struct ib_device much much bigger, and this structure is used in **fast** path, e.g the ULP traverses through a pointer from struct ib_device to post_send/recv, poll_cq and friends. Umm, all the caps are appended to the end of the ib_device structure so I don't see how it will a

Re: merge struct ib_device_attr into struct ib_device V2

2015-10-20 Thread Sagi Grimberg
On 10/20/2015 5:08 PM, Or Gerlitz wrote: On Tue, Oct 20, 2015 at 4:08 PM, Sagi Grimberg wrote: I think this is very useful to have and I'd love having it in 4.4, does anyone have any other comments on this patch? Were we ever presented with performance gains achieved using the patch?

Re: merge struct ib_device_attr into struct ib_device V2

2015-10-20 Thread Sagi Grimberg
I think this is very useful to have and I'd love having it in 4.4, does anyone have any other comments on this patch? Were we ever presented with performance gains achieved using the patch? Hi Or, Can you explain what you mean by performance gains? My understanding is that this patch is not

Re: merge struct ib_device_attr into struct ib_device V2

2015-10-20 Thread Sagi Grimberg
So this patch seems to work well for me. I've ran some kernel applications (ipoib, iser, srp, nfs) and a user-space application (ibsrpdm) over mlx4/mlx5 and didn't spot any issues. I think this is very useful to have and I'd love having it in 4.4, does anyone have any other comments on this patch

Re: [PATCH v5 00/26] New fast registration API

2015-10-20 Thread Sagi Grimberg
Doug, are you planning on taking this for 4.4? I think this set has converged towards inclusion. Reminder, this series goes on top of Christoph's wr_cleanup patches and iser bounce buffering cleanup. Sagi. -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a

[PATCH] IB/srp: Fix possible send queue overflow

2015-10-15 Thread Sagi Grimberg
When using work request based memory registration (fast_reg) we must reserve SQ entries for registration and invalidation in addition to send operations. Each IO consumes 3 SQ entries (registration, send, invalidation) so we need to allocate 3x larger send-queue instead of 2x. Signed-off-by: Sagi

Re: [PATCH for-next 2/7] IB: Introduce Work Queue object and its verbs

2015-10-15 Thread Sagi Grimberg
Hi Yishai, +/** + * ib_create_wq - Creates a WQ associated with the specified protection + * domain. + * @pd: The protection domain associated with the WQ. + * @wq_init_attr: A list of initial attributes required to create the + * WQ. If WQ creation succeeds, then the attributes are updated to +

[PATCH v5 08/26] IB/qib: Support the new memory registration API

2015-10-13 Thread Sagi Grimberg
(qib_mr) - key, access flags (ib_reg_wr) The IB_WR_FAST_REG_MR handlers will be removed later when all the ULPs will be converted. Signed-off-by: Sagi Grimberg Acked-by: Christoph Hellwig --- drivers/infiniband/hw/qib/qib_keys.c | 56 +++ drivers/infiniband/hw

[PATCH v2 2/2] IB/iser: Enable SG clustering

2015-10-13 Thread Sagi Grimberg
ments can benefit greatly as as it would reduce the length of the HW descriptors array. Signed-off-by: Sagi Grimberg Reviewed-by: Christoph Hellwig --- drivers/infiniband/ulp/iser/iscsi_iser.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/infiniband/ulp/iser/iscsi_i

[PATCH v5 22/26] RDMA/cxgb3: Remove old FRWR API

2015-10-13 Thread Sagi Grimberg
No ULP uses it anymore, go ahead and remove it. Signed-off-by: Sagi Grimberg Acked-by: Christoph Hellwig --- drivers/infiniband/hw/cxgb3/iwch_cq.c | 2 +- drivers/infiniband/hw/cxgb3/iwch_provider.c | 24 --- drivers/infiniband/hw/cxgb3/iwch_qp.c | 47

[PATCH v5 20/26] IB/mlx4: Remove old FRWR API support

2015-10-13 Thread Sagi Grimberg
No ULP uses it anymore, go ahead and remove it. Signed-off-by: Sagi Grimberg Acked-by: Christoph Hellwig --- drivers/infiniband/hw/mlx4/cq.c | 3 +-- drivers/infiniband/hw/mlx4/main.c| 2 -- drivers/infiniband/hw/mlx4/mlx4_ib.h | 15 --- drivers/infiniband/hw/mlx4/mr.c

[PATCH v5 10/26] IB/iser: Port to new fast registration API

2015-10-13 Thread Sagi Grimberg
Remove fastreg page list allocation as the page vector is now private to the provider. Instead of constructing the page list and fast_req work request, call ib_map_mr_sg and construct ib_reg_wr. Signed-off-by: Sagi Grimberg Acked-by: Christoph Hellwig --- drivers/infiniband/ulp/iser

[PATCH v2 0/2] iser bounce buffering cleanup

2015-10-13 Thread Sagi Grimberg
ports it. This should be applied before the New memory registration API patch set. Changes from v1: - Change logs Changes from v0: - Added Reviewed-by tags - Fixed patch (1) title Sagi Grimberg (2): iser: set block queue_virt_boundary IB/iser: Enable SG clustering drivers/infiniband/ulp

[PATCH v5 11/26] iser-target: Port to new memory registration API

2015-10-13 Thread Sagi Grimberg
Remove fastreg page list allocation as the page vector is now private to the provider. Instead of constructing the page list and fast_req work request, call ib_map_mr_sg and construct ib_reg_wr. Signed-off-by: Sagi Grimberg Acked-by: Christoph Hellwig --- drivers/infiniband/ulp/isert

[PATCH v5 13/26] svcrdma: Port to new memory registration API

2015-10-13 Thread Sagi Grimberg
Instead of maintaining a fastreg page list, keep an sg table and convert an array of pages to a sg list. Then call ib_map_mr_sg and construct ib_reg_wr. Signed-off-by: Sagi Grimberg Acked-by: Christoph Hellwig Tested-by: Steve Wise Tested-by: Selvin Xavier --- include/linux/sunrpc/svc_rdma.h

[PATCH v5 18/26] IB/srp: Dont allocate a page vector when using fast_reg

2015-10-13 Thread Sagi Grimberg
The new fast registration API does not reuqire a page vector so we can't avoid allocating it. Signed-off-by: Sagi Grimberg Tested-by: Bart Van Assche --- drivers/infiniband/ulp/srp/ib_srp.c | 20 +++- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/dr

[PATCH v5 24/26] IB/qib: Remove old FRWR API

2015-10-13 Thread Sagi Grimberg
No ULP uses it anymore, go ahead and remove it. Signed-off-by: Sagi Grimberg Acked-by: Christoph Hellwig --- drivers/infiniband/hw/qib/qib_keys.c | 56 --- drivers/infiniband/hw/qib/qib_mr.c| 32 +--- drivers/infiniband/hw/qib/qib_verbs.c

[PATCH v5 25/26] RDMA/nes: Remove old FRWR API

2015-10-13 Thread Sagi Grimberg
No ULP uses it anymore, go ahead and remove it. Signed-off-by: Sagi Grimberg Acked-by: Christoph Hellwig --- drivers/infiniband/hw/nes/nes_hw.h| 6 -- drivers/infiniband/hw/nes/nes_verbs.c | 162 +- 2 files changed, 1 insertion(+), 167 deletions(-) diff

[PATCH v5 26/26] IB/core: Remove old fast registration API

2015-10-13 Thread Sagi Grimberg
No callers and no providers left, go ahead and remove it. Signed-off-by: Sagi Grimberg Acked-by: Christoph Hellwig --- drivers/infiniband/core/verbs.c | 25 --- include/rdma/ib_verbs.h | 54 - 2 files changed, 79 deletions

[PATCH v5 15/26] IB/srp: Split srp_map_sg

2015-10-13 Thread Sagi Grimberg
This is a preparation patch for the new registration API conversion. It splits srp_map_sg per registration strategy (srp_map_sg[fmr|fr|dma]. On its own it adds some code duplication, but it makes the API switch easier to comprehend. Signed-off-by: Sagi Grimberg Tested-by: Bart Van Assche

[PATCH v2 1/2] IB/iser: set block queue_virt_boundary

2015-10-13 Thread Sagi Grimberg
rtual boundary - or, bounce buffer SG_IOs that are not aligned to the virtual boundary Since iser is working in 4K page size, set the virt_boundary to 4K pages. With this setting, we can now safely remove the bounce buffering logic in iser. Signed-off-by: Sagi Grimberg Reviewed-by: Christoph He

[PATCH v5 19/26] IB/mlx5: Remove old FRWR API support

2015-10-13 Thread Sagi Grimberg
No ULP uses it anymore, go ahead and remove it. Keep only the local invalidate part of the handlers. Signed-off-by: Sagi Grimberg Acked-by: Christoph Hellwig --- drivers/infiniband/hw/mlx5/cq.c | 3 -- drivers/infiniband/hw/mlx5/main.c| 2 - drivers/infiniband/hw/mlx5/mlx5_ib.h | 14

[PATCH v5 23/26] iw_cxgb4: Remove old FRWR API

2015-10-13 Thread Sagi Grimberg
No ULP uses it anymore, go ahead and remove it. Signed-off-by: Sagi Grimberg Acked-by: Christoph Hellwig --- drivers/infiniband/hw/cxgb4/cq.c | 2 +- drivers/infiniband/hw/cxgb4/iw_cxgb4.h | 18 drivers/infiniband/hw/cxgb4/mem.c | 45 drivers

[PATCH v5 21/26] RDMA/ocrdma: Remove old FRWR API

2015-10-13 Thread Sagi Grimberg
No ULP uses it anymore, go ahead and remove it. Signed-off-by: Sagi Grimberg Acked-by: Christoph Hellwig --- drivers/infiniband/hw/ocrdma/ocrdma_main.c | 2 - drivers/infiniband/hw/ocrdma/ocrdma_verbs.c | 104 +--- drivers/infiniband/hw/ocrdma/ocrdma_verbs.h | 4

[PATCH v5 04/26] IB/mlx4: Support the new memory registration API

2015-10-13 Thread Sagi Grimberg
, length, access flags (ib_mr) - page array (mlx4_ib_mr) - key (ib_reg_wr) The IB_WR_FAST_REG_MR handlers will be removed later when all the ULPs will be converted. Signed-off-by: Sagi Grimberg Tested-by: Christoph Hellwig --- drivers/infiniband/hw/mlx4/cq.c | 1 + drivers/infiniband/hw/mlx4

[PATCH v5 14/26] RDS/IW: Convert to new memory registration API

2015-10-13 Thread Sagi Grimberg
Get rid of fast_reg page list and its construction. Instead, just pass the RDS sg list to ib_map_mr_sg and post the new ib_reg_wr. This is done both for server IW RDMA_READ registration and the client remote key registration. Signed-off-by: Sagi Grimberg Acked-by: Christoph Hellwig Acked-by

[PATCH v5 12/26] xprtrdma: Port to new memory registration API

2015-10-13 Thread Sagi Grimberg
Instead of maintaining a fastreg page list, keep an sg table and convert an array of pages to a sg list. Then call ib_map_mr_sg and construct ib_reg_wr. Signed-off-by: Sagi Grimberg Acked-by: Christoph Hellwig Tested-by: Steve Wise Tested-by: Selvin Xavier --- net/sunrpc/xprtrdma/frwr_ops.c

[PATCH v5 16/26] IB/srp: Convert to new registration API

2015-10-13 Thread Sagi Grimberg
Instead of constructing a page list, call ib_map_mr_sg and post a new ib_reg_wr. srp_map_finish_fr now returns the number of sg elements registered. Remove srp_finish_mapping since no one is calling it. Signed-off-by: Sagi Grimberg Tested-by: Bart Van Assche --- drivers/infiniband/ulp/srp

[PATCH v5 17/26] IB/srp: Remove srp_finish_mapping

2015-10-13 Thread Sagi Grimberg
No callers left, remove it. Signed-off-by: Sagi Grimberg Tested-by: Bart Van Assche --- drivers/infiniband/ulp/srp/ib_srp.c | 10 -- 1 file changed, 10 deletions(-) diff --git a/drivers/infiniband/ulp/srp/ib_srp.c b/drivers/infiniband/ulp/srp/ib_srp.c index 6d399378928d..d4a5a9b86390

[PATCH v5 05/26] RDMA/ocrdma: Support the new memory registration API

2015-10-13 Thread Sagi Grimberg
(ib_mr) - page array (ocrdma_mr) - key (ib_reg_wr) The IB_WR_FAST_REG_MR handlers will be removed later when all the ULPs will be converted. Signed-off-by: Sagi Grimberg Acked-by: Christoph Hellwig --- drivers/infiniband/hw/ocrdma/ocrdma.h | 2 + drivers/infiniband/hw/ocrdma

[PATCH v5 03/26] IB/mlx5: Support the new memory registration API

2015-10-13 Thread Sagi Grimberg
, length, access flags (ib_mr) - page array (mlx5_ib_mr) - key (ib_reg_wr) The IB_WR_FAST_REG_MR handlers will be removed later when all the ULPs will be converted. Signed-off-by: Sagi Grimberg Acked-by: Christoph Hellwig --- drivers/infiniband/hw/mlx5/cq.c | 3 ++ drivers/infiniband/hw/mlx5

[PATCH v5 00/26] New fast registration API

2015-10-13 Thread Sagi Grimberg
de is available at: https://github.com/sagigrimberg/linux reg_api.6 Sagi Grimberg (26): IB/core: Introduce new fast registration API IB/mlx5: Remove dead fmr code IB/mlx5: Support the new memory registration API IB/mlx4: Support the new memory registration API RDMA/ocrdma: Supp

[PATCH v5 01/26] IB/core: Introduce new fast registration API

2015-10-13 Thread Sagi Grimberg
. This API will allow ULPs to remove the duplicated code of constructing a page vector from a given sg list. The send work request ib_reg_wr also shrinks as it will contain only mr, key and access flags in addition. Signed-off-by: Sagi Grimberg Tested-by: Christoph Hellwig --- drivers/infiniband

[PATCH v5 02/26] IB/mlx5: Remove dead fmr code

2015-10-13 Thread Sagi Grimberg
Just function declarations - no need for those laying arround. If for some reason someone will want FMR support in mlx5, it should be easy enough to restore a few structs. Signed-off-by: Sagi Grimberg Reviewed-by: Bart Van Assche Acked-by: Christoph Hellwig --- drivers/infiniband/hw/mlx5

[PATCH v5 09/26] RDMA/nes: Support the new memory registration API

2015-10-13 Thread Sagi Grimberg
) - page array (nes_mr) - key, access flags (ib_reg_wr) The IB_WR_FAST_REG_MR handlers will be removed later when all the ULPs will be converted. Signed-off-by: Sagi Grimberg Acked-by: Christoph Hellwig --- drivers/infiniband/hw/nes/nes_verbs.c | 117 +- drivers

[PATCH v5 07/26] iw_cxgb4: Support the new memory registration API

2015-10-13 Thread Sagi Grimberg
(c4iw_mr) - key, access flags (ib_reg_wr) The IB_WR_FAST_REG_MR handlers will be removed later when all the ULPs will be converted. Signed-off-by: Sagi Grimberg Acked-by: Christoph Hellwig Tested-by: Steve Wise --- drivers/infiniband/hw/cxgb4/iw_cxgb4.h | 7 drivers/infiniband/hw/cxgb4

[PATCH v5 06/26] RDMA/cxgb3: Support the new memory registration API

2015-10-13 Thread Sagi Grimberg
(iwch_mr) - key, access flags (ib_reg_wr) The IB_WR_FAST_REG_MR handlers will be removed later when all the ULPs will be converted. Signed-off-by: Sagi Grimberg Acked-by: Christoph Hellwig --- drivers/infiniband/hw/cxgb3/iwch_provider.c | 33 drivers/infiniband/hw/cxgb3

[PATCH v4 00/26] New fast registration API

2015-10-12 Thread Sagi Grimberg
(as it isn't supported anyway). I assume that the correct place to get the support back would be in a shared SW library (hfi1, qib, rxe). - Updated the change logs The code is available at: https://github.com/sagigrimberg/linux/tree/reg_api.6 Sagi Grimberg (26): IB/core: Introduce new fas

[PATCH v4 05/26] RDMA/ocrdma: Support the new memory registration API

2015-10-12 Thread Sagi Grimberg
(ib_mr) - page array (ocrdma_mr) - key (ib_reg_wr) The IB_WR_FAST_REG_MR handlers will be removed later when all the ULPs will be converted. Signed-off-by: Sagi Grimberg Acked-by: Christoph Hellwig --- drivers/infiniband/hw/ocrdma/ocrdma.h | 2 + drivers/infiniband/hw/ocrdma

[PATCH v4 09/26] RDMA/nes: Support the new memory registration API

2015-10-12 Thread Sagi Grimberg
) - page array (nes_mr) - key, access flags (ib_reg_wr) The IB_WR_FAST_REG_MR handlers will be removed later when all the ULPs will be converted. Signed-off-by: Sagi Grimberg Acked-by: Christoph Hellwig --- drivers/infiniband/hw/nes/nes_verbs.c | 117 +- drivers

[PATCH v4 04/26] IB/mlx4: Support the new memory registration API

2015-10-12 Thread Sagi Grimberg
, length, access flags (ib_mr) - page array (mlx4_ib_mr) - key (ib_reg_wr) The IB_WR_FAST_REG_MR handlers will be removed later when all the ULPs will be converted. Signed-off-by: Sagi Grimberg Tested-by: Christoph Hellwig --- drivers/infiniband/hw/mlx4/cq.c | 1 + drivers/infiniband/hw/mlx4

[PATCH v4 15/26] IB/srp: Split srp_map_sg

2015-10-12 Thread Sagi Grimberg
This is a preparation patch for the new registration API conversion. It splits srp_map_sg per registration strategy (srp_map_sg[fmr|fr|dma]. On its own it adds some code duplication, but it makes the API switch easier to comprehend. Signed-off-by: Sagi Grimberg Tested-by: Bart Van Assche

[PATCH v4 19/26] IB/mlx5: Remove old FRWR API support

2015-10-12 Thread Sagi Grimberg
No ULP uses it anymore, go ahead and remove it. Keep only the local invalidate part of the handlers. Signed-off-by: Sagi Grimberg Acked-by: Christoph Hellwig --- drivers/infiniband/hw/mlx5/cq.c | 3 -- drivers/infiniband/hw/mlx5/main.c| 2 - drivers/infiniband/hw/mlx5/mlx5_ib.h | 14

[PATCH v4 24/26] IB/qib: Remove old FRWR API

2015-10-12 Thread Sagi Grimberg
No ULP uses it anymore, go ahead and remove it. Signed-off-by: Sagi Grimberg Acked-by: Christoph Hellwig --- drivers/infiniband/hw/qib/qib_keys.c | 56 --- drivers/infiniband/hw/qib/qib_mr.c| 32 +--- drivers/infiniband/hw/qib/qib_verbs.c

[PATCH v4 25/26] RDMA/nes: Remove old FRWR API

2015-10-12 Thread Sagi Grimberg
No ULP uses it anymore, go ahead and remove it. Signed-off-by: Sagi Grimberg Acked-by: Christoph Hellwig --- drivers/infiniband/hw/nes/nes_hw.h| 6 -- drivers/infiniband/hw/nes/nes_verbs.c | 162 +- 2 files changed, 1 insertion(+), 167 deletions(-) diff

[PATCH v4 20/26] IB/mlx4: Remove old FRWR API support

2015-10-12 Thread Sagi Grimberg
No ULP uses it anymore, go ahead and remove it. Signed-off-by: Sagi Grimberg Acked-by: Christoph Hellwig --- drivers/infiniband/hw/mlx4/cq.c | 3 +-- drivers/infiniband/hw/mlx4/main.c| 2 -- drivers/infiniband/hw/mlx4/mlx4_ib.h | 15 --- drivers/infiniband/hw/mlx4/mr.c

[PATCH v4 10/26] IB/iser: Port to new fast registration API

2015-10-12 Thread Sagi Grimberg
Remove fastreg page list allocation as the page vector is now private to the provider. Instead of constructing the page list and fast_req work request, call ib_map_mr_sg and construct ib_reg_wr. Signed-off-by: Sagi Grimberg Acked-by: Christoph Hellwig --- drivers/infiniband/ulp/iser

[PATCH v4 11/26] iser-target: Port to new memory registration API

2015-10-12 Thread Sagi Grimberg
Remove fastreg page list allocation as the page vector is now private to the provider. Instead of constructing the page list and fast_req work request, call ib_map_mr_sg and construct ib_reg_wr. Signed-off-by: Sagi Grimberg Acked-by: Christoph Hellwig --- drivers/infiniband/ulp/isert

[PATCH v4 23/26] iw_cxgb4: Remove old FRWR API

2015-10-12 Thread Sagi Grimberg
No ULP uses it anymore, go ahead and remove it. Signed-off-by: Sagi Grimberg Acked-by: Christoph Hellwig --- drivers/infiniband/hw/cxgb4/cq.c | 2 +- drivers/infiniband/hw/cxgb4/iw_cxgb4.h | 18 drivers/infiniband/hw/cxgb4/mem.c | 45 drivers

[PATCH v4 21/26] RDMA/ocrdma: Remove old FRWR API

2015-10-12 Thread Sagi Grimberg
No ULP uses it anymore, go ahead and remove it. Signed-off-by: Sagi Grimberg Acked-by: Christoph Hellwig --- drivers/infiniband/hw/ocrdma/ocrdma_main.c | 2 - drivers/infiniband/hw/ocrdma/ocrdma_verbs.c | 104 +--- drivers/infiniband/hw/ocrdma/ocrdma_verbs.h | 4

[PATCH v4 14/26] RDS/IW: Convert to new memory registration API

2015-10-12 Thread Sagi Grimberg
Get rid of fast_reg page list and its construction. Instead, just pass the RDS sg list to ib_map_mr_sg and post the new ib_reg_wr. This is done both for server IW RDMA_READ registration and the client remote key registration. Signed-off-by: Sagi Grimberg Acked-by: Christoph Hellwig Acked-by

[PATCH v4 18/26] IB/srp: Dont allocate a page vector when using fast_reg

2015-10-12 Thread Sagi Grimberg
The new fast registration API does not reuqire a page vector so we can't avoid allocating it. Signed-off-by: Sagi Grimberg Tested-by: Bart Van Assche --- drivers/infiniband/ulp/srp/ib_srp.c | 20 +++- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/dr

[PATCH v4 12/26] xprtrdma: Port to new memory registration API

2015-10-12 Thread Sagi Grimberg
Instead of maintaining a fastreg page list, keep an sg table and convert an array of pages to a sg list. Then call ib_map_mr_sg and construct ib_reg_wr. Signed-off-by: Sagi Grimberg Acked-by: Christoph Hellwig Acked-by: Anna Schumaker Tested-by: Steve Wise Tested-by: Selvin Xavier --- Note

[PATCH v4 13/26] svcrdma: Port to new memory registration API

2015-10-12 Thread Sagi Grimberg
Instead of maintaining a fastreg page list, keep an sg table and convert an array of pages to a sg list. Then call ib_map_mr_sg and construct ib_reg_wr. Signed-off-by: Sagi Grimberg Acked-by: Christoph Hellwig Tested-by: Steve Wise Tested-by: Selvin Xavier --- include/linux/sunrpc/svc_rdma.h

[PATCH v4 22/26] RDMA/cxgb3: Remove old FRWR API

2015-10-12 Thread Sagi Grimberg
No ULP uses it anymore, go ahead and remove it. Signed-off-by: Sagi Grimberg Acked-by: Christoph Hellwig --- drivers/infiniband/hw/cxgb3/iwch_cq.c | 2 +- drivers/infiniband/hw/cxgb3/iwch_provider.c | 24 --- drivers/infiniband/hw/cxgb3/iwch_qp.c | 47

[PATCH v4 07/26] iw_cxgb4: Support the new memory registration API

2015-10-12 Thread Sagi Grimberg
(c4iw_mr) - key, access flags (ib_reg_wr) The IB_WR_FAST_REG_MR handlers will be removed later when all the ULPs will be converted. Signed-off-by: Sagi Grimberg Acked-by: Christoph Hellwig Tested-by: Steve Wise --- drivers/infiniband/hw/cxgb4/iw_cxgb4.h | 7 drivers/infiniband/hw/cxgb4

[PATCH v4 17/26] IB/srp: Remove srp_finish_mapping

2015-10-12 Thread Sagi Grimberg
No callers left, remove it. Signed-off-by: Sagi Grimberg Tested-by: Bart Van Assche --- drivers/infiniband/ulp/srp/ib_srp.c | 10 -- 1 file changed, 10 deletions(-) diff --git a/drivers/infiniband/ulp/srp/ib_srp.c b/drivers/infiniband/ulp/srp/ib_srp.c index 6d399378928d..d4a5a9b86390

[PATCH v4 03/26] IB/mlx5: Support the new memory registration API

2015-10-12 Thread Sagi Grimberg
, length, access flags (ib_mr) - page array (mlx5_ib_mr) - key (ib_reg_wr) The IB_WR_FAST_REG_MR handlers will be removed later when all the ULPs will be converted. Signed-off-by: Sagi Grimberg Acked-by: Christoph Hellwig --- drivers/infiniband/hw/mlx5/cq.c | 3 ++ drivers/infiniband/hw/mlx5

[PATCH v4 26/26] IB/core: Remove old fast registration API

2015-10-12 Thread Sagi Grimberg
No callers and no providers left, go ahead and remove it. Signed-off-by: Sagi Grimberg Acked-by: Christoph Hellwig --- drivers/infiniband/core/verbs.c | 25 --- include/rdma/ib_verbs.h | 54 - 2 files changed, 79 deletions

[PATCH v4 02/26] IB/mlx5: Remove dead fmr code

2015-10-12 Thread Sagi Grimberg
Just function declarations - no need for those laying arround. If for some reason someone will want FMR support in mlx5, it should be easy enough to restore a few structs. Signed-off-by: Sagi Grimberg Reviewed-by: Bart Van Assche Acked-by: Christoph Hellwig --- drivers/infiniband/hw/mlx5

[PATCH v4 16/26] IB/srp: Convert to new registration API

2015-10-12 Thread Sagi Grimberg
Instead of constructing a page list, call ib_map_mr_sg and post a new ib_reg_wr. srp_map_finish_fr now returns the number of sg elements registered. Remove srp_finish_mapping since no one is calling it. Signed-off-by: Sagi Grimberg Tested-by: Bart Van Assche --- drivers/infiniband/ulp/srp

[PATCH v4 01/26] IB/core: Introduce new fast registration API

2015-10-12 Thread Sagi Grimberg
. This API will allow ULPs to remove the duplicated code of constructing a page vector from a given sg list. The send work request ib_reg_wr also shrinks as it will contain only mr, key and access flags in addition. Signed-off-by: Sagi Grimberg Tested-by: Christoph Hellwig --- drivers/infiniband

[PATCH v4 06/26] RDMA/cxgb3: Support the new memory registration API

2015-10-12 Thread Sagi Grimberg
(iwch_mr) - key, access flags (ib_reg_wr) The IB_WR_FAST_REG_MR handlers will be removed later when all the ULPs will be converted. Signed-off-by: Sagi Grimberg Acked-by: Christoph Hellwig --- drivers/infiniband/hw/cxgb3/iwch_provider.c | 33 drivers/infiniband/hw/cxgb3

[PATCH v4 08/26] IB/qib: Support the new memory registration API

2015-10-12 Thread Sagi Grimberg
(qib_mr) - key, access flags (ib_reg_wr) The IB_WR_FAST_REG_MR handlers will be removed later when all the ULPs will be converted. Signed-off-by: Sagi Grimberg Acked-by: Christoph Hellwig --- drivers/infiniband/hw/qib/qib_keys.c | 56 +++ drivers/infiniband/hw

Re: merge struct ib_device_attr into struct ib_device V2

2015-10-12 Thread Sagi Grimberg
On 10/12/2015 9:57 AM, Christoph Hellwig wrote: This patch gets rid of struct ib_device_attr and cleans up drivers nicely. It goes on top of my send_wr cleanups and the memory registration udpates from Sagi. Changes since V1: - rebased on top of the Sagi's latest reg_api.6 branch Christoph

Possible circular locking when unloading device driver

2015-10-12 Thread Sagi Grimberg
Hey, I stepped on this lockdep circular locking complaint on 4.3-rc when unloading the device driver (mlx5 in my case). Has anyone seen this? I have seen such warnings with kernfs_mutex when deleting iscsi devices on the fly. I wander if kernfs_remove() should use mutex_lock_nested? output: ke

Re: Seeing WARN_ON in ib_dealloc_pd from ipoib in kernel 4.3-rc1-debug

2015-10-12 Thread Sagi Grimberg
struct net_device *dev = mcast->dev; int tx_dropped = 0; Hey Christoph, Thanks for the quick patch. When you re-spin this as a proper patch you can add my: Tested-by: Sagi Grimberg -- To unsubscribe from this list: send the line "unsubscribe linux-rdma&qu

Re: [PATCH v1 1/2] IB/iser: set block queue_virt_boundary

2015-10-11 Thread Sagi Grimberg
What happens now when an app wants to use 1K, 2K, 3K IOs? they can only use 1/4, 1/2 or 3/4 of the available memory for these transactions? What? I'm not sure what you are talking about. what available memory? and we are going to fix it with devices like mlx5 over the new API you're proposing,

Re: [PATCH] IB: merge struct ib_device_attr into struct ib_device

2015-10-11 Thread Sagi Grimberg
I can do a rebase to whatever you want. Initially this was over your reg_api branch. Is a rebase to the latest reg_api.6 fine? That would be great. Sagi. -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majord...@vger.kernel.org More majord

<    1   2   3   4   5   6   7   8   9   10   >