Hi, > -----Original Message----- > From: Viacheslav Ovsiienko <viachesl...@nvidia.com> > Sent: Friday, February 12, 2021 1:07 PM > To: dev@dpdk.org > Cc: Raslan Darawsheh <rasl...@nvidia.com>; Matan Azrad > <ma...@nvidia.com>; sta...@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: sta...@dpdk.org > > Signed-off-by: Viacheslav Ovsiienko <viachesl...@nvidia.com> > ---
Patch applied to next-net-mlx, Kindest regards, Raslan Darawsheh