Centos-kernel-stream-9/lib/dim
Michal Schmidt a4fa64a452 ethtool: provide customized dim profile management
JIRA: https://issues.redhat.com/browse/RHEL-57750

commit f750dfe825b904164688adeb147950e0e0c4d262
Author: Heng Qi <hengqi@linux.alibaba.com>
Date:   Fri Jun 21 18:13:51 2024 +0800

    ethtool: provide customized dim profile management

    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
    ========
    The target NIC is named ethx.

    Assume that ethx only declares support for rx profile setting
    (with DIM_PROFILE_RX flag set in profile_flags) and supports modification
    of usec and pkt fields.

    1. Query the currently customized list of the device

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

    2. Tune
    $ ethtool -C ethx rx-profile 1,1,n_2,n,n_3,3,n_4,4,n_n,5,n
    "n" means do not modify this field.
    $ ethtool -c ethx
    ...
    rx-profile:
    {.usec =   1, .pkts =   1, .comps = n/a,},
    {.usec =   2, .pkts = 256, .comps = n/a,},
    {.usec =   3, .pkts =   3, .comps = n/a,},
    {.usec =   4, .pkts =   4, .comps = n/a,},
    {.usec = 256, .pkts =   5, .comps = n/a,}
    tx-profile:   n/a

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

    If the "n/a" field is being modified, -EOPNOTSUPP will be reported.

    Signed-off-by: Heng Qi <hengqi@linux.alibaba.com>
    Reviewed-by: Simon Horman <horms@kernel.org>
    Link: https://patch.msgid.link/20240621101353.107425-4-hengqi@linux.alibaba.com
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>

Conflicts:
	include/linux/netdevice.h - RH_KABI_RESERVEs at the end.

Signed-off-by: Michal Schmidt <mschmidt@redhat.com>
2024-10-01 12:19:13 +02:00
..
Makefile
dim.c
net_dim.c ethtool: provide customized dim profile management 2024-10-01 12:19:13 +02:00
rdma_dim.c Revert "lib: Revert use of fallthrough pseudo-keyword in lib/" 2020-11-18 14:15:17 -06:00