[dpdk-dev] [PATCH] net/mlx5: fix external buffer pool registration for Rx queue
rasland at nvidia.com
Sun Feb 21 09:14:12 CET 2021
> -----Original Message-----
> From: Viacheslav Ovsiienko <viacheslavo at nvidia.com>
> Sent: Friday, February 12, 2021 1:07 PM
> To: dev at dpdk.org
> Cc: Raslan Darawsheh <rasland at nvidia.com>; Matan Azrad
> <matan at nvidia.com>; stable at dpdk.org
> Subject: [PATCH] net/mlx5: fix external buffer pool registration for Rx queue
> On Rx queue creation the mlx5 PMD registers the data buffers of the
> specified pools for DMA operations. It scans the mem_list of the pools
> and creates the MRs (DMA related NIC objects) for the chunks found.
> If the pool is created with rte_pktmbuf_pool_create_extbuf() and
> refers to the external attached buffers (whose are in the area of
> application responsibility and it should explicitly register the
> data buffer memory for DMA with rte_dev_dma_map() call) the chunks
> contain the mbuf structures only, w/o any built-in data buffers.
> Hence, DMA with mlx5 NIC never happens to this area and there is
> no need to create MRs for these ones.
> The extra not needed MRs were created for the pools with external
> buffers causing MR cache load and performance was slightly affected.
> The patch checks the mbuf pool type and skips MR creation for the
> pools with external buffers.
> Fixes: bdb8e5b1ea7b ("net/mlx5: allow allocated mbuf with external buffer")
> Cc: stable at dpdk.org
> Signed-off-by: Viacheslav Ovsiienko <viacheslavo at nvidia.com>
Patch applied to next-net-mlx,
More information about the dev