[dpdk-stable] [PATCH 17.11] net/mlx5: fix multi-chunk mempool support

Yongseok Koh yskoh at mellanox.com
Thu Dec 13 20:35:32 CET 2018


> On Dec 12, 2018, at 5:31 PM, Yongseok Koh <yskoh at mellanox.com> wrote:
> 
> Mempool having multiple chunks isn't supported by mlx5 PMD. If system
> memory is much fragmented, it usually happens and mlx5 PMD fails to
> initialize. In such a case, application can't be launched or restarted.
> 
> This patch enables non-contiguous mempool support by registering entire
> memseg[] in the beginning. For MR search, there are 3 layers.
> 
> - L1 searches the last-hit entry of each Rx/Tx queue.
> - L2 linearly searches per-queue cache table, which is an array having 8
> entries by default.
> - L3 searches per-queue lookup table by binary search.
> 
> On Rx, as mempool is statically registered when setting up Rx queue, lookup
> table is built when queue is created.
> 
> On Tx, registration is done on demand in runtime.
> 
> Fixes: 491770fafcfb ("net/mlx5: split memory registration function")
> 
> Signed-off-by: Yongseok Koh <yskoh at mellanox.com>

Applied to stable/17.11

Thanks,
Yongseok



More information about the stable mailing list