On Fri, Aug 08, 2025 at 03:08:41PM +0200, Paul Menzel wrote:
> Dear Michal,
>
>
> Thank you for your reply.
>
> Am 08.08.25 um 15:04 schrieb Michal Kubiak:
> > On Fri, Aug 08, 2025 at 02:03:43PM +0200, Paul Menzel wrote:
>
> > > Am 08.08.25 um 13:40 schrieb Michal Kubiak:
> > > > On Mon, Jul 07, 2025 at 03:58:37PM -0700, Jacob Keller wrote:
> > > > >
> > > > >
> > > > > On 7/4/2025 9:18 AM, Michal Kubiak wrote:
> > > > > > @@ -1075,16 +780,17 @@ void ice_clean_ctrl_rx_irq(struct
> > > > > > ice_rx_ring *rx_ring)
> > > > > > static int ice_clean_rx_irq(struct ice_rx_ring *rx_ring, int
> > > > > > budget)
> > > >
> > > > [...]
> > > >
> > > > > > @@ -1144,27 +841,35 @@ static int ice_clean_rx_irq(struct
> > > > > > ice_rx_ring *rx_ring, int budget)
> > > > > > if (ice_is_non_eop(rx_ring, rx_desc))
> > > > > > continue;
> > > > > > - ice_get_pgcnts(rx_ring);
> > > > > > xdp_verdict = ice_run_xdp(rx_ring, xdp, xdp_prog,
> > > > > > xdp_ring, rx_desc);
> > > > > > if (xdp_verdict == ICE_XDP_PASS)
> > > > > > goto construct_skb;
> > > > > > - total_rx_bytes += xdp_get_buff_len(xdp);
> > > > > > - total_rx_pkts++;
> > > > > > - ice_put_rx_mbuf(rx_ring, xdp, &xdp_xmit, ntc,
> > > > > > xdp_verdict);
> > > > > > + if (xdp_verdict & (ICE_XDP_TX | ICE_XDP_REDIR))
> > > > > > + xdp_xmit |= xdp_verdict;
> > > > > > + total_rx_bytes += xdp_get_buff_len(&xdp->base);
> > > > > > + total_rx_pkts++;
> > > > > > + xdp->data = NULL;
> > > > > > + rx_ring->first_desc = ntc;
> > > > > > + rx_ring->nr_frags = 0;
> > > > > > continue;
> > > > > > construct_skb:
> > > > > > - skb = ice_build_skb(rx_ring, xdp);
> > > > > > + skb = xdp_build_skb_from_buff(&xdp->base);
> > > > > > +
> > > > > > /* exit if we failed to retrieve a buffer */
> > > > > > if (!skb) {
> > > > > >
> > > > > > rx_ring->ring_stats->rx_stats.alloc_page_failed++;
> > > > >
> > > > > This is not your fault, but we've been incorrectly incrementing
> > > > > alloc_page_failed here instead of alloc_buf_failed.
> > > > >
> > > >
> > > > Sure. It's a good idea to fix it while we're rewriting the Rx path.
> > > > Will be addressed in v2.
> > >
> > > Should this be a separate patch, that can be easily backported?
> > >
> > > […]
>
> > Do you mean that the patch should be included as part of the series, or
> > would
> > you prefer it to be submitted as a standalone patch targeting the 'net'
> > tree?
> Good question. I do not know the rules. My gut would say a separate patch
> for 'net', but the others know best.
>
>
> Kind regards,
>
> Paul
Thank you for your thoughts, Paul!
Finally, I decided to send a separate patch for that fix to the "net" tree.
It seems to be the clearest solution.
The link:
https://lore.kernel.org/intel-wired-lan/[email protected]/
Thanks,
Michal