[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <LV1PR11MB879063320A71E52DCDAD42FE90F0A@LV1PR11MB8790.namprd11.prod.outlook.com>
Date: Thu, 23 Oct 2025 00:00:06 +0000
From: "Nowlin, Alexander" <alexander.nowlin@...el.com>
To: "Lobakin, Aleksander" <aleksander.lobakin@...el.com>,
"intel-wired-lan@...ts.osuosl.org" <intel-wired-lan@...ts.osuosl.org>
CC: "Lobakin, Aleksander" <aleksander.lobakin@...el.com>, "Nguyen, Anthony L"
<anthony.l.nguyen@...el.com>, "Kitszel, Przemyslaw"
<przemyslaw.kitszel@...el.com>, Andrew Lunn <andrew+netdev@...n.ch>, "David
S. Miller" <davem@...emloft.net>, Eric Dumazet <edumazet@...gle.com>, "Jakub
Kicinski" <kuba@...nel.org>, Paolo Abeni <pabeni@...hat.com>, Simon Horman
<horms@...nel.org>, NXNE CNSE OSDT ITP Upstreaming
<nxne.cnse.osdt.itp.upstreaming@...el.com>, "netdev@...r.kernel.org"
<netdev@...r.kernel.org>, "linux-kernel@...r.kernel.org"
<linux-kernel@...r.kernel.org>
Subject: RE: [Intel-wired-lan] [PATCH iwl-next] ice: implement configurable
header split for regular Rx
> -----Original Message-----
> From: Intel-wired-lan <intel-wired-lan-bounces@...osl.org> On Behalf Of Alexander Lobakin
> Sent: Monday, October 6, 2025 9:21 AM
> To: intel-wired-lan@...ts.osuosl.org
> Cc: Lobakin, Aleksander <aleksander.lobakin@...el.com>; Nguyen, Anthony L <anthony.l.nguyen@...el.com>; Kitszel, Przemyslaw <przemyslaw.kitszel@...el.com>; Andrew Lunn <andrew+netdev@...n.ch>;
> David S. Miller <davem@...emloft.net>; Eric Dumazet <edumazet@...gle.com>; Jakub Kicinski <kuba@...nel.org>; Paolo Abeni <pabeni@...hat.com>; Simon Horman <horms@...nel.org>; NXNE CNSE
> OSDT ITP Upstreaming <nxne.cnse.osdt.itp.upstreaming@...el.com>; netdev@...r.kernel.org; linux-kernel@...r.kernel.org
> Subject: [Intel-wired-lan] [PATCH iwl-next] ice: implement configurable header split for regular Rx
>
> Add second page_pool for header buffers to each Rx queue and ability to toggle the header split on/off using Ethtool (default to off to match the current behaviour).
> Unlike idpf, all HW backed up by ice doesn't require any W/As and correctly splits all types of packets as configured: after L4 headers for TCP/UDP/SCTP, after L3 headers for other IPv4/IPv6 frames, after the Ethernet header otherwise (in case of tunneling, same as above, but after innermost headers).
> This doesn't affect the XSk path as there are no benefits of having it there.
>
> Signed-off-by: Alexander Lobakin <aleksander.lobakin@...el.com>
> ---
> Applies on top of Tony's next-queue, depends on MichaĆ's Page Pool conversion series.
>
> Sending for review and validation purposes.
>
> Testing hints: traffic testing with and without header split enabled.
> The header split can be turned on/off using Ethtool:
>
> sudo ethtool -G <iface> tcp-data-split on (or off)
> ---
> drivers/net/ethernet/intel/ice/ice.h | 1 +
> .../net/ethernet/intel/ice/ice_lan_tx_rx.h | 3 +
> drivers/net/ethernet/intel/ice/ice_txrx.h | 7 ++
> drivers/net/ethernet/intel/ice/ice_base.c | 89 +++++++++++++++----
> drivers/net/ethernet/intel/ice/ice_ethtool.c | 15 +++-
> drivers/net/ethernet/intel/ice/ice_txrx.c | 89 +++++++++++++++----
> 6 files changed, 168 insertions(+), 36 deletions(-)
Tested-by: Alexander Nowlin <alexander.nowlin@...el.com>
Powered by blists - more mailing lists