RDMA core, mlx5 fixes and refactoring for 4.15
Get series with b4
b4 am [email protected]Versions newest first
- v1 Latest5 patches 2 repliesIn review
Patches in v1 No applies recorded yet
| # | Subject and files | Size | Replies | Applied |
|---|---|---|---|---|
| 1/5 | IB: Let ib_core resolve destination mac addressdrivers/ drivers/ drivers/ +4 more | +9 | 0 replies | |
| 2/5 | IB/core: Fix unable to change lifespan entry for hw_countersdrivers/ | +15 | 0 replies | |
| 3/5 | IB/core: Fix use workqueue without WQ_MEM_RECLAIMdrivers/ | +1 | 0 replies | |
| 4/5 | IB/core: Take into account optional UDR, XRC headers and mandatory ICRC for RoCE MTUinclude/ include/ | +15 | 0 replies | |
| 5/5 | IB/mlx5: Use ARRAY_SIZEdrivers/ | +3 | 0 replies |
Reviews trailers per patch
3 of 5 patches have a Reviewed-by or Acked-by.
| Patch | Mark Bloch | Daniel Jurgens |
|---|---|---|
| 1/5 | ||
| 2/5 | R-b | |
| 3/5 | R-b | |
| 4/5 | R-b | |
| 5/5 |
Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.
Cover letter [PATCH rdma-next 0/5] RDMA core, mlx5 fixes and refactoring for 4.15
1) Introduce and use rdma_create_user_ah
Currently there is inconsistency in resolving destination mac address in ib core and provider driver as below.
1. Provider drivers are using different API to resolve dmac.
2. Provider drivers are resolving destination mac address for user space consumers, but don't have to resolve for kernel consumers.
This leads ah_attr->roce.dmac being input field for kernel consumers and treated as output field for user space consumers.
Without proper API, umad module miss resolving destination mac address while creating address handle.
Additionally mlx4 driver resolves incorrect mac address for v4 mapped v6 destination multicast gid.
This patchset allows uverbs modules to invoke ib_core API that resolves destination mac address for user consumers.
This patchset avoids above issues by ib_core resolving destination mac address for roce for user as well as kernel consumers.
It uses ib_resolve_eth_dmac() API which resolves destination mac address for unicast, multicast, v4 mapped v6 addresses, and also link local gid. This eliminates code duplication in provider drivers and also brings uniformity by always resolving dmac in ib_core for all type of GIDs.
This allows to eliminate exporting low level API ib_resolve_eth_dmac(). So its removed as export symbol until a good use case arise.
2) Three simple fixes for IB/core.
3) Patch for mlx5 posted to the mailing list.
The patches are available in the git repository at:
git.kernel.org/pub/scm/linux/kernel/git/leon/linux-rdma.git tags/rdma-next-2017-10-16
Thanks
---------------------------------------
Jérémy Lefaure (1):
IB/mlx5: Use ARRAY_SIZE
Parav Pandit (4):
IB: Let ib_core resolve destination mac address IB/core: Fix unable to change lifespan entry for hw_counters IB/core: Fix use workqueue without WQ_MEM_RECLAIM IB/core: Take into account optional UDR, XRC headers and mandatory
ICRC for RoCE MTU
drivers/infiniband/core/addr.c | 2 +- drivers/infiniband/core/sysfs.c | 16 +++++++++++++++- drivers/infiniband/core/verbs.c | 8 +++++--- drivers/infiniband/hw/bnxt_re/ib_verbs.c | 8 -------- drivers/infiniband/hw/hns/hns_roce_ah.c | 14 +------------- drivers/infiniband/hw/mlx4/ah.c | 8 +++----- drivers/infiniband/hw/mlx5/ah.c | 4 ---- drivers/infiniband/hw/mlx5/odp.c | 6 +++--- drivers/infiniband/hw/ocrdma/ocrdma_ah.c | 15 --------------- include/rdma/ib_addr.h | 7 ++++--- include/rdma/ib_pack.h | 19 +++++++++++-------- include/rdma/ib_verbs.h | 2 -- 12 files changed, 43 insertions(+), 66 deletions(-)
--
2.14.2
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html