On 9/24/2015 4:35 PM, Christoph Hellwig wrote:
On Thu, Sep 24, 2015 at 08:41:17AM +0300, Or Gerlitz wrote:
We had a smaller volume move to cache the device attributes on the IB
device structure, and I just
realized it was dropped on the floor. Ira, that was a reviewer comment you
got when worke
Yes. I'm seeing this too. The last time this popped up I fixed it by
adding the code for reaping ahs. I suspect that the new code to timeout
sendonly multicast joins combined with us now creating and joining what
used to be sendonly groups is the likely culprit here.
Is someone looking at
On 10/11/2015 6:35 PM, Sagi Grimberg wrote:
iser can handle it and it can dramatically reduce the
number of SG elements. It doesn't make much of a difference at
the moment, but with arbitrary SG list support it will benefit
greatly.
Bahh, I updated the change-log in the previous rev
h set.
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/iser/iscsi_iser.c | 14 +-
drivers/infiniband/ulp/iser/iscsi_iser.h | 7 +-
drivers/infiniband/ulp
By limiting the sg lists that we are allowing to meet
and 4k virtual boundary, we can completely remove the
entire bounce buffering logic.
Signed-off-by: Sagi Grimberg
Reviewed-by: Christoph Hellwig
Cc: Jens Axboe
Cc: Martin K. Petersen
---
drivers/infiniband/ulp/iser/iscsi_iser.c | 12
iser can handle it and it can dramatically reduce the
number of SG elements. It doesn't make much of a difference at
the moment, but with arbitrary SG list support it will benefit
greatly.
Signed-off-by: Sagi Grimberg
---
drivers/infiniband/ulp/iser/iscsi_iser.c | 2 +-
1 file chang
but with arbitrary SG list support it will benefit greatly.
Y? please put some wording here to clarify.
Well, because when a device will accept true SG lists then
it would benefit the HCA caching/fetching to have less SG elements.
I'll add a sentence to the change log.
--
To unsubscribe from
On 10/10/2015 10:33 PM, Or Gerlitz wrote:
On Sat, Oct 10, 2015 at 3:27 AM, Sagi Grimberg wrote:
The block layer reliably enforces no SG lists with gaps
to a 4k virtual boundary so we can completely remove the
entire bounce buffering logic.
Hi Sagi,
Hey Or,
(Very) nice cleanup -- so
out_list_err:
- rc = PTR_ERR(f->fr_pgl);
+ rc = -ENOMEM;
dprintk("RPC: %s: ib_alloc_fast_reg_page_list status %i\n”,
Should you update this debugging message?
Yes I will.
+ n = ib_map_mr_sg(mr, frmr->sg, frmr->sg_nents, PAGE_SIZE);
+ if (unlikely(n !=
h set.
Sagi Grimberg (2):
iser: set block queue_virt_boundary
IB/iser: Enable SG clustering
drivers/infiniband/ulp/iser/iscsi_iser.c | 14 +-
drivers/infiniband/ulp/iser/iscsi_iser.h | 7 +-
drivers/infiniband/ulp/iser/iser_initiator.c | 51 +
drivers/infiniband/ulp/iser/iser_mem
iser can handle it and it can dramatically reduce the
number of SG elements. It doesn't make much of a difference at
the moment, but with arbitrary SG list support it will benefit
greatly.
Signed-off-by: Sagi Grimberg
---
drivers/infiniband/ulp/iser/iscsi_iser.c | 2 +-
1 file chang
The block layer reliably enforces no SG lists with gaps
to a 4k virtual boundary so we can completely remove the
entire bounce buffering logic.
Signed-off-by: Sagi Grimberg
---
drivers/infiniband/ulp/iser/iscsi_iser.c | 12 +-
drivers/infiniband/ulp/iser/iscsi_iser.h | 7 +-
drivers
On 10/8/2015 11:01 AM, Christoph Hellwig wrote:
On Thu, Oct 08, 2015 at 10:50:43AM +0300, Sagi Grimberg wrote:
- Rebased against Doug's for-4.4 tree (4.3.0-rc1) + 4.3-rc fixes
Does this means its not on top of the send_wr changes now? I'm fine
with that as I think your series is
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
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
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
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
(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
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
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
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
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
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
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
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
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
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
, 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
(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
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
)
- 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
, 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
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
.
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
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
(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
ck 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 fast registration API
IB/mlx5: Remove dead fmr code
IB/mlx5: Support the new memory registra
&m=143677002622296&w=2).
Signed-off-by: Sagi Grimberg
Acked-by: Christoph Hellwig
Tested-by: Steve Wise
Tested-by: Selvin Xavier
---
net/sunrpc/xprtrdma/frwr_ops.c | 112 +++-
net/sunrpc/xprtrdma/xprt_rdma.h | 3 +-
2 files changed, 67 insertion
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
(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
This started popping up (not sure if it's new to 4.3-rc1).
Happens when unloading the provider driver (mlx4/mlx5 in my case).
Has anyone seen this?
kernel: [ cut here ]
kernel: WARNING: CPU: 2 PID: 6012 at drivers/infiniband/core/verbs.c:283
ib_dealloc_pd+0x5b/0xa0 [ib_
On 10/7/2015 6:46 PM, Bart Van Assche wrote:
On 10/06/2015 11:42 PM, Sagi Grimberg wrote:
On 10/6/2015 9:49 PM, Bart Van Assche wrote:
On 10/06/2015 01:37 AM, Sagi Grimberg wrote:
I see now the error you are referring to.
The issue is that the device requires the MR page array to have
an
On 10/7/2015 5:48 PM, Chuck Lever wrote:
On Oct 7, 2015, at 10:39 AM, Sagi Grimberg wrote:
On 10/6/2015 5:59 PM, Chuck Lever wrote:
The reply tasklet is fast, but it's single threaded. After reply
traffic saturates a single CPU, there's no more reply processing
capacity.
R
On 10/6/2015 5:59 PM, Chuck Lever wrote:
The reply tasklet is fast, but it's single threaded. After reply
traffic saturates a single CPU, there's no more reply processing
capacity.
Replace the tasklet with a workqueue to spread reply handling across
all CPUs. This also moves RPC/RDMA reply hand
On 10/7/2015 3:29 PM, Arnd Bergmann wrote:
The INIT_UDATA() macro requires a pointer or unsigned long argument for
both input and output buffer, and all callers had a cast from when
the code was merged until a recent restructuring, so now we get
core/uverbs_cmd.c: In function 'ib_uverbs_create_c
I don't really care either way, it just seemed like an odd change hiding
in here that I missed when reviewing earlier.
OK, so I'm sticking with it until someone suggests otherwise.
Sagi.
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majord.
On 10/7/2015 12:20 PM, Christoph Hellwig wrote:
On Tue, Oct 06, 2015 at 11:37:40AM +0300, Sagi Grimberg wrote:
The issue is that the device requires the MR page array to have
an alignment (0x40 for mlx4 and 0x400 for mlx5). When I modified the
page array allocation to be non-coherent I didn
On 10/6/2015 9:49 PM, Bart Van Assche wrote:
On 10/06/2015 01:37 AM, Sagi Grimberg wrote:
I see now the error you are referring to.
The issue is that the device requires the MR page array to have
an alignment (0x40 for mlx4 and 0x400 for mlx5). When I modified the
page array allocation to be
Then I have to see if any of the currently posted fixes for 4.3rc that I
haven't grabbed yet
resolve the iSER issue I'm seeing, then I'll move on to for-next processing.
Anything I can help with Doug?
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a mess
place global lkey with lkey local to PD")
Signed-off-by: Sagi Grimberg
Reviewed-by: Chuck Lever
---
Changes from v0:
- Added error path rc assignment.
net/sunrpc/xprtrdma/verbs.c |8 +++-
1 files changed, 3 insertions(+), 5 deletions(-)
diff --git a/net/sunrpc/xprtrdma/verbs.c b/
On 10/6/2015 6:05 PM, Chuck Lever wrote:
Hi Sagi-
On Oct 6, 2015, at 5:48 AM, Sagi Grimberg wrote:
There is no need to require LOCAL_DMA_LKEY support in order to
use fast registration as the PD allocation makes sure that there
is a local_dma_lkey.
In other words, all devices now have a
lkey with lkey local to PD")
Signed-off-by: Sagi Grimberg
---
net/sunrpc/xprtrdma/verbs.c |7 ++-
1 files changed, 2 insertions(+), 5 deletions(-)
diff --git a/net/sunrpc/xprtrdma/verbs.c b/net/sunrpc/xprtrdma/verbs.c
index eb081ad..7efd9ef 100644
--- a/net/sunrpc/xprtrdma/verbs.c
On 10/2/2015 6:37 PM, Bart Van Assche wrote:
On 10/01/2015 11:14 PM, Sagi Grimberg wrote:
Would you mind sending me your .config?
Hello Sagi,
Hi Bart,
I just sent this .config file to you off-list.
I see now the error you are referring to.
The issue is that the device requires the MR
-off-by: Chuck Lever
---
Looks correct,
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
On 10/4/2015 12:00 PM, Geliang Tang wrote:
Just fix a typo in the code comment.
Signed-off-by: Geliang Tang
Acked-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
Just this morning (my morning) I tested the v2 set on iser, srp, nfs. I
placed that in branch reg_api.5. Would you mind running reg_api.5 and
see if this issue persist (I would be surprised because I haven't seen
any sign of it)?
Sorry but I still see these messages with the reg_api.5 branch.
Hi Bart,
How has the converted SRP initiator driver been tested ? With the kernel
tree that is available on branch reg_api.4
That's odd. Although I haven't formally submitted reg_api.4 yet, I did
test ib_srp initiator against upstream srpt over CX3 (mlx4) and CX4
(mlx5). I ran connect, disconn
On 9/29/2015 10:03 PM, Bart Van Assche wrote:
On 09/17/2015 02:42 AM, Sagi Grimberg wrote:
- Converted SRP initiator and RDS iwarp ULPs to the new API
Hello Sagi,
Hi Bart,
How has the converted SRP initiator driver been tested ? With the kernel
tree that is available on branch reg_api.4
Shouldn't higher layers take care of this? Trying to implement the same
coalescing algorithm at various layers isn't very optimal, although we
need to decide and document which one is responsible.
The block layer can take care of it, but I'm not sure about NFS/RDS at
the moment (IIRC Steve spec
On 9/28/2015 11:57 PM, Bart Van Assche wrote:
On 09/24/2015 12:37 AM, Sagi Grimberg wrote:
On 9/23/2015 12:21 AM, Bart Van Assche wrote:
On 09/17/2015 02:42 AM, Sagi Grimberg wrote:
+} else if (last_page_off + dma_len < mr->page_size) {
+/* chunk this fragmen
On 9/29/2015 9:47 AM, Sagi Grimberg wrote:
Shouldn't higher layers take care of this? Trying to implement the same
coalescing algorithm at various layers isn't very optimal, although we
need to decide and document which one is responsible.
The block layer can take care of it, but I&
On 9/25/2015 7:51 PM, Chuck Lever wrote:
On Sep 24, 2015, at 10:34 AM, Sagi Grimberg wrote:
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.
Note that the next step would be to have NFS
On 9/25/2015 7:34 PM, Bart Van Assche wrote:
On 09/24/2015 10:35 AM, Sagi Grimberg wrote:
Remove srp_finish_mapping since no one is calling it.
Please move the srp_finish_mapping() removal into a separate patch.
Moved, thanks.
--
To unsubscribe from this list: send the line "unsubs
On 9/25/2015 7:15 PM, Bart Van Assche wrote:
On 09/24/2015 10:35 AM, Sagi Grimberg wrote:
This is a perparation patch for the new registration API
^ preparation ?
Fixed, thanks.
+WARN_ON_ONCE(!dev->use_fmr);
+
+if (state->npages == 0)
+return 0;
+
+
according to the
device id (until we have a FW bit that correctly exposes it).
Signed-off-by: Sagi Grimberg
---
drivers/infiniband/hw/mlx5/main.c| 4 +++
drivers/infiniband/hw/mlx5/mlx5_ib.h | 1 +
drivers/infiniband/hw/mlx5/mr.c | 50 +++-
drivers/infiniband/hw
memory region which is capable of handling
SG lists with gaps.
Signed-off-by: Sagi Grimberg
---
drivers/infiniband/core/verbs.c | 2 ++
include/rdma/ib_verbs.h | 10 ++
2 files changed, 12 insertions(+)
diff --git a/drivers/infiniband/core/verbs.c b/drivers/infiniband/core/verbs.c
type which is capable of handling
SG lists with gaps (pending on the device capability).
The code is available at:
https://github.com/sagigrimberg/linux/tree/arb_sg.1
Sagi Grimberg (3):
IB/core: Add arbitrary sg_list support
mlx5: Add arbitrary sg list support
iser: Accept arbitrary sg lists
Not sure how a second set glitched in, my mail server
flipped I guess
Sorry for the double send.
Sagi.
--
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.
If the device support arbitrary sg list mapping (device cap
IB_DEVICE_SG_GAPS_REG set) we allocate the memory regions with
IB_MR_MAP_SG_GAPS_REG and allow the block layer to pass us
gaps by skip setting the queue virt_boundary.
Signed-off-by: Sagi Grimberg
---
drivers/infiniband/ulp/iser
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
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
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
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
The new fast registration API does not reuqire a page vector
so we can't avoid allocating it.
Signed-off-by: Sagi Grimberg
---
drivers/infiniband/ulp/srp/ib_srp.c | 20 +++-
1 file changed, 11 insertions(+), 9 deletions(-)
diff --git a/drivers/infiniband/ulp/srp/ib_srp
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
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
The new fast registration API does not reuqire a page vector
so we can't avoid allocating it.
Signed-off-by: Sagi Grimberg
---
drivers/infiniband/ulp/srp/ib_srp.c | 20 +++-
1 file changed, 11 insertions(+), 9 deletions(-)
diff --git a/drivers/infiniband/ulp/srp/ib_srp
&m=143677002622296&w=2).
Signed-off-by: Sagi Grimberg
Acked-by: Christoph Hellwig
---
net/sunrpc/xprtrdma/frwr_ops.c | 113 +++-
net/sunrpc/xprtrdma/xprt_rdma.h | 3 +-
2 files changed, 68 insertions(+), 48 deletions(-)
diff --git a/net/sunrpc/
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
---
include/linux/sunrpc/svc_rdma.h | 6 +--
net/sunrpc/xprtrdma
It wasn't supported before as well (post_send
returned -EINVAL for IB_WR_FAST_REG_MR). Perhaps
the new API adoption will be joint for all IB SW
implementations.
Signed-off-by: Sagi Grimberg
Acked-by: Christoph Hellwig
---
drivers/staging/hfi1/keys.c
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
This is a perparation 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
---
drivers/infiniband/ulp/srp
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
)
- 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
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
It wasn't supported before as well (post_send
returned -EINVAL for IB_WR_FAST_REG_MR). Perhaps
the new API adoption will be joint for all IB SW
implementations.
Signed-off-by: Sagi Grimberg
Acked-by: Christoph Hellwig
---
drivers/staging/hfi1/keys.c
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
---
net
.
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
Tested-by: Signed-off
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
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
---
drivers/infiniband/ulp/srp/ib_srp.c | 135
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
(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
o other HW devices (qib, nes) nor iwarp devices so RDS is
compile tested only. Santosh reports
I'm targeting this to 4.4 so I'll appreciate more feedback and a bigger testing
coverage.
The code is available at: https://github.com/sagigrimberg/linux/tree/reg_api.4
Sagi Grimberg (26):
, 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
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
---
net
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
(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
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
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
, 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
301 - 400 of 1318 matches
Mail list logo