[PATCH v3 0/3] introduce maximum Rx buffer size

lihuisong (C) lihuisong at huawei.com
Thu Nov 2 02:59:01 CET 2023


在 2023/11/2 0:08, Stephen Hemminger 写道:
> On Wed, 1 Nov 2023 10:36:07 +0800
> "lihuisong (C)" <lihuisong at huawei.com> wrote:
>
>>> Do we need to report this size? It's a common feature for all PMDs.
>>> It would make sense then to have max_rx_bufsize set to 16K by default
>>> in ethdev, and PMD could then raise/lower based on hardware.
>> It is not appropriate to set to 16K by default in ethdev layer.
>> Because I don't see any check for the upper bound in some driver, like
>> axgbe, enetc and so on.
>> I'm not sure if they have no upper bound.
>> And some driver's maximum buffer size is "16384(16K) - 128"
>> So it's better to set to UINT32_MAX by default.
>> what do you think?
> The goal is always giving application a working upper bound, and enforcing
> that as much as possible in ethdev layer. It doesnt matter which pattern
> does that.  Fortunately, telling application an incorrect answer is not fatal.
> If over estimated, application pool would be wasting space.
> If under estimated, application will get more fragmented packets.
I know what you mean.
If we set UINT32_MAX, it just means that driver don't report this upper 
bound.
This is also a very common way of handling. And it has no effect on the 
drivers that doesn't report this value.
On the contrary, if we set a default value (like 16K) in ethdev, user 
may be misunderstood and confused by that, right?
After all, this isn't the real upper bound of all drivers. And this 
fixed default value may affect the behavior of some driver that I didn't 
find their upper bound.
So I'd like to keep it as UINT32_MAX.
>
> .


More information about the dev mailing list