[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