Re: [Intel-wired-lan] [PATCH iwl-next 0/3] iavf: defer loading netmem_desc
Alexander Lobakin <[email protected]> Fri, 31 Jul 2026 17:13:46 +0200
| Newsgroups | org.osuosl.intel-wired-lan,org.kernel.vger.netdev |
|---|---|
| Message-ID | <[email protected]> |
From: Matt Vollrath <[email protected]> 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