Message ID | 20240603154727.31998-1-hengqi@linux.alibaba.com (mailing list archive) |
---|---|
Headers | show |
Series | ethtool: provide the dim profile fine-tuning channel | expand |
Gentle ping. Thanks. 在 2024/6/3 下午11:47, Heng Qi 写道: > The NetDIM library provides excellent acceleration for many modern > network cards. However, the default profiles of DIM limits its maximum > capabilities for different NICs, so providing a way which the NIC can > be custom configured is necessary. > > Currently, the way is based on the commonly used "ethtool -C". > > Please review, thank you very much! > > Changelog > ===== > v13->v14: > - Make DIMLIB dependent on NET (patch 2/5). > > v12->v13: > - Rebase net-next to fix the one-line conflict. > - Update tiny comments. > - Config ETHTOOL_NETLINK to select DIMLIB. > > v11->v12: > - Remove the use of IS_ENABLED(DIMLIB). > - Update Simon's htmldoc hint. > > v10->v11: > - Fix and clean up some issues from Kuba, thanks. > - Rebase net-next/main > > v9->v10: > - Collect dim related flags/mode/work into one place. > - Use rx_profile + tx_profile instead of four profiles. > - Add several helps. > - Update commit logs. > > v8->v9: > - Fix the compilation error of conflicting names of rx_profile in > dim.h and ice driver: in dim.h, rx_profile is replaced with > dim_rx_profile. So does tx_profile. > > v7->v8: > - Use kmemdup() instead of kzalloc()/memcpy() in dev_dim_profile_init(). > > v6->v7: > - A new wrapper struct pointer is used in struct net_device. > - Add IS_ENABLED(CONFIG_DIMLIB) to avoid compiler warnings. > - Profile fields changed from u16 to u32. > > v5->v6: > - Place the profile in netdevice to bypass the driver. > The interaction code of ethtool <-> kernel has not changed at all, > only the interaction part of kernel <-> driver has changed. > > v4->v5: > - Update some snippets from Kuba. > > v3->v4: > - Some tiny updates and patch 1 only add a new comment. > > v2->v3: > - Break up the attributes to avoid the use of raw c structs. > - Use per-device profile instead of global profile in the driver. > > v1->v2: > - Use ethtool tool instead of net-sysfs. > > Heng Qi (5): > linux/dim: move useful macros to .h file > dim: make DIMLIB dependent on NET > ethtool: provide customized dim profile management > dim: add new interfaces for initialization and getting results > virtio-net: support dim profile fine-tuning > > Documentation/netlink/specs/ethtool.yaml | 31 +++ > Documentation/networking/ethtool-netlink.rst | 4 + > Documentation/networking/net_dim.rst | 42 +++ > drivers/net/virtio_net.c | 54 +++- > drivers/soc/fsl/Kconfig | 2 +- > include/linux/dim.h | 113 ++++++++ > include/linux/ethtool.h | 4 +- > include/linux/netdevice.h | 3 + > include/uapi/linux/ethtool_netlink.h | 22 ++ > lib/Kconfig | 1 + > lib/dim/net_dim.c | 144 +++++++++- > net/Kconfig | 1 + > net/ethtool/coalesce.c | 263 ++++++++++++++++++- > 13 files changed, 667 insertions(+), 17 deletions(-) >