[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID:
<PAXPR04MB8510579F89CB31A054FDFB9188BF2@PAXPR04MB8510.eurprd04.prod.outlook.com>
Date: Fri, 18 Apr 2025 07:26:29 +0000
From: Wei Fang <wei.fang@....com>
To: Vladimir Oltean <vladimir.oltean@....com>, "netdev@...r.kernel.org"
<netdev@...r.kernel.org>
CC: Claudiu Manoil <claudiu.manoil@....com>, Clark Wang
<xiaoning.wang@....com>, Vlatko Markovikj <vlatko.markovikj@...s.com>, Andrew
Lunn <andrew+netdev@...n.ch>, "David S. Miller" <davem@...emloft.net>, Eric
Dumazet <edumazet@...gle.com>, Jakub Kicinski <kuba@...nel.org>, Paolo Abeni
<pabeni@...hat.com>, Alexei Starovoitov <ast@...nel.org>, Daniel Borkmann
<daniel@...earbox.net>, Jesper Dangaard Brouer <hawk@...nel.org>, John
Fastabend <john.fastabend@...il.com>, Lorenzo Bianconi <lorenzo@...nel.org>,
Toke Hoiland-Jorgensen <toke@...hat.com>, Alexander Lobakin
<aleksander.lobakin@...el.com>, "imx@...ts.linux.dev" <imx@...ts.linux.dev>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"bpf@...r.kernel.org" <bpf@...r.kernel.org>
Subject: RE: [PATCH net 1/3] net: enetc: register XDP RX queues with frag_size
> At the time when bpf_xdp_adjust_tail() gained support for non-linear
> buffers, ENETC was already generating this kind of geometry on RX, due
> to its use of 2K half page buffers. Frames larger than 1472 bytes
> (without FCS) are stored as multi-buffer, presenting a need for multi
> buffer support to work properly even in standard MTU circumstances.
>
> Allow bpf_xdp_frags_increase_tail() to know the allocation size of paged
> data, so it can safely permit growing the tailroom of the buffer from
> XDP programs.
>
> Fixes: bf25146a5595 ("bpf: add frags support to the bpf_xdp_adjust_tail() API")
> Signed-off-by: Vladimir Oltean <vladimir.oltean@....com>
> ---
> drivers/net/ethernet/freescale/enetc/enetc.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/net/ethernet/freescale/enetc/enetc.c
> b/drivers/net/ethernet/freescale/enetc/enetc.c
> index 2106861463e4..9b333254c73e 100644
> --- a/drivers/net/ethernet/freescale/enetc/enetc.c
> +++ b/drivers/net/ethernet/freescale/enetc/enetc.c
> @@ -3362,7 +3362,8 @@ static int enetc_int_vector_init(struct enetc_ndev_priv
> *priv, int i,
> bdr->buffer_offset = ENETC_RXB_PAD;
> priv->rx_ring[i] = bdr;
>
> - err = xdp_rxq_info_reg(&bdr->xdp.rxq, priv->ndev, i, 0);
> + err = __xdp_rxq_info_reg(&bdr->xdp.rxq, priv->ndev, i, 0,
> + ENETC_RXB_DMA_SIZE_XDP);
> if (err)
> goto free_vector;
>
> --
> 2.34.1
Thanks for this fix.
Reviewed-by: Wei Fang <wei.fang@....com>
Powered by blists - more mailing lists