net/mlx5e: RX, Prefetch the xdp_frame data area
A loaded XDP program might write to the xdp_frame data area,
prefetchw() it to avoid a potential cache miss.
Performance tests:
ConnectX-5, XDP_TX packet rate, single ring.
CPU: Intel(R) Xeon(R) CPU E5-2680 v3 @ 2.50GHz
Before: 13,172,976 pps
After: 13,456,248 pps
2% gain.
Fixes: 22f4539881
("net/mlx5e: Support XDP over Striding RQ")
Signed-off-by: Tariq Toukan <tariqt@mellanox.com>
Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
This commit is contained in:
parent
58b99ee3e3
commit
d3398a4f18
@ -1099,6 +1099,7 @@ mlx5e_skb_from_cqe_mpwrq_linear(struct mlx5e_rq *rq, struct mlx5e_mpw_info *wi,
|
|||||||
|
|
||||||
dma_sync_single_range_for_cpu(rq->pdev, di->addr, head_offset,
|
dma_sync_single_range_for_cpu(rq->pdev, di->addr, head_offset,
|
||||||
frag_size, DMA_FROM_DEVICE);
|
frag_size, DMA_FROM_DEVICE);
|
||||||
|
prefetchw(va); /* xdp_frame data area */
|
||||||
prefetch(data);
|
prefetch(data);
|
||||||
|
|
||||||
rcu_read_lock();
|
rcu_read_lock();
|
||||||
|
Loading…
Reference in New Issue
Block a user