net/mlx5e: Add warning when log WQE size is smaller than log stride size
authorAdham Faris <afaris@nvidia.com>
Sun, 15 Jan 2023 08:21:11 +0000 (10:21 +0200)
committerSaeed Mahameed <saeedm@nvidia.com>
Wed, 18 Jan 2023 18:34:07 +0000 (10:34 -0800)
Add warning macro in the function mlx5e_mpwqe_get_log_num_strides()
when log WQE size is smaller than log stride size. Theoretically this
should not happen.

Signed-off-by: Adham Faris <afaris@nvidia.com>
Reviewed-by: Tariq Toukan <tariqt@nvidia.com>
Signed-off-by: Saeed Mahameed <saeedm@nvidia.com>
drivers/net/ethernet/mellanox/mlx5/core/en/params.c

index a17b768b81f11b4f873c9ff087835da761bd1831..53d2979e9457b389adfb3b45eec16645ad76e29b 100644 (file)
@@ -411,9 +411,14 @@ u8 mlx5e_mpwqe_get_log_num_strides(struct mlx5_core_dev *mdev,
 {
        enum mlx5e_mpwrq_umr_mode umr_mode = mlx5e_mpwrq_umr_mode(mdev, xsk);
        u8 page_shift = mlx5e_mpwrq_page_shift(mdev, xsk);
-
-       return mlx5e_mpwrq_log_wqe_sz(mdev, page_shift, umr_mode) -
-               mlx5e_mpwqe_get_log_stride_size(mdev, params, xsk);
+       u8 log_wqe_size, log_stride_size;
+
+       log_wqe_size = mlx5e_mpwrq_log_wqe_sz(mdev, page_shift, umr_mode);
+       log_stride_size = mlx5e_mpwqe_get_log_stride_size(mdev, params, xsk);
+       WARN(log_wqe_size < log_stride_size,
+            "Log WQE size %u < log stride size %u (page shift %u, umr mode %d, xsk on? %d)\n",
+            log_wqe_size, log_stride_size, page_shift, umr_mode, !!xsk);
+       return log_wqe_size - log_stride_size;
 }
 
 u8 mlx5e_mpwqe_get_min_wqe_bulk(unsigned int wq_sz)