在 2024/4/11 下午11:19, Brett Creeley 写道:


On 4/11/2024 7:12 AM, Heng Qi wrote:
Caution: This message originated from an External Source. Use proper caution when opening attachments, clicking links, or responding.


The NetDIM library, currently leveraged by an array of NICs, delivers
excellent acceleration benefits. Nevertheless, NICs vary significantly
in their dim profile list prerequisites.

Specifically, virtio-net backends may present diverse sw or hw device
implementation, making a one-size-fits-all parameter list impractical.
On Alibaba Cloud, the virtio DPU's performance under the default DIM
profile falls short of expectations, partly due to a mismatch in
parameter configuration.

I also noticed that ice/idpf/ena and other NICs have customized
profilelist or placed some restrictions on dim capabilities.

Motivated by this, I tried adding new params for "ethtool -C" that provides a per-device control to modify and access a device's interrupt parameters.

Usage
========
1. Query the currently customized list of the device

$ ethtool -c ethx
...
rx-eqe-profile:
{.usec =   1, .pkts = 256, .comps =   0,},
{.usec =   8, .pkts = 256, .comps =   0,},
{.usec =  64, .pkts = 256, .comps =   0,},
{.usec = 128, .pkts = 256, .comps =   0,},
{.usec = 256, .pkts = 256, .comps =   0,}
rx-cqe-profile:   n/a
tx-eqe-profile:   n/a
tx-cqe-profile:   n/a

2. Tune
$ ethtool -C ethx rx-eqe-profile 1,1,0_2,2,0_3,3,0_4,4,0_5,5,0
$ ethtool -c ethx
...
rx-eqe-profile:
{.usec =   1, .pkts =   1, .comps =   0,},
{.usec =   2, .pkts =   2, .comps =   0,},
{.usec =   3, .pkts =   3, .comps =   0,},
{.usec =   4, .pkts =   4, .comps =   0,},
{.usec =   5, .pkts =   5, .comps =   0,}
rx-cqe-profile:   n/a
tx-eqe-profile:   n/a
tx-cqe-profile:   n/a

3. Hint
If the device does not support some type of customized dim
profiles, the corresponding "n/a" will display.

What if the user specifies a *-eqe-profile and *-cqe-profile for rx and/or tx? Is that supported? If so, which one is the active profile?


I think you mean GET? GET currently does not support any parameters, the working profile will be displayed.


Maybe I missed this, but it doesn't seem like the output from "ethtool -c ethX" shows the active profile it just dumps the profile configurations.

Now it is required that dev->priv_flags is set to one of IFF_PROFILE_{USEC, PKTS, COMPS} (which means that the driver supports configurable profiles) before the profile can be queried or do you want to query without this restriction?

Thanks!


Thanks,

Brett

[snip]


Reply via email to