[Intel-wired-lan] [PATCH iwl-next v3 2/3] ice: drop page splitting and recycling

Sanigani, SarithaX sarithax.sanigani at intel.com
Fri Oct 31 04:59:08 UTC 2025


> -----Original Message-----

> From: Intel-wired-lan <intel-wired-lan-bounces at osuosl.org<mailto:intel-wired-lan-bounces at osuosl.org>> On Behalf Of Michal Kubiak

> Sent: Thursday, September 25, 2025 2:53 PM

> To: intel-wired-lan at lists.osuosl.org<mailto:intel-wired-lan at lists.osuosl.org>

> Cc: Fijalkowski, Maciej <maciej.fijalkowski at intel.com<mailto:maciej.fijalkowski at intel.com>>; Lobakin, Aleksander <aleksander.lobakin at intel.com<mailto:aleksander.lobakin at intel.com>>;

> Keller, Jacob E <jacob.e.keller at intel.com<mailto:jacob.e.keller at intel.com>>; Zaremba, Larysa <larysa.zaremba at intel.com<mailto:larysa.zaremba at intel.com>>; netdev at vger.kernel.org<mailto:netdev at vger.kernel.org>;

> Kitszel, Przemyslaw <przemyslaw.kitszel at intel.com<mailto:przemyslaw.kitszel at intel.com>>; pmenzel at molgen.mpg.de<mailto:pmenzel at molgen.mpg.de>; Nguyen, Anthony L <anthony.l.nguyen at intel.com<mailto:anthony.l.nguyen at intel.com>>; Kubiak, Michal <michal.kubiak at intel.com<mailto:michal.kubiak at intel.com>>

> Subject: [Intel-wired-lan] [PATCH iwl-next v3 2/3] ice: drop page splitting and recycling

>

> As part of the transition toward Page Pool integration, remove the legacy page splitting and recycling logic from the ice driver.

> This mirrors the approach taken in commit 920d86f3c552 ("iavf: drop page splitting and recycling").

>

> The previous model attempted to reuse partially consumed pages by splitting them and tracking their usage across descriptors.

> While this was once a memory optimization, it introduced significant >complexity and overhead in the Rx path, including:

> - Manual refcount management and page reuse heuristics;

> - Per-descriptor buffer shuffling, which could involve moving dozens

> of `ice_rx_buf` structures per NAPI cycle;

> - Increased branching and cache pressure in the hotpath.

>

> This change simplifies the Rx logic by always allocating fresh pages and letting the networking stack handle their lifecycle.

> Although this may temporarily reduce performance(up to ~98% in some XDP cases), it greatly improves maintainability and paves the way for Page Pool,

> which will restore and exceed previous performance levels.

>

> The `ice_rx_buf` array is retained for now to minimize diffstat and ease future replacement with a shared buffer abstraction.

>

> Co-developed-by: Alexander Lobakin <aleksander.lobakin at intel.com<mailto:aleksander.lobakin at intel.com>>

> Signed-off-by: Alexander Lobakin <aleksander.lobakin at intel.com<mailto:aleksander.lobakin at intel.com>>

> Reviewed-by: Alexander Lobakin <aleksander.lobakin at intel.com<mailto:aleksander.lobakin at intel.com>>

> Reviewed-by: Jacob Keller <jacob.e.keller at intel.com<mailto:jacob.e.keller at intel.com>>

> Signed-off-by: Michal Kubiak <michal.kubiak at intel.com<mailto:michal.kubiak at intel.com>>

> ---

> drivers/net/ethernet/intel/ice/ice.h         |   2 +

> drivers/net/ethernet/intel/ice/ice_base.c    |  29 ++--

> drivers/net/ethernet/intel/ice/ice_txrx.c    | 139 ++-----------------

> drivers/net/ethernet/intel/ice/ice_txrx.h    |  72 ----------

> drivers/net/ethernet/intel/ice/virt/queues.c |   5 +-

> 5 files changed, 24 insertions(+), 223 deletions(-)
>


Tested-by: Saritha Sanigani <sarithax.sanigani at intel.com<mailto:sarithax.sanigani at intel.com>> (A Contingent Worker at Intel)




-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osuosl.org/pipermail/intel-wired-lan/attachments/20251031/9b1459de/attachment-0001.htm>


More information about the Intel-wired-lan mailing list