mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-11-25 19:51:01 +07:00
IB/mlx5: Use cache line size to select CQE stride
When creating kernel CQs use 128B CQE stride if the
cache line size is 128B, 64B otherwise. This prevents
multiple CQEs from residing in a 128B cache line,
which can cause retries when there are concurrent
read and writes in one cache line.
Tested with IPoIB on PPC64, saw ~5% throughput
improvement.
Fixes: e126ba97db
('mlx5: Add driver for Mellanox Connect-IB adapters')
Signed-off-by: Daniel Jurgens <danielj@mellanox.com>
Signed-off-by: Maor Gottlieb <maorg@mellanox.com>
Signed-off-by: Leon Romanovsky <leon@kernel.org>
Signed-off-by: Doug Ledford <dledford@redhat.com>
This commit is contained in:
parent
efd7f40082
commit
16b0e0695a
@ -932,8 +932,7 @@ struct ib_cq *mlx5_ib_create_cq(struct ib_device *ibdev,
|
|||||||
if (err)
|
if (err)
|
||||||
goto err_create;
|
goto err_create;
|
||||||
} else {
|
} else {
|
||||||
/* for now choose 64 bytes till we have a proper interface */
|
cqe_size = cache_line_size() == 128 ? 128 : 64;
|
||||||
cqe_size = 64;
|
|
||||||
err = create_cq_kernel(dev, cq, entries, cqe_size, &cqb,
|
err = create_cq_kernel(dev, cq, entries, cqe_size, &cqb,
|
||||||
&index, &inlen);
|
&index, &inlen);
|
||||||
if (err)
|
if (err)
|
||||||
|
Loading…
Reference in New Issue
Block a user