net/mlx4: mitigate Tx path memory barriers
authorMatan Azrad <matan@mellanox.com>
Thu, 2 Nov 2017 16:42:51 +0000 (16:42 +0000)
committerFerruh Yigit <ferruh.yigit@intel.com>
Fri, 3 Nov 2017 19:22:09 +0000 (20:22 +0100)
commit89ce4b02c6af3c3f2b3635c35387711f7aeeeb5a
treef99e7147fc3f7a450f48fcb3495c60e48c08d928
parentb68d92b45ca3b077e28f55a8592e00e06c2e9f20
net/mlx4: mitigate Tx path memory barriers

Replace most of the memory barriers by IO memory barriers since they
are all targeted to the DRAM; This improves code efficiency for
systems which force store order between different addresses.

Only the doorbell register store should be protected by memory barrier
since it is targeted to the PCI memory domain.

Limit pre byte count store IO memory barrier for systems with cache
line size smaller than 64B (TXBB size).

This patch improves Tx performance by 0.2MPPS for one segment 64B
packets via 1 queue with 1 core test.

Signed-off-by: Matan Azrad <matan@mellanox.com>
Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
drivers/net/mlx4/mlx4_rxtx.c