[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <IA1PR11MB6241BDBF2A80464F9F5142528B3AA@IA1PR11MB6241.namprd11.prod.outlook.com>
Date: Fri, 29 Aug 2025 06:14:39 +0000
From: "Rinitha, SX" <sx.rinitha@...el.com>
To: "Kubiak, Michal" <michal.kubiak@...el.com>,
"intel-wired-lan@...ts.osuosl.org" <intel-wired-lan@...ts.osuosl.org>
CC: "Fijalkowski, Maciej" <maciej.fijalkowski@...el.com>, "Lobakin,
Aleksander" <aleksander.lobakin@...el.com>, "Keller, Jacob E"
<jacob.e.keller@...el.com>, "Zaremba, Larysa" <larysa.zaremba@...el.com>,
"netdev@...r.kernel.org" <netdev@...r.kernel.org>, "Kitszel, Przemyslaw"
<przemyslaw.kitszel@...el.com>, "pmenzel@...gen.mpg.de"
<pmenzel@...gen.mpg.de>, "Nguyen, Anthony L" <anthony.l.nguyen@...el.com>,
"Kubiak, Michal" <michal.kubiak@...el.com>
Subject: RE: [Intel-wired-lan] [PATCH iwl-next v2 2/3] ice: drop page
splitting and recycling
> -----Original Message-----
> From: Intel-wired-lan <intel-wired-lan-bounces@...osl.org> On Behalf Of Michal Kubiak
> Sent: 08 August 2025 21:27
> To: intel-wired-lan@...ts.osuosl.org
> Cc: Fijalkowski, Maciej <maciej.fijalkowski@...el.com>; Lobakin, Aleksander <aleksander.lobakin@...el.com>; Keller, Jacob E <jacob.e.keller@...el.com>; Zaremba, Larysa <larysa.zaremba@...el.com>; netdev@...r.kernel.org; Kitszel, Przemyslaw <przemyslaw.kitszel@...el.com>; pmenzel@...gen.mpg.de; Nguyen, Anthony L <anthony.l.nguyen@...el.com>; Kubiak, Michal <michal.kubiak@...el.com>
> Subject: [Intel-wired-lan] [PATCH iwl-next v2 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@...el.com>
> Signed-off-by: Alexander Lobakin <aleksander.lobakin@...el.com>
> Reviewed-by: Alexander Lobakin <aleksander.lobakin@...el.com>
> Signed-off-by: Michal Kubiak <michal.kubiak@...el.com>
> ---
> drivers/net/ethernet/intel/ice/ice.h | 2 +
> drivers/net/ethernet/intel/ice/ice_base.c | 26 ++--
> drivers/net/ethernet/intel/ice/ice_txrx.c | 136 ++----------------
> drivers/net/ethernet/intel/ice/ice_txrx.h | 8 --
> drivers/net/ethernet/intel/ice/ice_virtchnl.c | 5 +-
> 5 files changed, 25 insertions(+), 152 deletions(-)
>
Tested-by: Rinitha S <sx.rinitha@...el.com> (A Contingent worker at Intel)
Powered by blists - more mailing lists