common/mlx5: disable relaxed ordering in unsuitable CPUs
authorShiri Kuzin <shirik@mellanox.com>
Tue, 12 May 2020 12:21:46 +0000 (15:21 +0300)
committerFerruh Yigit <ferruh.yigit@intel.com>
Mon, 18 May 2020 18:35:57 +0000 (20:35 +0200)
commit4c204fe5e5d2bf0001ab0d017df9f0f578b0434c
treebdb63717017ff37550af8d373d656e9bc0185669
parentffd5b302baabdc96fcd6deb58d8cd3ec39020c5c
common/mlx5: disable relaxed ordering in unsuitable CPUs

Relaxed ordering is a PCI optimization that enables reordering
reads/writes in order to improve performance.

Relaxed ordering was enabled for all processors causing
a degradation in performance in Haswell and Broadwell processors
that don't support this optimization.

In order to avoid that we check if the processor is Haswell
or Broadwell and if so we disable relaxed ordering.

Signed-off-by: Shiri Kuzin <shirik@mellanox.com>
Acked-by: Matan Azrad <matan@mellanox.com>
drivers/common/mlx5/mlx5_common.c
drivers/common/mlx5/mlx5_common.h
drivers/common/mlx5/mlx5_common_mr.c
drivers/net/mlx5/mlx5_flow_dv.c