[v3,0/2] net/mlx5: share Memory Regions for multiport devices
mbox series

Message ID 1556339577-18185-1-git-send-email-viacheslavo@mellanox.com
Headers show
Series
  • net/mlx5: share Memory Regions for multiport devices
Related show

Message

Slava Ovsiienko April 27, 2019, 4:32 a.m. UTC
The patches [1] and [2] are both related to Memory Regions sharing and their
applying order matters, this series just combines ones.

The multiport Infiniband device support was introduced [3].
All active ports, belonging to the same Infiniband device use the single
shared Infiniband context of that device and share the resources:
  - QPs are created within shared context
  - Verbs flows are also created with specifying port index
  - DV/DR resources
  - Protection Domain
  - Event Handlers

This patchset adds support for Memory Regions sharing between
ports, created on the base of multiport Infiniband device.
The datapath of mlx5 uses the layered cache subsystem for
allocating/releasing Memory Regions, only the lowest layer L3
is subject to share due to performance issues.

[1] http://patches.dpdk.org/patch/53040/
[2] http://patches.dpdk.org/patch/53041/
[3] http://patches.dpdk.org/cover/51800/

Signed-off-by: Viacheslav Ovsiienko <viacheslavo@mellanox.com>
---
v3:
  - combine two patches in pathset
  - commit messages spellcheck

v2:
  - intendation issues
  - comments cleanup

v1:
  http://patches.dpdk.org/patch/52723/

Viacheslav Ovsiienko (2):
  net/mlx5: share Memory Regions for multiport device
  net/mlx5: update memory event callback for shared context

 drivers/net/mlx5/mlx5.c     |  42 +++++---
 drivers/net/mlx5/mlx5.h     |  21 ++--
 drivers/net/mlx5/mlx5_mr.c  | 245 ++++++++++++++++++++++----------------------
 drivers/net/mlx5/mlx5_mr.h  |   5 +-
 drivers/net/mlx5/mlx5_txq.c |   2 +-
 5 files changed, 162 insertions(+), 153 deletions(-)

Comments

Shahaf Shuler April 29, 2019, 8:54 a.m. UTC | #1
Saturday, April 27, 2019 7:33 AM, Viacheslav Ovsiienko:
> Subject: [PATCH v3 0/2] net/mlx5: share Memory Regions for multiport
> devices
> 
> The patches [1] and [2] are both related to Memory Regions sharing and their
> applying order matters, this series just combines ones.
> 
> The multiport Infiniband device support was introduced [3].
> All active ports, belonging to the same Infiniband device use the single
> shared Infiniband context of that device and share the resources:
>   - QPs are created within shared context
>   - Verbs flows are also created with specifying port index
>   - DV/DR resources
>   - Protection Domain
>   - Event Handlers
> 
> This patchset adds support for Memory Regions sharing between ports,
> created on the base of multiport Infiniband device.
> The datapath of mlx5 uses the layered cache subsystem for
> allocating/releasing Memory Regions, only the lowest layer L3 is subject to
> share due to performance issues.
> 
> [1] http://patches.dpdk.org/patch/53040/
> [2] http://patches.dpdk.org/patch/53041/
> [3] http://patches.dpdk.org/cover/51800/
> 
> Signed-off-by: Viacheslav Ovsiienko <viacheslavo@mellanox.com>

Series applied to next-net-mlx, thanks.