[Intel-wired-lan] [PATCH iwl-next 0/3] iavf: defer loading netmem_desc
Alexander Lobakin
aleksander.lobakin at intel.com
Fri Jul 31 15:13:46 UTC 2026
From: Matt Vollrath <tactii at gmail.com>
Date: Fri, 31 Jul 2026 08:41:06 -0400
> In a few places libeth and the iavf driver inspect which page pool is
> attached to a netmem_ref. This forces an immediate load of the
> netmem_desc struct for each buffer in the Rx loop.
>
> Defer or eliminate these loads of netmem_desc from the driver fast path
> by using the page_pool ref in the first cache line of iavf_ring instead.
I was thinking of this when implementing the current design, but:
Do you have any data to prove this actually helps performance?
>
> There are only two paths out of the Rx loop where netmem_desc needs to
> be consumed:
> * The "very rare" case of libeth_rx_sync_for_cpu calling
> libeth_rx_recycle_slow and indicating that there was no data. This
> could be similarly factored out, but not by this series.
> * GRO merging a frame into an existing aggregate stream. In this case,
> the cold load of netmem_desc may overlap the payload prefetch started
> by iavf_build_skb, which is now no longer dependent on netmem_desc to
> start.
Thanks,
Olek
More information about the Intel-wired-lan
mailing list