On Sat, 4 May 2024 14:44:43 +0800, Heng Qi <hengqi@xxxxxxxxxxxxxxxxx> wrote: > 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! Hi, I would like to confirm if there are still comments on the current version, since the current series and the just merged "Remove RTNL lock protection of CVQ" conflict with a line of code with the fourth patch, if I can collect other comments or ack/review tags, then release the new version seems better. Thank you very much! > > Changelog > ===== > 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 (4): > linux/dim: move useful macros to .h file > 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 + > drivers/net/virtio_net.c | 47 +++- > include/linux/dim.h | 114 ++++++++ > include/linux/ethtool.h | 4 +- > include/linux/netdevice.h | 3 + > include/uapi/linux/ethtool_netlink.h | 22 ++ > lib/dim/net_dim.c | 145 ++++++++++- > net/ethtool/coalesce.c | 259 ++++++++++++++++++- > 9 files changed, 613 insertions(+), 16 deletions(-) > > -- > 2.32.0.3.g01195cf9f > >