The following fixup patch is needed:
Subject: ipoib: For sendonly join free the multicast group on leave
When we leave the multicast group on expiration of a neighbor we
do not free the mcast structure. This results in a memory leak.
Signed-off-by: Christoph Lameter
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:
Avoid the need to query for device attributes and store them in a
separate structure by merging struct ib_device_attr into struct
ib_device. This matches how the device structures are used in most
Linux subsystems.
Signed-off-by: Christoph Hellwig
---
drivers/infiniband/core/cm.c
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
--
To unsubscribe from this list: send the line "unsubscribe
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
Support the new memory registration API by allocating a
private page list array in mlx4_ib_mr and populate it when
mlx4_ib_map_mr_sg is invoked. Also, support IB_WR_REG_MR
by setting the exact WQE as IB_WR_FAST_REG_MR, just take the
needed information from different places:
- page_size, iova,
Hi all,
As discussed on the linux-rdma list, there is plenty of room for
improvement in our memory registration APIs. We keep finding
ULPs that are duplicating code, sometimes use wrong strategies
and mis-use our current API.
As a first step, this patch set replaces the fast registration API
to
> When IP based addressing was introduced, ib_create_ah_from_wc was
> changed in order to support a suitable AH. Since this AH should
> now contains the DMAC (which isn't a simple derivative of the GID).
> In order to find the DMAC, an ARP should sometime be sent. This ARP
> is a sleeping context.
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
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:
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
Support the new memory registration API by allocating a
private page list array in mlx5_ib_mr and populate it when
mlx5_ib_map_mr_sg is invoked. Also, support IB_WR_REG_MR
by setting the exact WQE as IB_WR_FAST_REG_MR, just take the
needed information from different places:
- page_size, iova,
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
Support the new memory registration API by allocating a
private page list array in c4iw_mr and populate it when
c4iw_map_mr_sg is invoked. Also, support IB_WR_REG_MR
by duplicating build_fastreg just take the needed information
from different places:
- page_size, iova, length (ib_mr)
- page array
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
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
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
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 ---
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 +---
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
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 ---
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 -
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
---
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 +---
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:
Support the new memory registration API by allocating a
private page list array in ocrdma_mr and populate it when
ocrdma_map_mr_sg is invoked. Also, support IB_WR_REG_MR
by duplicating IB_WR_FAST_REG_MR, but take the needed
information from different places:
- page_size, iova, length, access flags
Support the new memory registration API by allocating a
private page list array in nes_mr and populate it when
nes_map_mr_sg is invoked. Also, support IB_WR_REG_MR
by duplicating IB_WR_FAST_REG_MR handling and take the
needed information from different places:
- page_size, iova, length (ib_mr)
-
> ib_send_cm_sidr_rep could sometimes erase the node from the sidr
> (depending on errors in the process). Since ib_send_cm_sidr_rep is
> called both from cm_sidr_req_handler and cm_destroy_id, cm_id_priv
This should clarify that it is the app calling from the callback, and not a
direct call
The new fast registration verb ib_map_mr_sg receives a scatterlist
and converts it to a page list under the verbs API thus hiding
the specific HW mapping details away from the consumer.
The provider drivers are provided with a generic helper ib_sg_to_pages
that converts a scatterlist into a
Support the new memory registration API by allocating a
private page list array in iwch_mr and populate it when
iwch_map_mr_sg is invoked. Also, support IB_WR_REG_MR
by duplicating build_fastreg just take the needed information
from different places:
- page_size, iova, length (ib_mr)
- page array
Support the new memory registration API by allocating a
private page list array in qib_mr and populate it when
qib_map_mr_sg is invoked. Also, support IB_WR_REG_MR
by duplicating qib_fastreg_mr just take the needed information
from different places:
- page_size, iova, length (ib_mr)
- page array
Hi Christoph,
Do you think this is still an issue that would be worth discsussing at
the kernel summit as a technical topic? If so, would you be willing
to be responsible for kicking off the discussion for this topic?
Thanks,
- Ted
On Wed, Jul 15,
smp_query_via returns pointer so < 0 comparison is wrong:
src/perfquery.c: In function ?is_rsfec_mode_active?:
src/perfquery.c:481: warning: ordered comparison of pointer with integer zero
src/perfquery.c: In function ?main?:
src/perfquery.c:919: warning: ordered comparison of pointer with
Eliminate compiler warning:
src/ibdiag_common.c:85: warning: ?static? is not at beginning of declaration
Signed-off-by: Hal Rosenstock
---
diff --git a/src/ibdiag_common.c b/src/ibdiag_common.c
index e09623d..5424845 100644
--- a/src/ibdiag_common.c
+++ b/src/ibdiag_common.c
On Mon, Oct 12, 2015 at 12:26:06PM +0300, Sagi Grimberg wrote:
> First go with this looks OK for mlx4. mlx5 needs the below incremental
> patch to be folded in.
>
> we need dev->ib_dev.max_pkeys set when get_port_caps() is called.
Thanks, I've folded your patch and force pushed out the updated
> -Original Message-
> From: netdev-ow...@vger.kernel.org [mailto:netdev-ow...@vger.kernel.org] On
> Behalf Of Hariprasad Shenai
> Sent: Wednesday, September 23, 2015 6:49 AM
> To: linux-rdma@vger.kernel.org; net...@vger.kernel.org
> Cc: dledf...@redhat.com; da...@davemloft.net;
On Mon, Oct 12, 2015 at 10:53:39AM -0400, Chuck Lever wrote:
> Now that the NFS server advertises a maximum payload size of 1MB
> for RPC/RDMA again, it crashes in svc_process_common() when NFS
> client sends a 1MB NFS WRITE on an NFS/RDMA mount.
>
> The server has set up a 259 element array of
On Mon, Oct 12, 2015 at 12:09:48PM -0400, Theodore Ts'o wrote:
> Hi Christoph,
>
> Do you think this is still an issue that would be worth discsussing at
> the kernel summit as a technical topic? If so, would you be willing
> to be responsible for kicking off the discussion for this topic?
Hi
On Mon, Oct 12, 2015 at 08:31:23AM -0400, Hal Rosenstock wrote:
>
> Eliminate compiler warning:
> src/ibdiag_common.c:85: warning: ?static? is not at beginning of declaration
>
> Signed-off-by: Hal Rosenstock
Thanks applied,
Ira
> ---
> diff --git a/src/ibdiag_common.c
On Mon, Oct 12, 2015 at 08:30:31AM -0400, Hal Rosenstock wrote:
>
> smp_query_via returns pointer so < 0 comparison is wrong:
> src/perfquery.c: In function ?is_rsfec_mode_active?:
> src/perfquery.c:481: warning: ordered comparison of pointer with integer zero
> src/perfquery.c: In function
Hi Denny,
We initially thought to implement a shared library that contains the
transport logic.
However, it seems that a SW Verbs transport driver would allow better
code sharing.
In fact, the VT driver would need only a single user-space driver for
all "backends". Any direct HW access from
There is a new release of infiniband-diags at:
https://www.openfabrics.org/downloads/management/infiniband-diags-1.6.6.tar.gz
md5sum:
b855ca3b98afefc2ad6a2de378ab71dd infiniband-diags-1.6.6.tar.gz
Dependencies:
1) libibmad >= 1.3.12
2) libibumad >= 1.3.7
3)
42 matches
Mail list logo