mbox series

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

Message ID 1712547870-112976-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 8, 2024, 3:44 a.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
=====
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     |  29 +++++
 Documentation/networking/ethtool-netlink.rst |   8 ++
 drivers/net/virtio_net.c                     |  81 +++++++++++---
 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                       | 160 ++++++++++++++++++++++++++-
 8 files changed, 347 insertions(+), 60 deletions(-)