linux/drivers/vdpa/mlx5/core
Dragos Tatulea 6211165448 vdpa/mlx5: Postpone MR deletion
Currently, when a new MR is set up, the old MR is deleted. MR deletion
is about 30-40% the time of MR creation. As deleting the old MR is not
important for the process of setting up the new MR, this operation
can be postponed.

This series adds a workqueue that does MR garbage collection at a later
point. If the MR lock is taken, the handler will back off and
reschedule. The exception during shutdown: then the handler must
not postpone the work.

Note that this is only a speculative optimization: if there is some
mapping operation that is triggered while the garbage collector handler
has the lock taken, this operation it will have to wait for the handler
to finish.

Signed-off-by: Dragos Tatulea <dtatulea@nvidia.com>
Reviewed-by: Cosmin Ratiu <cratiu@nvidia.com>
Message-Id: <20240830105838.2666587-9-dtatulea@nvidia.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
2024-09-25 07:07:44 -04:00
..
mlx5_vdpa.h vdpa/mlx5: Postpone MR deletion 2024-09-25 07:07:44 -04:00
mr.c vdpa/mlx5: Postpone MR deletion 2024-09-25 07:07:44 -04:00
resources.c vdpa/mlx5: Introduce init/destroy for MR resources 2024-09-25 07:07:44 -04:00