[PATCH] net/mlx5: fix risk in Rx descriptor read in NEON vector path

Ali Alnubani alialnu at nvidia.com
Thu May 19 16:56:06 CEST 2022


> -----Original Message-----
> From: Ruifeng Wang <ruifeng.wang at arm.com>
> Sent: Tuesday, January 4, 2022 5:01 AM
> To: Matan Azrad <matan at nvidia.com>; Slava Ovsiienko
> <viacheslavo at nvidia.com>
> Cc: dev at dpdk.org; honnappa.nagarahalli at arm.com; stable at dpdk.org;
> nd at arm.com; Ruifeng Wang <ruifeng.wang at arm.com>
> Subject: [PATCH] net/mlx5: fix risk in Rx descriptor read in NEON vector path
> 
> In NEON vector PMD, vector load loads two contiguous 8B of
> descriptor data into vector register. Given vector load ensures no
> 16B atomicity, read of the word that includes op_own field could be
> reordered after read of other words. In this case, some words could
> contain invalid data.
> 
> Reloaded qword0 after read barrier to update vector register. This
> ensures that the fetched data is correct.
> 
> Testpmd single core test on N1SDP/ThunderX2 showed no performance
> drop.
> 
> Fixes: 1742c2d9fab0 ("net/mlx5: fix synchronization on polling Rx
> completions")
> Cc: stable at dpdk.org
> 
> Signed-off-by: Ruifeng Wang <ruifeng.wang at arm.com>
> ---

Tested with BlueField-2 and didn't see a performance impact.

Tested-by: Ali Alnubani <alialnu at nvidia.com>

Thanks,
Ali


More information about the stable mailing list