diff options
author | Maxim Mikityanskiy | 2019-06-26 16:35:33 +0200 |
---|---|---|
committer | Daniel Borkmann | 2019-06-27 22:53:27 +0200 |
commit | b9673cf5558c0ae1be787611884d4131633f31a8 (patch) | |
tree | f49334e4a15558fdf0b68782b37f81eab965f664 /drivers/net/ethernet/mellanox/mlx5/core/en.h | |
parent | net/mlx5e: Refactor struct mlx5e_xdp_info (diff) | |
download | kernel-qcow2-linux-b9673cf5558c0ae1be787611884d4131633f31a8.tar.gz kernel-qcow2-linux-b9673cf5558c0ae1be787611884d4131633f31a8.tar.xz kernel-qcow2-linux-b9673cf5558c0ae1be787611884d4131633f31a8.zip |
net/mlx5e: Share the XDP SQ for XDP_TX between RQs
Put the XDP SQ that is used for XDP_TX into the channel. It used to be a
part of the RQ, but with introduction of AF_XDP there will be one more
RQ that could share the same XDP SQ. This patch is a preparation for
that change.
Separate XDP_TX statistics per RQ were implemented in one of the previous
patches.
Signed-off-by: Maxim Mikityanskiy <maximmi@mellanox.com>
Signed-off-by: Tariq Toukan <tariqt@mellanox.com>
Acked-by: Saeed Mahameed <saeedm@mellanox.com>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Diffstat (limited to 'drivers/net/ethernet/mellanox/mlx5/core/en.h')
-rw-r--r-- | drivers/net/ethernet/mellanox/mlx5/core/en.h | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en.h b/drivers/net/ethernet/mellanox/mlx5/core/en.h index b3c2d7ef1287..010140753e73 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/en.h +++ b/drivers/net/ethernet/mellanox/mlx5/core/en.h @@ -432,6 +432,7 @@ struct mlx5e_xdp_info { dma_addr_t dma_addr; } frame; struct { + struct mlx5e_rq *rq; struct mlx5e_dma_info di; } page; }; @@ -644,7 +645,7 @@ struct mlx5e_rq { /* XDP */ struct bpf_prog *xdp_prog; - struct mlx5e_xdpsq xdpsq; + struct mlx5e_xdpsq *xdpsq; DECLARE_BITMAP(flags, 8); struct page_pool *page_pool; @@ -663,6 +664,7 @@ struct mlx5e_rq { struct mlx5e_channel { /* data path */ struct mlx5e_rq rq; + struct mlx5e_xdpsq rq_xdpsq; struct mlx5e_txqsq sq[MLX5E_MAX_NUM_TC]; struct mlx5e_icosq icosq; /* internal control operations */ bool xdp; |