lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID:
 <AM7PR04MB7142C31C1EA26B48E92042C596EBA@AM7PR04MB7142.eurprd04.prod.outlook.com>
Date: Tue, 14 Oct 2025 09:32:30 +0000
From: Claudiu Manoil <claudiu.manoil@....com>
To: Wei Fang <wei.fang@....com>, Vladimir Oltean <vladimir.oltean@....com>
CC: Clark Wang <xiaoning.wang@....com>, "andrew+netdev@...n.ch"
	<andrew+netdev@...n.ch>, "davem@...emloft.net" <davem@...emloft.net>,
	"edumazet@...gle.com" <edumazet@...gle.com>, "kuba@...nel.org"
	<kuba@...nel.org>, "pabeni@...hat.com" <pabeni@...hat.com>, Frank Li
	<frank.li@....com>, "imx@...ts.linux.dev" <imx@...ts.linux.dev>,
	"netdev@...r.kernel.org" <netdev@...r.kernel.org>,
	"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
Subject: RE: [PATCH net] net: enetc: correct the value of ENETC_RXB_TRUESIZE

> -----Original Message-----
> From: Wei Fang <wei.fang@....com>
> Sent: Tuesday, October 14, 2025 5:20 AM
[...]
> Subject: RE: [PATCH net] net: enetc: correct the value of ENETC_RXB_TRUESIZE
> 
> 
> 
> Best Regards,
> Wei Fang
> 
> > -----Original Message-----
> > From: Claudiu Manoil <claudiu.manoil@....com>
> > Sent: 2025年10月11日 0:24
[...]
> > Subject: RE: [PATCH net] net: enetc: correct the value of
> > ENETC_RXB_TRUESIZE
> >
> >
> >
> > > -----Original Message-----
> > > From: Vladimir Oltean <vladimir.oltean@....com>
> > > Sent: Friday, October 10, 2025 3:49 PM
[...]
> > > Subject: Re: [PATCH net] net: enetc: correct the value of
> > ENETC_RXB_TRUESIZE
> > >
> > > On Fri, Oct 10, 2025 at 05:26:08PM +0800, Wei Fang wrote:
> > > > ENETC_RXB_TRUESIZE indicates the size of half a page, but the page
> > > > size is adjustable, for ARM64 platform, the PAGE_SIZE can be 4K,
> > > > 16K and 64K, so a fixed value '2048' is not correct when the
> > > > PAGE_SIZE is 16K or 64K.
> > > >
> > > > Fixes: d4fd0404c1c9 ("enetc: Introduce basic PF and VF ENETC
> > > > ethernet
> > > > drivers")
> > > > Signed-off-by: Wei Fang <wei.fang@....com>
> > > > ---
> > > >  drivers/net/ethernet/freescale/enetc/enetc.h | 2 +-
> > > >  1 file changed, 1 insertion(+), 1 deletion(-)
> > > >
> > > > diff --git a/drivers/net/ethernet/freescale/enetc/enetc.h
> > > > b/drivers/net/ethernet/freescale/enetc/enetc.h
> > > > index 0ec010a7d640..f279fa597991 100644
> > > > --- a/drivers/net/ethernet/freescale/enetc/enetc.h
> > > > +++ b/drivers/net/ethernet/freescale/enetc/enetc.h
> > > > @@ -76,7 +76,7 @@ struct enetc_lso_t {
> > > >  #define ENETC_LSO_MAX_DATA_LEN		SZ_256K
> > > >
> > > >  #define ENETC_RX_MAXFRM_SIZE	ENETC_MAC_MAXFRM_SIZE
> > > > -#define ENETC_RXB_TRUESIZE	2048 /* PAGE_SIZE >> 1 */
> > > > +#define ENETC_RXB_TRUESIZE	(PAGE_SIZE >> 1)
> > > >  #define ENETC_RXB_PAD		NET_SKB_PAD /* add extra space if
> > > needed */
> > > >  #define ENETC_RXB_DMA_SIZE	\
> > > >  	(SKB_WITH_OVERHEAD(ENETC_RXB_TRUESIZE) - ENETC_RXB_PAD)
> > > > --
> > > > 2.34.1
> > > >
> > >
> > > I wonder why 2048 was preferred, even though PAGE_SIZE >> 1 was in a
> > > comment.
> > > Claudiu, do you remember?
> >
> > Initial driver implementation for enetcv1 was bound to 4k pages, I
> > need to recheck why and get back to you.
> >
> 
> Any updates?

Reviewed RXB_TRUESIZE usage, and confirmed that it's not only used for building
skbs and in the page halves flipping mechanism, but this setting is also accordingly
propagated to the hardware level Rx buffer size configuration (e.g. for Rx S/G).
The allowed h/w Rx buffer size can be up to 64KB, so we would be safe even with
128K pages.
The 'PAGE_SIZE >> 1' comment is actually a TODO item, and I crudely limited
TRUESIZE to 2K to enforce 4K pages in the initial driver (i.e. for simplification).

So, pls go ahead with the configurable RX_TRUESIZE, and note that this opens up
the driver to new usage / performance scenarios, and user configurable Rx buffer
sizes.

Thanks,
Claudiu

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ