[dpdk-dev] [PATCH v2 0/3] net/mlx5: add Multi-Packet Rx support

Shahaf Shuler shahafs at mellanox.com
Wed May 9 15:57:43 CEST 2018


Wednesday, May 9, 2018 2:14 PM, Yongseok Koh:
> Subject: [dpdk-dev] [PATCH v2 0/3] net/mlx5: add Multi-Packet Rx support
> 
> Multi-Packet Rx Queue (MPRQ a.k.a Striding RQ) can further save PCIe
> bandwidth by posting a single large buffer for multiple packets. Instead of
> posting a buffer per a packet, one large buffer is posted in order to receive
> multiple packets on the buffer. A MPRQ buffer consists of multiple fixed-size
> strides and each stride receives one packet.
> 
> Rx packet is mem-copied to a user-provided mbuf if the size of Rx packet is
> comparatively small, or PMD attaches the Rx packet to the mbuf by external
> buffer attachment - rte_pktmbuf_attach_extbuf(). A mempool for external
> buffers will be allocated and managed by PMD.
> 
> This patchset should be applied after:
>  net/mlx5: add new Memory Region support
> 

Series applied to next-net-mlx, thanks. 

> 
> v2:
> * add mprq_log_stride_num parameter to configure the number of strides.
> * enable configuring larger max_rx_pkt_len than the size of user-provided
>   mbuf. The size of the stride isn't static anymore but dynamically
>   determined.
> * enhance documentation.
> * fix issues from review.
> 
> Yongseok Koh (3):
>   net/mlx5: separate filling Rx flags
>   net/mlx5: add a function to rdma-core glue
>   net/mlx5: add Multi-Packet Rx support
> 
>  doc/guides/nics/mlx5.rst         |  58 +++++
>  drivers/net/mlx5/Makefile        |   5 +
>  drivers/net/mlx5/mlx5.c          |  83 +++++++
>  drivers/net/mlx5/mlx5.h          |  11 +
>  drivers/net/mlx5/mlx5_defs.h     |  18 ++
>  drivers/net/mlx5/mlx5_ethdev.c   |   3 +
>  drivers/net/mlx5/mlx5_glue.c     |  16 ++
>  drivers/net/mlx5/mlx5_glue.h     |   8 +
>  drivers/net/mlx5/mlx5_prm.h      |  15 ++
>  drivers/net/mlx5/mlx5_rxq.c      | 494
> ++++++++++++++++++++++++++++++++++++---
>  drivers/net/mlx5/mlx5_rxtx.c     | 307 +++++++++++++++++++++---
>  drivers/net/mlx5/mlx5_rxtx.h     |  37 ++-
>  drivers/net/mlx5/mlx5_rxtx_vec.c |   4 +
>  drivers/net/mlx5/mlx5_rxtx_vec.h |   3 +-
>  drivers/net/mlx5/mlx5_trigger.c  |   6 +-
>  15 files changed, 992 insertions(+), 76 deletions(-)
> 
> --
> 2.11.0



More information about the dev mailing list