Can you spare a few words on this change in the change log?
Signed-off-by: Bart Van Assche <bart.vanass...@sandisk.com>
Cc: Sagi Grimberg <sa...@mellanox.com>
Cc: Sebastian Parschauer <sebastian.rie...@profitbricks.com>
---
drivers/infiniband/ulp/srp/ib_srp.c | 2 ++
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
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 even more
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 <sa...@mellanox.com>
Acked-by: Christoph Hellwig <h...@lst.de>
Tested-by: Steve Wise <sw...@opengr
)
- 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 <sa...@mellanox.com>
Acked-by: Christoph Hellwig <h...@lst.de>
---
drivers/infiniband/hw/nes/nes_v
, 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 <sa...@mellanox.com>
Acked-by: Christoph Hellwig <h...@lst.de>
---
drivers/infiniband/hw/mlx5/cq
(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 <sa...@mellanox.com>
Acked-by: Christoph Hellwig <h...@lst.de>
---
drivers/infiniband/hw/ocrdma/ocrdma.h |
uld
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 registration API
IB/m
=143677002622296=2).
Signed-off-by: Sagi Grimberg <sa...@mellanox.com>
Acked-by: Christoph Hellwig <h...@lst.de>
Tested-by: Steve Wise <sw...@opengridcomputing.com>
Tested-by: Selvin Xavier <selvin.xav...@avagotech.com>
---
net/sunrpc/xp
(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 <sa...@mellanox.com>
Acked-by: Christoph Hellwig <h...@lst.de>
---
drivers/infiniband/hw/cxgb3/iwch_pro
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 <sa...@mellanox.com>
Reviewed-by: Bart Van Assche <bart.vanass...@sandisk.c
No ULP uses it anymore, go ahead and remove it.
Keep only the local invalidate part of the handlers.
Signed-off-by: Sagi Grimberg <sa...@mellanox.com>
Acked-by: Christoph Hellwig <h...@lst.de>
---
drivers/infiniband/hw/mlx5/cq.c | 3 --
drivers/infiniband/hw/mlx5/main.c|
No ULP uses it anymore, go ahead and remove it.
Signed-off-by: Sagi Grimberg <sa...@mellanox.com>
Acked-by: Christoph Hellwig <h...@lst.de>
---
drivers/infiniband/hw/mlx4/cq.c | 3 +--
drivers/infiniband/hw/mlx4/main.c| 2 --
drivers/infiniband/hw/mlx4/ml
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 <sa...@mellanox.com>
Acked-by: Chr
(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 <sa...@mellanox.com>
Acked-by: Christoph Hellwig <h...@lst.de>
---
drivers/infiniband/hw/qib/qib_
No ULP uses it anymore, go ahead and remove it.
Signed-off-by: Sagi Grimberg <sa...@mellanox.com>
Acked-by: Christoph Hellwig <h...@lst.de>
---
drivers/infiniband/hw/qib/qib_keys.c | 56 ---
drivers/infiniband/hw/qib/qib_mr.c| 32 +
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 <sa...@mellanox.com>
Tested-by: Bart Van Assche <ba
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 <sa...@mellanox.com>
The new fast registration API does not reuqire a page vector
so we can't avoid allocating it.
Signed-off-by: Sagi Grimberg <sa...@mellanox.com>
Tested-by: Bart Van Assche <bart.vanass...@sandisk.com>
---
drivers/infiniband/ulp/srp/ib_srp.c | 20 +++-
1 file changed, 1
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 <sa...@mellanox.com>
Acked-by: Christoph Hellwig <h.
.
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 <sa...@mellanox.com>
Tested-by: Christoph Hell
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 <sa...@mellanox.com>
Acked-by: Christoph Hellwig <h.
, 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 <sa...@mellanox.com>
Tested-by: Christoph Hellwig <h...@lst.de>
---
drivers/infiniband/
No callers left, remove it.
Signed-off-by: Sagi Grimberg <sa...@mellanox.com>
Tested-by: Bart Van Assche <bart.vanass...@sandisk.com>
---
drivers/infiniband/ulp/srp/ib_srp.c | 10 --
1 file changed, 10 deletions(-)
diff --git a/drivers/infiniband/ulp/srp/ib_srp.c
b/driver
No ULP uses it anymore, go ahead and remove it.
Signed-off-by: Sagi Grimberg <sa...@mellanox.com>
Acked-by: Christoph Hellwig <h...@lst.de>
---
drivers/infiniband/hw/cxgb4/cq.c | 2 +-
drivers/infiniband/hw/cxgb4/iw_cxgb4.h | 18
drivers/infiniband/hw/cxgb4/mem
No callers and no providers left, go ahead and remove it.
Signed-off-by: Sagi Grimberg <sa...@mellanox.com>
Acked-by: Christoph Hellwig <h...@lst.de>
---
drivers/infiniband/core/verbs.c | 25 ---
include/rdma/ib_verbs.h | 54
No ULP uses it anymore, go ahead and remove it.
Signed-off-by: Sagi Grimberg <sa...@mellanox.com>
Acked-by: Christoph Hellwig <h...@lst.de>
---
drivers/infiniband/hw/nes/nes_hw.h| 6 --
drivers/infiniband/hw/nes/nes_verbs.c | 162 +-
2 file
(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 <sa...@mellanox.com>
Acked-by: Christoph Hellwig <h...@lst.de>
Tested-by: Steve Wise <sw...@opengridcomputing.co
No ULP uses it anymore, go ahead and remove it.
Signed-off-by: Sagi Grimberg <sa...@mellanox.com>
Acked-by: Christoph Hellwig <h...@lst.de>
---
drivers/infiniband/hw/cxgb3/iwch_cq.c | 2 +-
drivers/infiniband/hw/cxgb3/iwch_provider.c | 24 ---
drivers/infinib
No ULP uses it anymore, go ahead and remove it.
Signed-off-by: Sagi Grimberg <sa...@mellanox.com>
Acked-by: Christoph Hellwig <h...@lst.de>
---
drivers/infiniband/hw/ocrdma/ocrdma_main.c | 2 -
drivers/infiniband/hw/ocrdma/ocrdma_verbs.c | 104 +---
driver
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
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
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
On 10/20/2015 5:08 PM, Or Gerlitz wrote:
On Tue, Oct 20, 2015 at 4:08 PM, Sagi Grimberg <sa...@dev.mellanox.co.il> 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
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
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
On 10/10/2015 10:33 PM, Or Gerlitz wrote:
On Sat, Oct 10, 2015 at 3:27 AM, Sagi Grimberg <sa...@mellanox.com> 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,
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
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 <sa...@mellanox.com>
Reviewed-by: Christoph Hellwig <h...@lst.de>
Cc: Jens Axboe <ax...@kernel.dk>
Cc:
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 <sa...@mellanox.com>
---
drivers/infiniband/ulp/iser/iscsi_iser.c | 2
.
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/iser
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 revision
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
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 <sa...@mellanox.com>
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma"
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:
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
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
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
, 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 <sa...@mellanox.com>
Tested-by: Christoph Hellwig <h...@lst.de>
---
drivers/infiniband/
n'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 fast registration
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 <sa...@mellanox.com>
Tested-by: Bart Van Assche <ba
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 <sa...@mellanox.com>
Reviewed-by: Bart Van Assche <bart.vanass...@sandisk.c
No callers left, remove it.
Signed-off-by: Sagi Grimberg <sa...@mellanox.com>
Tested-by: Bart Van Assche <bart.vanass...@sandisk.com>
---
drivers/infiniband/ulp/srp/ib_srp.c | 10 --
1 file changed, 10 deletions(-)
diff --git a/drivers/infiniband/ulp/srp/ib_srp.c
b/driver
, 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 <sa...@mellanox.com>
Acked-by: Christoph Hellwig <h...@lst.de>
---
drivers/infiniband/hw/mlx5/cq
No callers and no providers left, go ahead and remove it.
Signed-off-by: Sagi Grimberg <sa...@mellanox.com>
Acked-by: Christoph Hellwig <h...@lst.de>
---
drivers/infiniband/core/verbs.c | 25 ---
include/rdma/ib_verbs.h | 54
(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 <sa...@mellanox.com>
Acked-by: Christoph Hellwig <h...@lst.de>
Tested-by: Steve Wise <sw...@opengridcomputing.co
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 <sa...@mellanox.com>
Acked-by: Chr
The new fast registration API does not reuqire a page vector
so we can't avoid allocating it.
Signed-off-by: Sagi Grimberg <sa...@mellanox.com>
Tested-by: Bart Van Assche <bart.vanass...@sandisk.com>
---
drivers/infiniband/ulp/srp/ib_srp.c | 20 +++-
1 file changed, 1
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 <sa...@mellanox.com>
Acked-by: Christoph Hellwig <h...@lst.de>
Tested-by: Steve Wise <sw...@opengr
No ULP uses it anymore, go ahead and remove it.
Signed-off-by: Sagi Grimberg <sa...@mellanox.com>
Acked-by: Christoph Hellwig <h...@lst.de>
---
drivers/infiniband/hw/cxgb3/iwch_cq.c | 2 +-
drivers/infiniband/hw/cxgb3/iwch_provider.c | 24 ---
drivers/infinib
No ULP uses it anymore, go ahead and remove it.
Signed-off-by: Sagi Grimberg <sa...@mellanox.com>
Acked-by: Christoph Hellwig <h...@lst.de>
---
drivers/infiniband/hw/ocrdma/ocrdma_main.c | 2 -
drivers/infiniband/hw/ocrdma/ocrdma_verbs.c | 104 +---
driver
No ULP uses it anymore, go ahead and remove it.
Signed-off-by: Sagi Grimberg <sa...@mellanox.com>
Acked-by: Christoph Hellwig <h...@lst.de>
---
drivers/infiniband/hw/nes/nes_hw.h| 6 --
drivers/infiniband/hw/nes/nes_verbs.c | 162 +-
2 file
No ULP uses it anymore, go ahead and remove it.
Signed-off-by: Sagi Grimberg <sa...@mellanox.com>
Acked-by: Christoph Hellwig <h...@lst.de>
---
drivers/infiniband/hw/mlx4/cq.c | 3 +--
drivers/infiniband/hw/mlx4/main.c| 2 --
drivers/infiniband/hw/mlx4/ml
No ULP uses it anymore, go ahead and remove it.
Keep only the local invalidate part of the handlers.
Signed-off-by: Sagi Grimberg <sa...@mellanox.com>
Acked-by: Christoph Hellwig <h...@lst.de>
---
drivers/infiniband/hw/mlx5/cq.c | 3 --
drivers/infiniband/hw/mlx5/main.c|
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 <sa...@mellanox.com>
Acked-by: Christoph Hellwig <h.
No ULP uses it anymore, go ahead and remove it.
Signed-off-by: Sagi Grimberg <sa...@mellanox.com>
Acked-by: Christoph Hellwig <h...@lst.de>
---
drivers/infiniband/hw/qib/qib_keys.c | 56 ---
drivers/infiniband/hw/qib/qib_mr.c| 32 +
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 <sa...@mellanox.com>
(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 <sa...@mellanox.com>
Acked-by: Christoph Hellwig <h...@lst.de>
---
drivers/infiniband/hw/ocrdma/ocrdma.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 <sa...@mellanox.com>
Acked-by: Christoph Hellwig <h...@lst.de>
---
drivers/infiniband/hw/nes/nes_v
.
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 <sa...@mellanox.com>
Tested-by: Christoph Hell
(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 <sa...@mellanox.com>
Acked-by: Christoph Hellwig <h...@lst.de>
---
drivers/infiniband/hw/cxgb3/iwch_pro
(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 <sa...@mellanox.com>
Acked-by: Christoph Hellwig <h...@lst.de>
---
drivers/infiniband/hw/qib/qib_
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
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't
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
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
On 10/7/2015 5:48 PM, Chuck Lever wrote:
On Oct 7, 2015, at 10:39 AM, Sagi Grimberg <sa...@dev.mellanox.co.il> 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 proc
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
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
lkey with lkey local to PD")
Signed-off-by: Sagi Grimberg <sa...@mellanox.com>
---
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
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 !=
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 <sa...@mellanox.com>
---
drivers/infiniband/ulp/iser/iscsi_iser.c | 12 +-
drivers/infiniband/ulp/iser/iscsi_
.
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_memory.c
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 <sa...@mellanox.com>
---
drivers/infiniband/ulp/iser/iscsi_iser.c | 2
No callers and no providers left, go ahead and remove it.
Signed-off-by: Sagi Grimberg <sa...@mellanox.com>
Acked-by: Christoph Hellwig <h...@lst.de>
---
drivers/infiniband/core/verbs.c | 25 ---
include/rdma/ib_verbs.h | 54
The new fast registration API does not reuqire a page vector
so we can't avoid allocating it.
Signed-off-by: Sagi Grimberg <sa...@mellanox.com>
Tested-by: Bart Van Assche <bart.vanass...@sandisk.com>
---
drivers/infiniband/ulp/srp/ib_srp.c | 20 +++-
1 file changed, 1
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 <sa...@mellanox.com>
Tested-by: Bart Van Assche <ba
No callers left, remove it.
Signed-off-by: Sagi Grimberg <sa...@mellanox.com>
Tested-by: Bart Van Assche <bart.vanass...@sandisk.com>
---
drivers/infiniband/ulp/srp/ib_srp.c | 10 --
1 file changed, 10 deletions(-)
diff --git a/drivers/infiniband/ulp/srp/ib_srp.c
b/driver
(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 <sa...@mellanox.com>
Acked-by: Christoph Hellwig <h...@lst.de>
---
drivers/infiniband/hw/ocrdma/ocrdma.h |
, 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 <sa...@mellanox.com>
Acked-by: Christoph Hellwig <h...@lst.de>
---
drivers/infiniband/hw/mlx5/cq
ble 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: Support the new mem
.
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 <sa...@mellanox.com>
Tested-by: Christoph Hell
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 <sa...@mellanox.com>
Acked-by: Christoph Hellwig <h...@lst.de>
Tested-by: Steve Wise <sw...@opengr
, 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 <sa...@mellanox.com>
Tested-by: Christoph Hellwig <h...@lst.de>
---
drivers/infiniband/
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 <sa...@mellanox.com>
Acked-by: Chr
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 <sa...@mellanox.com>
Reviewed-by: Bart Van Assche <bart.vanass...@sandisk.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 <sa...@mellanox.com>
Acked-by: Christoph Hellwig <h...@lst.de>
---
drivers/infiniband/hw/nes/nes_v
(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 <sa...@mellanox.com>
Acked-by: Christoph Hellwig <h...@lst.de>
Tested-by: Steve Wise <sw...@opengridcomputing.co
(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 <sa...@mellanox.com>
Acked-by: Christoph Hellwig <h...@lst.de>
---
drivers/infiniband/hw/cxgb3/iwch_pro
801 - 900 of 1199 matches
Mail list logo