]> git.itanic.dy.fi Git - linux-stable/commit
RDMA/mlx5: Implement mkeys management via LIFO queue
authorShay Drory <shayd@nvidia.com>
Thu, 21 Sep 2023 08:07:16 +0000 (11:07 +0300)
committerLeon Romanovsky <leon@kernel.org>
Tue, 26 Sep 2023 09:36:18 +0000 (12:36 +0300)
commit57e7071683ef6148c9f5ea0ba84598d2ba681375
treef2b507f15a0bfce74206f2d1db49e4b0cb51bde0
parentcb7ab7854bc70942abed62d19d8c16d0064bf7dc
RDMA/mlx5: Implement mkeys management via LIFO queue

Currently, mkeys are managed via xarray. This implementation leads to
a degradation in cases many MRs are unregistered in parallel, due to xarray
internal implementation, for example: deregistration 1M MRs via 64 threads
is taking ~15% more time[1].

Hence, implement mkeys management via LIFO queue, which solved the
degradation.

[1]
2.8us in kernel v5.19 compare to 3.2us in kernel v6.4

Signed-off-by: Shay Drory <shayd@nvidia.com>
Link: https://lore.kernel.org/r/fde3d4cfab0f32f0ccb231cd113298256e1502c5.1695283384.git.leon@kernel.org
Signed-off-by: Leon Romanovsky <leon@kernel.org>
drivers/infiniband/hw/mlx5/mlx5_ib.h
drivers/infiniband/hw/mlx5/mr.c
drivers/infiniband/hw/mlx5/umr.c