From: "Russell King (Oracle)" <linux@armlinux.org.uk>
To: Andrew Lunn <andrew@lunn.ch>
Cc: Alexandre Torgue <alexandre.torgue@foss.st.com>,
Alexei Starovoitov <ast@kernel.org>,
Andrew Lunn <andrew+netdev@lunn.ch>,
bpf@vger.kernel.org, Daniel Borkmann <daniel@iogearbox.net>,
"David S. Miller" <davem@davemloft.net>,
Eric Dumazet <edumazet@google.com>,
Jakub Kicinski <kuba@kernel.org>,
Jesper Dangaard Brouer <hawk@kernel.org>,
linux-arm-kernel@lists.infradead.org,
linux-stm32@st-md-mailman.stormreply.com, netdev@vger.kernel.org,
Paolo Abeni <pabeni@redhat.com>,
Stanislav Fomichev <sdf@fomichev.me>
Subject: Re: [PATCH net-next 02/15] net: stmmac: helpers for filling tx_q->tx_skbuff_dma
Date: Thu, 12 Mar 2026 08:54:05 +0000 [thread overview]
Message-ID: <abJ_Le1xOP6roesb@shell.armlinux.org.uk> (raw)
In-Reply-To: <E1w0GEg-0000000CiSj-2CVA@rmk-PC.armlinux.org.uk>
On Wed, Mar 11, 2026 at 09:52:14AM +0000, Russell King (Oracle) wrote:
> +static void stmmac_set_tx_dma_entry(struct stmmac_tx_queue *tx_q,
> + unsigned int entry,
> + enum stmmac_txbuf_type type,
> + dma_addr_t addr, size_t len,
> + bool map_as_page)
> +{
...
> + tx_q->tx_skbuff_dma[entry].buf_type = type;
...
> +}
> +
> +static void stmmac_set_tx_skb_dma_entry(struct stmmac_tx_queue *tx_q,
> + unsigned int entry, dma_addr_t addr,
> + size_t len, bool map_as_page)
> +{
> + stmmac_set_tx_dma_entry(tx_q, entry, STMMAC_TXBUF_T_SKB, addr, len,
> + map_as_page);
> +}
...
> @@ -4471,10 +4495,8 @@ static netdev_tx_t stmmac_tso_xmit(struct sk_buff *skb, struct net_device *dev)
> * this DMA buffer right after the DMA engine completely finishes the
> * full buffer transmission.
> */
> - tx_q->tx_skbuff_dma[tx_q->cur_tx].buf = des;
> - tx_q->tx_skbuff_dma[tx_q->cur_tx].len = skb_headlen(skb);
> - tx_q->tx_skbuff_dma[tx_q->cur_tx].map_as_page = false;
> - tx_q->tx_skbuff_dma[tx_q->cur_tx].buf_type = STMMAC_TXBUF_T_SKB;
> + stmmac_set_tx_skb_dma_entry(tx_q, tx_q->cur_tx, des, skb_headlen(skb),
> + false);
when nfrags is zero, tx_q->tx_skbuff_dma[tx_q->cur_tx].buf_type is set
here.
>
> /* Prepare fragments */
> for (i = 0; i < nfrags; i++) {
> @@ -4489,17 +4511,14 @@ static netdev_tx_t stmmac_tso_xmit(struct sk_buff *skb, struct net_device *dev)
> stmmac_tso_allocator(priv, des, skb_frag_size(frag),
> (i == nfrags - 1), queue);
>
> - tx_q->tx_skbuff_dma[tx_q->cur_tx].buf = des;
> - tx_q->tx_skbuff_dma[tx_q->cur_tx].len = skb_frag_size(frag);
> - tx_q->tx_skbuff_dma[tx_q->cur_tx].map_as_page = true;
> - tx_q->tx_skbuff_dma[tx_q->cur_tx].buf_type = STMMAC_TXBUF_T_SKB;
> + stmmac_set_tx_skb_dma_entry(tx_q, tx_q->cur_tx, des,
> + skb_frag_size(frag), true);
> }
... and tx_q->cur_tx is not incremented because the loop is not
executed.
>
> - tx_q->tx_skbuff_dma[tx_q->cur_tx].last_segment = true;
> + stmmac_set_tx_dma_last_segment(tx_q, tx_q->cur_tx);
>
> /* Only the last descriptor gets to point to the skb. */
> tx_q->tx_skbuff[tx_q->cur_tx] = skb;
> - tx_q->tx_skbuff_dma[tx_q->cur_tx].buf_type = STMMAC_TXBUF_T_SKB;
Thus this assignment of tx_q->tx_skbuff_dma[tx_q->cur_tx].buf_type is
redundant. As the loop doesn't execute any code in the nfrags=0 case,
there is no call to stmmac_tso_allocator(), and thus tx_q->cur_tx will
be the same as when the previous stmmac_set_tx_skb_dma_entry() was
called.
Therefore, the AI review is incorrect.
--
RMK's Patch system: https://www.armlinux.org.uk/developer/patches/
FTTP is here! 80Mbps down 10Mbps up. Decent connectivity at last!
next prev parent reply other threads:[~2026-03-12 8:54 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-03-11 9:51 [PATCH net-next 00/15] net: stmmac: clean up descriptor handling part 1 Russell King (Oracle)
2026-03-11 9:52 ` [PATCH net-next 01/15] net: stmmac: rearrange stmmac_tx_info members to pack better Russell King (Oracle)
2026-03-11 9:52 ` [PATCH net-next 02/15] net: stmmac: helpers for filling tx_q->tx_skbuff_dma Russell King (Oracle)
2026-03-11 14:57 ` Andrew Lunn
2026-03-11 14:59 ` Russell King (Oracle)
2026-03-12 8:54 ` Russell King (Oracle) [this message]
2026-03-11 9:52 ` [PATCH net-next 03/15] net: stmmac: clean up stmmac_clear_rx_descriptors() Russell King (Oracle)
2026-03-11 9:52 ` [PATCH net-next 04/15] net: stmmac: add helper to get hardware receive descriptor Russell King (Oracle)
2026-03-11 9:52 ` [PATCH net-next 05/15] net: stmmac: add helper to get size of a " Russell King (Oracle)
2026-03-11 9:52 ` [PATCH net-next 06/15] net: stmmac: add helper to set receive tail pointer Russell King (Oracle)
2026-03-11 9:52 ` [PATCH net-next 07/15] net: stmmac: remove rx_tail_addr Russell King (Oracle)
2026-03-11 9:52 ` [PATCH net-next 08/15] net: stmmac: use consistent tests for receive buffer size Russell King (Oracle)
2026-03-11 9:52 ` [PATCH net-next 09/15] net: stmmac: add helper to set " Russell King (Oracle)
2026-03-11 9:52 ` [PATCH net-next 10/15] net: stmmac: simplify stmmac_set_queue_rx_buf_size() Russell King (Oracle)
2026-03-11 9:53 ` [PATCH net-next 11/15] net: stmmac: add helper to get hardware transmit descriptor Russell King (Oracle)
2026-03-11 9:53 ` [PATCH net-next 12/15] net: stmmac: add helper to get size of a " Russell King (Oracle)
2026-03-11 9:53 ` [PATCH net-next 13/15] net: stmmac: add helper to set transmit tail pointer Russell King (Oracle)
2026-03-11 9:53 ` [PATCH net-next 14/15] net: stmmac: remove tx_tail_addr Russell King (Oracle)
2026-03-11 9:53 ` [PATCH net-next 15/15] net: stmmac: use queue rather than ->queue_index Russell King (Oracle)
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=abJ_Le1xOP6roesb@shell.armlinux.org.uk \
--to=linux@armlinux.org.uk \
--cc=alexandre.torgue@foss.st.com \
--cc=andrew+netdev@lunn.ch \
--cc=andrew@lunn.ch \
--cc=ast@kernel.org \
--cc=bpf@vger.kernel.org \
--cc=daniel@iogearbox.net \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=hawk@kernel.org \
--cc=kuba@kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-stm32@st-md-mailman.stormreply.com \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=sdf@fomichev.me \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.