mbox series

[net-next,v5,0/4] ethtool: provide the dim profile fine-tuning channel

Message ID 1712664204-83147-1-git-send-email-hengqi@linux.alibaba.com (mailing list archive)
Headers show
Series ethtool: provide the dim profile fine-tuning channel | expand

Message

Heng Qi April 9, 2024, 12:03 p.m. UTC
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, interaction with the driver is still based on the commonly
used "ethtool -C". The driver declares its supported parameters based
on .supported_coalesce_params, and implements driver-related custom
restrictions in .set_coalesce and .get_coalesce.

Please review, thank you very much!

Changelog
=====
v4->v5:
  - Update some snippets from Kuba, Thanks.

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

V1 link:
https://lore.kernel.org/all/1710421773-61277-1-git-send-email-hengqi@linux.alibaba.com/#r

Heng Qi (4):
  ethtool: provide customized dim profile management
  linux/dim: move profiles from .c to .h file
  virtio-net: refactor dim initialization/destruction
  virtio-net: support dim profile fine-tuning

 Documentation/netlink/specs/ethtool.yaml     |  33 +++++
 Documentation/networking/ethtool-netlink.rst |   8 ++
 drivers/net/virtio_net.c                     |  78 ++++++++++--
 include/linux/dim.h                          |  45 +++++++
 include/linux/ethtool.h                      |  16 ++-
 include/uapi/linux/ethtool_netlink.h         |  24 ++++
 lib/dim/net_dim.c                            |  44 -------
 net/ethtool/coalesce.c                       | 172 ++++++++++++++++++++++++++-
 8 files changed, 360 insertions(+), 60 deletions(-)