net/mlx5e: Keep single pre-initialized UMR WQE per RQ
authorTariq Toukan <tariqt@mellanox.com>
Wed, 20 Dec 2017 09:56:35 +0000 (11:56 +0200)
committerSaeed Mahameed <saeedm@mellanox.com>
Fri, 30 Mar 2018 23:55:07 +0000 (16:55 -0700)
commitb8a98a4cf3221d8140969e3f5bde09206a6cb623
tree4ab167a2152d139d86ed2e28cc334df6cd2f1816
parent9f9e9cd50eac6ad09cb053509f2e764bddc05f18
net/mlx5e: Keep single pre-initialized UMR WQE per RQ

All UMR WQEs of an RQ share many common fields. We use
pre-initialized structures to save calculations in datapath.
One field (xlt_offset) was the only reason we saved a pre-initialized
copy per WQE index.
Here we remove its initialization (move its calculation to datapath),
and reduce the number of copies to one-per-RQ.

A very small datapath calculation is added, it occurs once per a MPWQE
(i.e. once every 256KB), but reduces memory consumption and gives
better cache utilization.

Performance testing:
Tested packet rate, no degradation sensed.

Signed-off-by: Tariq Toukan <tariqt@mellanox.com>
Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
drivers/net/ethernet/mellanox/mlx5/core/en.h
drivers/net/ethernet/mellanox/mlx5/core/en_main.c
drivers/net/ethernet/mellanox/mlx5/core/en_rx.c