netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH RESEND net-next v14 0/5] ethtool: provide the dim profile fine-tuning channel
@ 2024-06-18  2:56 Heng Qi
  2024-06-18  2:56 ` [PATCH RESEND net-next v14 1/5] linux/dim: move useful macros to .h file Heng Qi
                   ` (5 more replies)
  0 siblings, 6 replies; 17+ messages in thread
From: Heng Qi @ 2024-06-18  2:56 UTC (permalink / raw)
  To: netdev, virtualization
  Cc: Jakub Kicinski, David S . Miller, Paolo Abeni, Eric Dumazet,
	Jason Wang, Michael S . Tsirkin, Brett Creeley, Ratheesh Kannoth,
	Alexander Lobakin, Xuan Zhuo, Tal Gilboa, Jonathan Corbet,
	linux-doc, Maxime Chevallier, Jiri Pirko, Paul Greenwalt,
	Ahmed Zaki, Vladimir Oltean, Kory Maincent, Andrew Lunn,
	justinstitt, donald.hunter, Eugenio Pérez, Andrew Morton,
	Dragos Tatulea, Rahul Rameshbabu, Heiner Kallweit,
	Przemek Kitszel, awel Dembicki

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
=====
Jakub feedback: Use RESEND to refresh the review queue.

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(-)

-- 
2.32.0.3.g01195cf9f


^ permalink raw reply	[flat|nested] 17+ messages in thread

end of thread, other threads:[~2024-06-21  6:33 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-06-18  2:56 [PATCH RESEND net-next v14 0/5] ethtool: provide the dim profile fine-tuning channel Heng Qi
2024-06-18  2:56 ` [PATCH RESEND net-next v14 1/5] linux/dim: move useful macros to .h file Heng Qi
2024-06-20 12:11   ` Simon Horman
2024-06-18  2:56 ` [PATCH RESEND net-next v14 2/5] dim: make DIMLIB dependent on NET Heng Qi
2024-06-20 12:12   ` Simon Horman
2024-06-18  2:56 ` [PATCH RESEND net-next v14 3/5] ethtool: provide customized dim profile management Heng Qi
2024-06-20 12:13   ` Simon Horman
2024-06-21  3:39   ` Jakub Kicinski
2024-06-21  6:28     ` Heng Qi
2024-06-21  3:44   ` Jakub Kicinski
2024-06-21  6:33     ` Heng Qi
2024-06-18  2:56 ` [PATCH RESEND net-next v14 4/5] dim: add new interfaces for initialization and getting results Heng Qi
2024-06-20 12:13   ` Simon Horman
2024-06-18  2:56 ` [PATCH RESEND net-next v14 5/5] virtio-net: support dim profile fine-tuning Heng Qi
2024-06-20 12:13   ` Simon Horman
2024-06-21  3:40 ` [PATCH RESEND net-next v14 0/5] ethtool: provide the dim profile fine-tuning channel Jakub Kicinski
2024-06-21  3:44   ` Heng Qi

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).