[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <eadd2a9a-1c48-4329-a021-1b7c8d8b86ff@gmail.com>
Date: Tue, 14 Oct 2025 13:50:45 +0100
From: Pavel Begunkov <asml.silence@...il.com>
To: Mina Almasry <almasrymina@...gle.com>, Jakub Kicinski <kuba@...nel.org>
Cc: netdev@...r.kernel.org, Andrew Lunn <andrew@...n.ch>,
davem@...emloft.net, Eric Dumazet <edumazet@...gle.com>,
Paolo Abeni <pabeni@...hat.com>, Simon Horman <horms@...nel.org>,
Donald Hunter <donald.hunter@...il.com>,
Michael Chan <michael.chan@...adcom.com>,
Pavan Chebbi <pavan.chebbi@...adcom.com>,
Jesper Dangaard Brouer <hawk@...nel.org>,
John Fastabend <john.fastabend@...il.com>,
Stanislav Fomichev <sdf@...ichev.me>, Joshua Washington
<joshwash@...gle.com>, Harshitha Ramamurthy <hramamurthy@...gle.com>,
Jian Shen <shenjian15@...wei.com>, Salil Mehta <salil.mehta@...wei.com>,
Jijie Shao <shaojijie@...wei.com>, Sunil Goutham <sgoutham@...vell.com>,
Geetha sowjanya <gakula@...vell.com>, Subbaraya Sundeep
<sbhatta@...vell.com>, hariprasad <hkelam@...vell.com>,
Bharat Bhushan <bbhushan2@...vell.com>, Saeed Mahameed <saeedm@...dia.com>,
Tariq Toukan <tariqt@...dia.com>, Mark Bloch <mbloch@...dia.com>,
Leon Romanovsky <leon@...nel.org>, Alexander Duyck <alexanderduyck@...com>,
kernel-team@...a.com, Ilias Apalodimas <ilias.apalodimas@...aro.org>,
Joe Damato <joe@...a.to>, David Wei <dw@...idwei.uk>,
Willem de Bruijn <willemb@...gle.com>, Breno Leitao <leitao@...ian.org>,
Dragos Tatulea <dtatulea@...dia.com>, linux-kernel@...r.kernel.org,
linux-doc@...r.kernel.org, linux-rdma@...r.kernel.org,
Jonathan Corbet <corbet@....net>
Subject: Re: [PATCH net-next v4 00/24][pull request] Queue configs and large
buffer providers
On 10/14/25 05:41, Mina Almasry wrote:
> On Mon, Oct 13, 2025 at 10:54 AM Jakub Kicinski <kuba@...nel.org> wrote:
>>
>> On Mon, 13 Oct 2025 15:54:02 +0100 Pavel Begunkov wrote:
>>> Jakub Kicinski (20):
>>> docs: ethtool: document that rx_buf_len must control payload lengths
>>> net: ethtool: report max value for rx-buf-len
>>> net: use zero value to restore rx_buf_len to default
>>> net: clarify the meaning of netdev_config members
>>> net: add rx_buf_len to netdev config
>>> eth: bnxt: read the page size from the adapter struct
>>> eth: bnxt: set page pool page order based on rx_page_size
>>> eth: bnxt: support setting size of agg buffers via ethtool
>>> net: move netdev_config manipulation to dedicated helpers
>>> net: reduce indent of struct netdev_queue_mgmt_ops members
>>> net: allocate per-queue config structs and pass them thru the queue
>>> API
>>> net: pass extack to netdev_rx_queue_restart()
>>> net: add queue config validation callback
>>> eth: bnxt: always set the queue mgmt ops
>>> eth: bnxt: store the rx buf size per queue
>>> eth: bnxt: adjust the fill level of agg queues with larger buffers
>>> netdev: add support for setting rx-buf-len per queue
>>> net: wipe the setting of deactived queues
>>> eth: bnxt: use queue op config validate
>>> eth: bnxt: support per queue configuration of rx-buf-len
>>
>> I'd like to rework these a little bit.
>> On reflection I don't like the single size control.
>> Please hold off.
>>
>
> FWIW when I last looked at this I didn't like that the size control
> seemed to control the size of the allocations made from the pp, but
> not the size actually posted to the NIC.
>
> I.e. in the scenario where the driver fragments each pp buffer into 2,
> and the user asks for 8K rx-buf-len, the size actually posted to the
> NIC would have actually been 4K (8K / 2 for 2 fragments).
>
> Not sure how much of a concern this really is. I thought it would be
> great if somehow rx-buf-len controlled the buffer sizes actually
> posted to the NIC, because that what ultimately matters, no (it ends
> up being the size of the incoming frags)? Or does that not matter for
> some reason I'm missing?
Maybe we should just make a rule that if hardware doesn't support
the given size, qops should fail, but ultimately the userspace
should be able to handle it either way as gro is packing not
100% reliably.
--
Pavel Begunkov
Powered by blists - more mailing lists