The primary motivation of this series is to disable the lock on a QP that is created under a Thread Domain. Currently, the only way to disable any locking is through the global MLX5_SINGLE_THREADED environment variable, which is unhelpful in disabling locks of a subset of verbs objects while enabling locks on others. The first patch enables the driver to control locking on each individual verbs object. The second patch uses the changes from the first to disable locking on the QP when it is created within a Thread Domain. Changes since v1: - introduce mlx5_spinlock_init_pd to compute whether or not lock is needed based on the Protection Domain passed by the object - replace mlx5_spinlock_init with mlx5_spinlock_init_pd for all objects that are associated with a Protection Domain - update commit message of patch 2 to describe mlx5_spinlock_init_pd Rohit Zambre (2): mlx5: Allow individual locking-control for different verbs objects mlx5: Disable locking on a QP if it is assigned to a thread domain providers/mlx5/mlx5.c | 4 ++-- providers/mlx5/mlx5.h | 22 +++++++++++++++++++--- providers/mlx5/verbs.c | 12 ++++++------ 3 files changed, 27 insertions(+), 11 deletions(-) -- 1.8.3.1 -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html