[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <aAwYvE_H68kZ4L85@LQ3V64L9R2>
Date: Fri, 25 Apr 2025 16:20:28 -0700
From: Joe Damato <jdamato@...tly.com>
To: Jakub Kicinski <kuba@...nel.org>
Cc: Mina Almasry <almasrymina@...gle.com>, davem@...emloft.net,
netdev@...r.kernel.org, edumazet@...gle.com, pabeni@...hat.com,
andrew+netdev@...n.ch, horms@...nel.org, donald.hunter@...il.com,
sdf@...ichev.me, dw@...idwei.uk, asml.silence@...il.com,
ap420073@...il.com, dtatulea@...dia.com, michael.chan@...adcom.com
Subject: Re: [RFC net-next 01/22] docs: ethtool: document that rx_buf_len
must control payload lengths
On Fri, Apr 25, 2025 at 03:50:34PM -0700, Jakub Kicinski wrote:
> On Wed, 23 Apr 2025 13:08:33 -0700 Mina Almasry wrote:
> > On Mon, Apr 21, 2025 at 3:28 PM Jakub Kicinski <kuba@...nel.org> wrote:
> > > @@ -971,6 +970,11 @@ completion queue size can be adjusted in the driver if CQE size is modified.
> > > header / data split feature. If a received packet size is larger than this
> > > threshold value, header and data will be split.
> > >
> > > +``ETHTOOL_A_RINGS_RX_BUF_LEN`` controls the size of the buffer chunks driver
> > > +uses to receive packets. If the device uses different memory polls for headers
> > > +and payload this setting may control the size of the header buffers but must
> > > +control the size of the payload buffers.
> >
> > FWIW I don't like the ambiguity that the setting may or may not apply
> > to header buffers. AFAIU header buffers are supposed to be in the
> > order of tens/hundreds of bytes while the payload buffers are 1-2
> > orders of magnitude larger. Why would a driver even want this setting
> > to apply for both? I would prefer this setting to apply to only
> > payload buffers.
>
> Okay, I have no strong reason to leave the ambiguity.
>
> Converging the thread with Joe:
>
> >> Document the semantics of the rx_buf_len ethtool ring param.
> >> Clarify its meaning in case of HDS, where driver may have
> >> two separate buffer pools.
> >
> > FWIW the docs added below don't explicitly mention HDS, but I
> > suppose that is implied from the multiple memory pools? Not sure if
> > it's worth elucidating that.
>
> Maybe not sufficiently. Some NICs just have buffer pools for different
> sized packets, but than the buffer size should be implied by the size
> range?
>
>
> How about:
>
> ``ETHTOOL_A_RINGS_RX_BUF_LEN`` controls the size of the buffers driver
> uses to receive packets. If the device uses different buffer pools for
> headers and payload (due to HDS, HW-GRO etc.) this setting must
> control the size of the payload buffers.
SGTM
Powered by blists - more mailing lists