net/mlx5: revert mbuf address calculation for x86
authorYongseok Koh <yskoh@mellanox.com>
Mon, 25 Mar 2019 19:13:10 +0000 (12:13 -0700)
committerFerruh Yigit <ferruh.yigit@intel.com>
Fri, 5 Apr 2019 15:45:22 +0000 (17:45 +0200)
commit9c55c6bd86156d17df93bf947dc620222ee9f7e4
treeffa23f159c43bf79b67c04b4b91f0de9efefc80f
parent219a6e74cab5c6a8cefc7bd2b0f18275835fef2f
net/mlx5: revert mbuf address calculation for x86

When replenishing mbufs on Rx, buffer address (mbuf->buf_addr) should be
loaded. non-x86 processors (mostly RISC such as ARM and Power) are more
vulnerable to load stall. For x86, reducing the number of instructions
seems to matter most.

For x86, this is simply a load but for other architectures, it is
calculated from the address of mbuf structure by rte_mbuf_buf_addr()
without having to load the first cacheline of the mbuf.

Fixes: 12d468a62bc1 ("net/mlx5: fix instruction hotspot on replenishing Rx buffer")
Cc: stable@dpdk.org
Signed-off-by: Yongseok Koh <yskoh@mellanox.com>
Acked-by: Shahaf Shuler <shahafs@mellanox.com>
drivers/net/mlx5/mlx5_rxtx_vec.h