Re: [bpf-next V1 PATCH 09/15] mlx5: register a memory model when XDP is enabled
From: Tariq Toukan <hidden>
Date: 2018-03-07 11:50:34
On 06/03/2018 11:48 PM, Jesper Dangaard Brouer wrote:
quoted hunk ↗ jump to hunk
Now all the users of ndo_xdp_xmit have been converted to use xdp_return_frame. This enable a different memory model, thus activating another code path in the xdp_return_frame API. Signed-off-by: Jesper Dangaard Brouer <redacted> --- drivers/net/ethernet/mellanox/mlx5/core/en_main.c | 7 +++++++ 1 file changed, 7 insertions(+)diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_main.c b/drivers/net/ethernet/mellanox/mlx5/core/en_main.c index da94c8cba5ee..51482943c583 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/en_main.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/en_main.c@@ -506,6 +506,13 @@ static int mlx5e_alloc_rq(struct mlx5e_channel *c, rq->mkey_be = c->mkey_be; } + /* This must only be activate for order-0 pages */ + if (rq->xdp_prog) + err = xdp_rxq_info_reg_mem_model(&rq->xdp_rxq, + MEM_TYPE_PAGE_ORDER0, NULL); + if (err < 0) + goto err_rq_wq_destroy; +
Use "if (err)" here, instead of changing this in next patch. Also, get it into the "if (rq->xdp_prog)" block.
for (i = 0; i < wq_sz; i++) {
struct mlx5e_rx_wqe *wqe = mlx5_wq_ll_get_wqe(&rq->wq, i);